Get $1 credit for every $25 spent!

The Beginner's Guide to Game Development Bundle

Ending In:
Add to Cart - $29.99
Add to Cart ($29.99)
$1,600
98% off
wishlist
Courses
8
Lessons
368

What's Included

Product Details

Access
Lifetime
Content
4.0 hours
Lessons
55

Learn to Create WebXR, VR & AR, Experiences Using Three.JS

Harness the WebXR API & Three.JS to Bring Immersive Experiences, VR and AR, to the Browser, Including Oculus Quest

By Nicholas Lever | in Online Courses

WebXR brings both VR and AR to the browser. The API has the massive forces of Google and Amazon behind it, so it looks like immersive experiences, using only a browser, will make a huge impact shortly. You'll learn how easy it is in this course, using Three.JS to create VR and AR experiences. To get the best from the course, you will need to be comfortable with JavaScript coding. However, no other prerequisites are required. The course includes comprehensive resources and code examples. Each code example comes with two versions, one for you to code and another that is complete in case you hit a problem.

4.6/5 average rating: ★ ★ ★ ★

  • Access 55 lectures & 4 hours of content 24/7
  • Easily create VR & AR apps that work in the browser
  • Use the ThreeJS library to create these apps
  • Handle controllers
  • Replace the controllers with custom models
  • Create architectural walk-throughs, games & training apps
  • Add an in world UI
  • Develop AR apps that support real world hit testing
  • Learn game VR techniques such as teleporting & interacting with models in the scene using controllers
Nicholas Lever | Game Developer
4.4/5 Instructor Rating: ★ ★ ★ ★

After getting a degree in Graphic Design, Nik started work in 1980 as a cartoon animator. He developed a few games using Sinclair Basic and then Assembler. He developed more games in the shareware market. Since then the majority of his working life has been creating games, first in Flash and Director, as Director published the first widely available 3D library that would run in a browser using a plugin.

Nik has worked for the BBC. Johnson and Johnson. Deloitte, Mars Corporation, and many other blue-chip clients. The company he’s run for over 30 years has won a number of awards and been nominated for a BAFTA twice, the UK equivalent to the Oscar.

Important Details

  • Length of time users can access this course: lifetime
  • Access options: desktop & mobile
  • Redemption deadline: redeem your code within 30 days of purchase
  • Experience level required: intermediate
  • Have questions on how digital purchases work? Learn more here

Requirements

  • An intermediate level JavaScript ability is assumed

Course Outline

  • Your First Program
  • Introduction
    • Welcome to the course - 3:40
    • Setting up a secure web server
    • The history of WebXR - 6:09
    • A 3D Primer - 5:11
    • The THREE.js Examples - 6:14
    • What have you learned?
  • A THREE.js Primer
    • Setting up a simple THREE.js page using modules - 6:11
    • Creating a rotating Cube - 9:59
    • The THREE.js editor - 7:36
    • Geometries - 6:30
    • Materials - 5:54
    • Loaders - 6:45
    • What have you learned?
  • Introducing WebXR with THREE.js
    • Converting a standard THREE.js web app to use WebXR - 5:24
    • Customising the VRButton - 11:38
    • Adding user interaction with a controller device - 7:40
    • Adding a button press event to the controller - 9:18
    • Creating a custom controller - 6:40
    • Accessing the gamepad - 9:57
    • Moving around a VR world - 8:13
    • Physics in your VR world - 12:17
    • Creating an AR experience - 6:41
    • Controllers in an AR app - 7:17
    • Touch gestures in an AR app - 10:17
    • Hit testing in AR - 9:29
    • Hand-tracking on the Oculus Quest - 6:15
    • What have you learned?
  • Using complex assets with THREE.js
    • Finding assets online - 6:18
    • Using Mixamo to setup character animations - 2:54
    • Using Blender to export assets - 3:59
    • Using the THREE.js animation system - 7:38
    • What have you learned?
  • The WebXR API
    • XRSystem and XRSession - 3:55
    • XRFrame and XRSpace - 3:25
    • XRInputSource - 5:10
    • What have you learned?
  • Creating an architectural walk-through
    • Moving around an environment - 6:22
    • Interacting with objects in the scene - 6:58
    • Using a GazeController - 3:23
    • Making the app functional on a none XR device - 4:02
    • What have you learned?
  • Fun with AR
    • Using AR to create a tape measure - 10:58
    • Adding dynamic animation to a product - 4:15
    • An AR online shop example - 8:12
    • What have you learned?
  • A VR Game
    • Movement by teleporting - 6:22
    • Interacting with meshes - 5:49
    • Using a controller as a weapon - 8:59
    • What have you learned?
  • VR for training
    • CanvasUI - part 1 - 6:17
    • CanvasUI - part 2 - 3:37
    • Using CanvasUI for training - 8:52
    • What have you learned?
  • Conclusion
    • WebXR examples, articles, videos and repos to inspire and inform you
    • Bonus Lecture

View Full Curriculum


Access
Lifetime
Content
3.0 hours
Lessons
48

Learn GLSL Shaders from Scratch

Bring Your WebGL Alive with Custom Shaders

By Nicholas Lever | in Online Courses

GLSL is how you can use OpenGL to display a surface. The code syntax is based on the C language, but fear not, this course assumes you have literally no knowledge of this language at all and you will learn this from scratch. GLSL uses the GPU (the Graphics Processing Unit) to handle multiple programs at the same time, so it is unbelievably fast.

In the course, you will be writing code for the browser, because this allows us to focus on GLSL, without needing to worry about installing any additional software. You'll be using the THREE.js WebGL library and CodePen so you can instantly edit the source and see the results, needing nothing other than a browser to experiment. Only a small amount of Javascript is used but this will be explained thoroughly as it comes along. But you can also use what you learn about GLSL in a C/C++/C# program or a Python program.

4.4/5 average rating: ★ ★ ★ ★

  • Access 48 lectures & 3 hours of content 24/7
  • Use GLSL to create great shaders
  • Create great image manipulating shaders for cool website effects
  • Combine your shaders with lighting effects
  • Create explosions & fire shaders
  • Create procedural textures
  • Create HUD displays for real-time 3D applications
  • Use shaders to manipulate the geometry of a model
Nicholas Lever | Game Developer
4.4/5 Instructor Rating: ★ ★ ★ ★

After getting a degree in Graphic Design, Nik started work in 1980 as a cartoon animator. He developed a few games using Sinclair Basic and then Assembler. He developed more games in the shareware market. Since then the majority of his working life has been creating games, first in Flash and Director, as Director published the first widely available 3D library that would run in a browser using a plugin.

Nik has worked for the BBC. Johnson and Johnson. Deloitte, Mars Corporation, and many other blue-chip clients. The company he’s run for over 30 years has won a number of awards and been nominated for a BAFTA twice, the UK equivalent to the Oscar.

Important Details

  • Length of time users can access this course: lifetime
  • Access options: desktop & mobile
  • Redemption deadline: redeem your code within 30 days of purchase
  • Experience level required: all levels
  • Have questions on how digital purchases work? Learn more here

Requirements

  • No GLSL knowledge required

Course Outline

  • Introduction
    • Welcome to the course - 3:51
    • Introduction - 3:06
    • Parallel Processing - 2:00
  • First Steps
    • GLSL is not Javascript - 7:00
    • Using THREE.js as your development platform - 7:42
    • Your first shader - 7:30
    • The vec class - 4:21
    • Changing the color using the mouse - 9:57
    • Changing color with time - 4:39
    • Blending colors - 5:51
    • Uniforms and varyings - 4:49
    • Using clamp - 6:02
    • Using step and smoothstep - 4:19
    • What have you learned?
  • Shaping functions
    • Drawing a circle - 2:28
    • Drawing a square - 10:14
    • Moving our shape - 3:47
    • Moving the shape over time - 2:23
    • Rotating the shape - 7:38
    • Changing the rotation centre - 5:48
    • Tiling - 3:21
    • Drawing circles - 5:49
    • Drawing lines - 7:32
    • Combining elements - 8:44
    • Showing a polygon - 6:05
    • A brick pattern - 4:06
    • What have you learned?
  • Noise
    • What's all that noise? - 3:31
    • Using noise to create a fire shader - 5:19
    • Using noise to create wood and marble - 4:12
    • What have you learned?
  • Using textures
    • A simple use of a texture image - 8:41
    • Ripple the image - 5:06
    • Blend between images - 6:16
    • Create a texture from text - 4:46
    • What have you learned?
  • Vertex shaders
    • Turning a box into a sphere - 6:05
    • Using the THREE.js lighting chunks - 3:57
    • Creating an explosion - 6:08
    • What have you learned?
  • Lighting
    • Fresnel shading - 5:32
    • Environment mapping - 5:19
    • Bump mapping - 6:40
    • What have you learned?
  • Post Processing
    • Using the post-processing shaders that come with THREE.js - 5:42
    • Creating a custom post-processing shader - 3:44
    • What have you learned?
  • Conclusion
    • Conclusion - 1:17

View Full Curriculum


Access
Lifetime
Content
2.0 hours
Lessons
38

Create a 3D Multi-Player Game Using Three.js & Socket.IO

Use the WebGL Library Three.Js, Node.Js, & Socket.IO to Create a 3D Multi-Player Game

By Nicholas Lever | in Online Courses

With Socket.IO, it is very easy to create a game where multiple remote players can share data. In this course, you'll start by installing Node.js, a prerequisite of Socket.IO. Node.js is an open-source server environment. You'll make sure Node.js is working correctly and that you understand how to run it by running through a few very simple examples. Having completed the course you will have all the skills necessary to create 3D multi-player games of your own.

4.2/5 average rating: ★ ★ ★ ★

  • Access 38 lectures & 2 hours of content 24/7
  • Use Three.js to show great 3D content in a modern browser, including on mobile devices
  • Learn to use a Node.js server
  • Get great 3D assets from online providers including animation assets
  • Learn to use Socket.IO to create a simple chat app
  • Put all your new skills together to create a 3D game that has remote players that you can interact with
Nicholas Lever | Game Developer
4.4/5 Instructor Rating: ★ ★ ★ ★

After getting a degree in Graphic Design, Nik started work in 1980 as a cartoon animator. He developed a few games using Sinclair Basic and then Assembler. He developed more games in the shareware market. Since then the majority of his working life has been creating games, first in Flash and Director, as Director published the first widely available 3D library that would run in a browser using a plugin.

Nik has worked for the BBC. Johnson and Johnson. Deloitte, Mars Corporation, and many other blue-chip clients. The company he’s run for over 30 years has won a number of awards and been nominated for a BAFTA twice, the UK equivalent to the Oscar.

Important Details

  • Length of time users can access this course: lifetime
  • Access options: desktop & mobile
  • Redemption deadline: redeem your code within 30 days of purchase
  • Experience level required: intermediate
  • Have questions on how digital purchases work? Learn more here

Requirements

  • Only basic JavaScript is assumed

Course Outline

  • Introduction
    • Welcome to the course
    • Introduction - 1:38
  • NODE.js
    • What is NODE.js - 1:54
    • Resources
    • Your first NODE.js app - 6:24
    • What have you learned?
  • Socket.IO
    • What is Socket.IO? - 0:59
    • Your first Socket.IO app - 7:45
    • Connecting a socket to a server - 5:38
    • Create a simple chat app - 7:40
    • Overview of the rooms version of the chat app - 7:09
    • Coding the rooms version of the chat app - 7:53
    • What have you learned?
  • THREE.js
    • The THREE.js website - 1:45
    • 3D basics - 3:32
    • Your first THREE.js web page - 8:30
    • Using FBXLoader - 7:02
    • What have you learned?
    • Trying things out on CodePen
  • 3D assets
    • Sourcing 3D assets online - 2:12
    • Using Mixamo - 2:37
    • Editing assets with Blender - 4:31
  • Blockland
    • Loading assets - 4:26
    • Setting up cameras - 4:40
    • Moving your character - 8:54
    • Constraining to the environment - 10:45
  • Multi-player
    • The Socket.IO app - 5:03
    • A overview of socket events - 5:53
    • Handling the local player - 7:32
    • Handling the NPCs - 7:16
  • Chat
    • Convert text into an image - 8:09
    • Make remote players selectable - 9:21
    • Add chat feature to game - 3:37
  • Taking it live
    • How to map a URL to a specific port address - 4:08
    • How to ensure the node app stays running - 1:12
  • Path Finding
    • Creating a NavMesh - 7:18
    • Using a NavMesh - 9:40
  • Conclusion
    • Top tips - 0:38

View Full Curriculum


Access
Lifetime
Content
2.0 hours
Lessons
31

Create a 3D RPG Game with Three.js

Use Three.js to Create a Stunning WebGL 3D Game That Will Run on All Modern Browsers, Including Mobile Devices

By Nicholas Lever | in Online Courses

Creating 3D games is fun. In this course, you will learn quickly to create a stunning game. The author has won many awards for his 3D browser-based games and he will take you through all the skills you need to create games of your own using the amazing Three.js library. Three.js makes creating WebGL games much easier. You will not need to worry about how to write complex shaders. Instead, the shaders will load from the assets you create in Blender.

4.6/5 average rating: ★ ★ ★ ★

  • Access 31 lectures & 2 hours of content 24/7
  • Set up your development environment
  • Export 3D assets from Blender, including animation
  • Know where to source great 3D assets that you can use in your own games
  • Learn the basics of setting up a Three.js camera, scene, & renderer
  • Add a pre-loader
  • Use the FBXLoader class
  • Master the art of blending animations
  • Use a custom onscreen JoyStick class you can easily add to your own games so that desktop & mobile users get the same experience
  • Smoothly switch camera angles
  • Use simplified geometry to lock your character to the environment
  • Add cut-scenes
  • Add sound to your games that responds to the current camera location
Nicholas Lever | Game Developer
4.4/5 Instructor Rating: ★ ★ ★ ★

After getting a degree in Graphic Design, Nik started work in 1980 as a cartoon animator. He developed a few games using Sinclair Basic and then Assembler. He developed more games in the shareware market. Since then the majority of his working life has been creating games, first in Flash and Director, as Director published the first widely available 3D library that would run in a browser using a plugin.

Nik has worked for the BBC. Johnson and Johnson. Deloitte, Mars Corporation, and many other blue-chip clients. The company he’s run for over 30 years has won a number of awards and been nominated for a BAFTA twice, the UK equivalent to the Oscar.

Important Details

  • Length of time users can access this course: lifetime
  • Access options: desktop & mobile
  • Redemption deadline: redeem your code within 30 days of purchase
  • Experience level required: intermediate
  • Have questions on how digital purchases work? Learn more here

Requirements

  • Text editor
  • Some knowledge of JavaScript

Course Outline

  • Introduction
    • Welcome to the course
    • What are you going to learn - 2:41
    • Setting up a simple web server - 2:47
    • 3D basics - 3:58
    • Introducing THREE.js - 8:45
    • What have you learned?
  • Creating 3D assets
    • Finding environment assets to use in your game - 3:52
    • Using Mixamo characters and animations - 4:10
    • An overview of Blender - 3:39
    • 3D formats - 7:49
    • Editing your assets - 2:36
  • Loading your assets
    • Creating a Preloader - 6:39
    • The THREE.js Animation system - 4:00
    • Using the FBXLoader class - 8:11
  • Character Animation
    • Creating an onscreen joystick - 7:10
    • Switching animations dynamically - 5:32
    • Check your knowledge
  • Moving around your environment
    • Changing camera angle - 6:41
    • Using the Raycaster class to avoid walking through the environment - 5:54
    • Loading the environment - 2:07
    • Creating a simplified version of your environment - 4:47
    • Check your knowledge
  • Interacting with the environment
    • Using proximity testing for custom actions - 7:46
    • Adding cut scenes - 6:25
    • Adding custom animations using a Tween class - 3:46
  • Adding Sound to your game
    • The SFX class - 5:49
    • Adjust volume using proximity - 1:58
  • Pathfinding
    • Creating a NavMesh - 7:18
    • Using a NavMesh - 9:40
  • Conclusion
    • What you've learned - 2:39
    • More ideas for THREE.js games - 0:40

View Full Curriculum


Access
Lifetime
Content
2.0 hours
Lessons
34

Create a 3D Car Racing Game with Three.js & Cannon.js

The Steps You Will Need to Build a Complete Car Racing Game from Scratch

By Nicholas Lever | in Online Courses

Creating a car racing game that works in a browser including mobile devices has never been easier. Using the two Open Source libraries Three.js and Cannon.js this course takes you through the steps you will need to know and builds towards a complete car racing game. It includes the assets for a car racing game as shown in the course image and promo video. The author has won awards for the 3D games he has produced. Learn from an expert who has been creating games for over 30 years. The game we'll develop allows the player to choose from optional, body, engine, exhaust, and wheels. It involves driving a remote-controlled car around a garden track.

4.1/5 average rating: ★ ★ ★ ★

  • Access 34 lectures & 2 hours of content 24/7
  • Have a knowledge of the Three.js library
  • Have a working knowledge of how a physics engine works, particularly Cannon.js
  • Adapt your assets to work with the Cannon RayCastVehicle class
  • Use the position and rotation information from the physics engine & apply it to your assets
  • Use colliders in your scene to prevent your car driving through your 3D
Nicholas Lever | Game Developer
4.4/5 Instructor Rating: ★ ★ ★ ★

After getting a degree in Graphic Design, Nik started work in 1980 as a cartoon animator. He developed a few games using Sinclair Basic and then Assembler. He developed more games in the shareware market. Since then the majority of his working life has been creating games, first in Flash and Director, as Director published the first widely available 3D library that would run in a browser using a plugin.

Nik has worked for the BBC. Johnson and Johnson. Deloitte, Mars Corporation, and many other blue-chip clients. The company he’s run for over 30 years has won a number of awards and been nominated for a BAFTA twice, the UK equivalent to the Oscar.

Important Details

  • Length of time users can access this course: lifetime
  • Access options: desktop & mobile
  • Redemption deadline: redeem your code within 30 days of purchase
  • Experience level required: all levels
  • Have questions on how digital purchases work? Learn more here

Requirements

  • Basic Javascript
  • The tools required are a good text editor and optionally a 3D application program that exports FBX files such as Blender

Course Outline

  • Introduction
    • Welcome to the course
    • Introduction - 2:25
    • Setting up a Web Server - 3:19
    • 3D Basics - 3:58
    • How to get your assets - 3:46
    • Using Blender - 3:39
    • Test your knowledge
  • Introducing THREE.js
    • The THREE.js website - 1:58
    • Your first 3D app - 10:53
    • The FBXLoader class - 4:42
    • Test your knowledge
  • Introducing CANNON.js
    • The CANNON.js website - 2:54
    • CANNON.js basics - 12:03
    • More about rigid bodies - 3:44
    • Debugging your physics - 6:04
    • Test your knowledge
  • The CANNON.RaycastVehicle class
    • Creating a CANNON.RaycastVehicle - 5:38
    • Adding wheels - 5:39
    • Using the JoyStick class to control your vehicle - 5:15
    • Limitations for colliders - 1:12
    • Test your knowledge
  • Adding the eye-candy
    • Sizing your assets - 3:07
    • Adding colliders - 2:32
    • Loading your assets - 9:23
    • Converting the colliders to Cannon Bodies - 8:39
    • Adding a SkyBox - 2:10
    • Adding checkpoints and resetting the car - 2:50
    • Using the Preloader class - 2:02
    • Adding SFX - 3:25
    • Test your knowledge
  • Adding a GUI
    • Limiting the GUI to the corners and the centre - 7:15
    • Adding onclick events - 7:08
    • Controlling the width and height for different screens - 2:24
  • Conclusion
    • What have you learned? - 1:30

View Full Curriculum


Access
Lifetime
Content
3.0 hours
Lessons
38

Create HTML5 Games Using Adobe Animate

Make Resolution Independent HTML5 Games Using Adobe Animate CC

By Nicholas Lever | in Online Courses

The author has created Flash games for clients including the Mars Corporation, BBC, Johnson & Johnson, and Deloittes. He is also the author of two books about using Flash for game development. In this course, he shows how users familiar with Flash can use their existing skills to create great HTML5 games and takes developers unfamiliar with Adobe Animate through the details of using the drawing tools and animation tools to create the assets that will be used in a game. You'll also look at how it is possible to get free vector-based graphics that can then be animated and used in a game.

4.5/5 average rating: ★ ★ ★ ★

  • Access 38 lectures & 3 hours of content 24/7
  • Create great looking games that do not lose any crispness if taken from mobile phone size to large screen TV
  • Learn how to draw & animate with Adobe Animate
  • Add interactivity to the output of a Adobe Animate animation
  • Easily add physics to your games using Matter.js
  • Pep up your Javascript skills with the latest ES6 syntax
Note: Software NOT included.
Nicholas Lever | Game Developer
4.4/5 Instructor Rating: ★ ★ ★ ★

After getting a degree in Graphic Design, Nik started work in 1980 as a cartoon animator. He developed a few games using Sinclair Basic and then Assembler. He developed more games in the shareware market. Since then the majority of his working life has been creating games, first in Flash and Director, as Director published the first widely available 3D library that would run in a browser using a plugin.

Nik has worked for the BBC. Johnson and Johnson. Deloitte, Mars Corporation, and many other blue-chip clients. The company he’s run for over 30 years has won a number of awards and been nominated for a BAFTA twice, the UK equivalent to the Oscar.

Important Details

  • Length of time users can access this course: lifetime
  • Access options: desktop & mobile
  • Redemption deadline: redeem your code within 30 days of purchase
  • Experience level required: all levels
  • Have questions on how digital purchases work? Learn more here

Requirements

  • Adobe Animate CC
  • Knowledge of basic JavaScript

Course Outline

  • Introduction
    • Welcome to the course
    • Introduction - 1:20
    • An overview of the Adobe Animate IDE - 4:25
  • Drawing with Adobe Animate
    • Layers, the timeline and sketching using the Brush Tool - 6:07
    • Using the Line Tool - 6:11
    • Object drawing mode - 4:06
  • Animating with Adobe Animate
    • Using downloaded assets - 4:14
    • Character Rigging with the Bone Tool - 6:51
    • Creating a walk cycle for a boned character - 5:30
    • Tweening - 9:34
    • MovieClips or Graphics - 4:10
  • Adding interactivity
    • Publishing - 7:40
    • Using GitHub - 3:51
    • Using simple goto commands - 10:35
    • Adding a button on click event - 4:29
    • Adding a master Game controller class - 5:37
    • Working with sounds - 6:52
    • The CreateJS website - 3:27
    • What have you learned?
  • Developing a game step by step
    • Step 1: Creating the assets and setting up the code - 7:52
    • Step 2: Moving the ball and adding scoring - 14:15
    • Step 3: Hit testing, lives and new game panel - 8:11
    • Step 4: Adding a character - 2:39
    • What have you learned?
  • A more complex example
    • Overview of Space Cowboy - 9:28
    • Controlling the user character - 8:38
    • Endlessly scrolling backgrounds - 3:24
    • Controlling the Pod and the running Rikon - 7:32
    • Controlling the digging Rikon - 10:06
    • Controlling the alien - 6:30
    • Firing bullets - 6:15
    • Handling the user interface - 5:21
    • Finishing up. Exporting as texture, using WebFonts and adding sound effects - 9:06
  • Using a physics engine
    • Introducing the Matter.js physics engine - 0:55
    • Creating a simple Matter.js example - 8:32
    • A simple example that uses physics - 4:56
    • What have you learned?
  • Conclusion
    • Top ten key points when creating a HTML5 game with Adobe Animate CC - 2:03

View Full Curriculum


Access
Lifetime
Content
7.0 hours
Lessons
60

The Beginners Guide to 3D Web Game Development with Three.js

Write JavaScript Code While Having Fun Creating Games Using the WebGL Library, Three.js

By Nicholas Lever | in Online Courses

The JavaScript programming language is probably the most popular programming language in the world. Companies all around the globe require developers who are proficient with this language. In this course, you'll learn about the language then apply your new skills to create three games. Before you write your first game, you'll use your new JavaScript skills and the popular Open Source library, Three.js to create several simple online 3D apps. Once you know enough about the Three.js library it's time to create your first game. The course builds on the skills you learn. Once you've completed the course you'll be super ready for any challenges an employer throws your way when writing JavaScript code.

4.8/5 average rating: ★ ★ ★ ★

  • Access 60 lectures & 7 hours of content 24/7
  • Code in the most popular program language in the world, JavaScript, in a fun way
  • Learn how to use the in-demand WebGL Open Source library Three.js
  • Add vital skills to your CV
  • Learn key coding techniques by creating fun games
  • Adapt freely available 3D assets so they are game-ready
Nicholas Lever | Game Developer
4.4/5 Instructor Rating: ★ ★ ★ ★

After getting a degree in Graphic Design, Nik started work in 1980 as a cartoon animator. He developed a few games using Sinclair Basic and then Assembler. He developed more games in the shareware market. Since then the majority of his working life has been creating games, first in Flash and Director, as Director published the first widely available 3D library that would run in a browser using a plugin.

Nik has worked for the BBC. Johnson and Johnson. Deloitte, Mars Corporation, and many other blue-chip clients. The company he’s run for over 30 years has won a number of awards and been nominated for a BAFTA twice, the UK equivalent to the Oscar.

Important Details

  • Length of time users can access this course: lifetime
  • Access options: desktop & mobile
  • Redemption deadline: redeem your code within 30 days of purchase
  • Experience level required: beginner
  • Have questions on how digital purchases work? Learn more here

Requirements

  • Beginner to intermediate Java skills (helpful but not required)

Course Outline

  • Introduction
    • Welcome to the course - 3:05
    • Preparing for the course - 6:49
  • JavaScript
    • Variables - 6:49
    • Strings - 6:48
    • Functions - 6:03
    • Conditions - 14:22
    • Arrays - 5:42
    • Objects - 9:17
    • Loops - 7:33
    • Classes - 7:10
    • Modules - 4:28
    • Scope - 7:25
    • Math - 9:59
    • JSON - 8:30
    • What have you learnt?
  • ThreeJS Primer
    • A 3D Primer - 5:15
    • Setting up a simple Three.JS app - 5:02
    • The basis of all Three.JS apps - 10:11
    • Creating a rotating cube - 4:54
    • The Three.JS editor - 7:40
    • Geometries - 8:02
    • Materials - 5:27
    • Loaders - 5:40
    • What have you learnt?
  • Assets
    • Finding assets online - 8:51
    • Using Mixamo to setup character animations - 3:24
    • Using Blender to prepare assets - 8:31
    • Exporting and testing - 11:50
    • What have you learnt?
  • Your First Game
    • First steps - 10:34
    • Adding user input - 6:43
    • Obstacles - 10:18
    • Collisions - 5:33
    • Explosions - 14:21
    • Sound - 9:21
    • What have you learnt?
  • Shooters
    • Preparing the environment - 7:50
    • Creating a navigation mesh - 8:03
    • Loading the environment - 8:46
    • Preparing the NPCs - 6:20
    • Using pathfinding to move the NPCs - 12:28
    • The NPC class - 6:21
    • Patrolling - 3:46
    • The player avatar - 7:12
    • User input - 16:10
    • Gamepads and Onscreen-controllers - 9:55
    • Camera tricks - 6:46
    • Combat - part 1 - 13:29
    • Sound and UI - 6:52
    • Post Processing - 10:51
    • Combat - part 2 - 11:45
    • What have you learnt?
  • Using Physics to Create a Pool Game
    • Introducing CannonJS - 11:16
    • Ball interaction - 14:29
    • A Better Table - 12:42
    • Loading assets - 4:07
    • Controlling hit strength and testing pocketing - 7:04
    • Displaying the UI - 1:35
    • What have you learnt?
  • Conclusion
    • Summary - 2:10

View Full Curriculum


Access
Lifetime
Content
4.0 hours
Lessons
64

Learn Unity Shaders from Scratch

A Complete Guide to Unity ShaderLab & The HLSL Shading Language

By Nicholas Lever | in Online Courses

Unity ShaderLab is how you create custom shaders. It comes in 3 flavors, fixed function, vertex-fragment, and surface shaders. This course won't be looking at the fixed-function route as it is effectively a legacy option and you want to learn modern best practices. The code syntax is based on the C language, but fear not, this class will assume you have literally no knowledge of this language at all and we will, as the course title states, learn this from scratch. A shader uses the GPU (the Graphics Processing Unit) to handle multiple programs at the same time, so it is unbelievably fast. Once you're comfortable with simple shaders, this course will cover advanced effects such as tessellation, transparency, using the stencil buffer, and post-processing.

4.6/5 average rating: ★ ★ ★ ★

  • Access 64 lectures & 4 hours of content 24/7
  • Discover the mysteries of writing Unity shaders
  • Be gently introduced to how to approach the problem of creating a custom shader
  • Learn the full details of the Cg shader language
  • Use the Surface Shader syntax to add custom shaders on top of Unity lighting
  • Start with simple unlit 2D shaders & work up to advanced effects such as volumetric shaders and clipping
Note: Software NOT included.
Nicholas Lever | Game Developer
4.4/5 Instructor Rating: ★ ★ ★ ★

After getting a degree in Graphic Design, Nik started work in 1980 as a cartoon animator. He developed a few games using Sinclair Basic and then Assembler. He developed more games in the shareware market. Since then the majority of his working life has been creating games, first in Flash and Director, as Director published the first widely available 3D library that would run in a browser using a plugin.

Nik has worked for the BBC. Johnson and Johnson. Deloitte, Mars Corporation, and many other blue-chip clients. The company he’s run for over 30 years has won a number of awards and been nominated for a BAFTA twice, the UK equivalent to the Oscar.

Important Details

  • Length of time users can access this course: lifetime
  • Access options: desktop & mobile
  • Redemption deadline: redeem your code within 30 days of purchase
  • Experience level required: all levels
  • Have questions on how digital purchases work? Learn more here

Requirements

  • Basic knowledge of using Unity
  • Some knowledge of a programming language would help but is not assumed

Course Outline

  • Introduction
    • Welcome to the course - 3:20
    • Introduction - 2:53
    • Parallel Processing - 1:48
    • Cg is not C# - 4:42
    • What have you learned?
  • First steps
    • Your first shader - 9:15
    • Working with vectors in Cg - 7:12
    • Using the Properties section - 6:03
    • Blending colours - 8:22
    • Using step and smoothstep - 4:13
    • What have you learned?
  • Shaping Functions
    • Drawing a circle - 2:21
    • Drawing a square - 10:10
    • Moving our shape - 4:13
    • Moving the square with the mouse - 4:25
    • Moving the shape over time - 2:59
    • Rotating the square - 8:06
    • Changing the rotation centre and scaling - 6:28
    • Tiling - 3:33
    • Drawing circles - 5:57
    • Drawing lines - 7:07
    • Combining lines - 8:38
    • Showing a polygon - 5:30
    • Creating a brick pattern - 8:12
    • What have you learned?
  • Noise
    • #pragmas
    • What’s all that noise? - 3:30
    • Using noise to create a fire shader - 6:06
    • Using noise to create wood and marble - 4:02
    • What have you learned?
  • Textures
    • A simple use of a texture image - 7:18
    • Ripple the image - 4:56
    • Blend between textures. - 5:22
    • What have you learned?
  • Vertex shaders
    • Turning a box into a sphere - 4:11
    • Using the Unity lighting - Lambert - 4:16
    • Creating a ball of lava - 5:13
    • What have you learned?
  • Surface shaders
    • ShaderLab Surface Shaders - an introduction - 5:01
    • Bump mapping - 3:33
    • Fresnel shading - 2:09
    • Environment mapping - 2:55
    • Adding a bump map to a reflective surface - 3:13
    • Blinn Phong lighting - 4:31
    • Custom lighting - 6:28
    • Standard lighting - 4:23
    • Adding a vertex function to a surface shader - 3:04
    • What have you learned?
  • Advanced effects
    • Lighting in a vertex, fragment shader - 5:33
    • A position location shader - 4:29
    • Drawing a cross on the floor
    • Tessellation - 6:23
    • Using the stencil buffer - 6:27
    • Clipping the output - 3:07
    • What have you learned?
  • Transparent shaders
    • Alpha transparency in a surface shader - 3:50
    • Space Pirate turns to glass - 7:30
  • Volumetric Shaders
    • Volumetric Rendering - 6:32
    • Using textures in the render - 5:55
  • Post Processing
    • Preparing for post processing - 5:06
    • Night goggles effect - 3:17
    • What have you learned?
  • Conclusion
    • Summary - 1:21
    • Useful links

View Full Curriculum



Terms

  • Unredeemed licenses can be returned for store credit within 30 days of purchase. Once your license is redeemed, all sales are final.