Create a 3D multi-player game using THREE.js and Socket.IO
4.3 (108 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
689 students enrolled

Create a 3D multi-player game using THREE.js and Socket.IO

Learn to use the WebGL library THREE js, NODE.Js and Socket IO to create a 3D multi-player game.
4.3 (108 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
689 students enrolled
Created by Nicholas Lever
Last updated 11/2019
English [Auto]
Current price: $30.99 Original price: $44.99 Discount: 31% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 2.5 hours on-demand video
  • 3 articles
  • 1 downloadable resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • You’ll learn how to use THREE js to show great 3D content in a modern browser, including on mobile devices.
  • Learn to use a NODE js server.
  • Learn how to 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.
Course content
Expand all 34 lectures 02:40:04
+ Introduction
2 lectures 01:56
Welcome to the course

Introducing the course.

Preview 01:38
+ NODE.js
3 lectures 08:36

An overview of NODE.js

Preview 01:54

A simple introduction to using NODE.js

Your first NODE.js app
What have you learned?
4 questions
+ Socket.IO
6 lectures 37:04

An overview of

What is Socket.Io?

A simple introduction to a app.

Your first Socket.IO app

How to connect a client socket to a server side socket.

Preview 05:38

Extending the basic app to send chat messages.

Create a simple chat app

Extend the chat app to use rooms.

Overview of the rooms version of the chat app

Rooms version continued.

Coding the rooms version of the chat app
What have you learned?
4 questions
+ THREE.js
5 lectures 20:53

Introducing the THREE.js website

The THREE.js website

An overview of real-time 3d

Preview 03:32

A first THREE.js app

Your first THREE.js web page

How to use the FBXLoader class.

Using FBXLoader
What have you learned?
4 questions

Link to a useful CodePen resource.

Trying things out on CodePen
+ 3D assets
3 lectures 09:20

Learn how to get great resources online.

Sourcing 3D assets online

Introducing Mixamo a great 3D character and animation resource.

Using Mixamo

Blender is a fully functional 3D application program that is free to use. This is a brief introduction.

Editing assets with Blender
+ Blockland
4 lectures 28:45

How to load your 3d assets in the Blockland game.

Loading assets

Setting up your follow cameras.

Setting up cameras

Use an on screen joystick to move your character.

Moving your character

Stop your characters walking through the environment.

Preview 10:45
+ Multi-player
4 lectures 25:44

Introducing the app server side.

The Socket.IO app

All the events that are emitted in the game.

Preview 05:53

Using the class PlayerLocal to inform the server about the local Player.

Handling the local player

Create, remove and update remote players.

Handling the NPCs
+ Chat
3 lectures 21:07

In our game we have a Speech bubble this video describes how this is created and updated.

Convert text into an image

Using a Raycaster and colliders to make a character selectable.

Make remote players selectable

Pull everything together to add chat to the game.

Add chat feature to game
+ Taking it live
2 lectures 05:20

How to make your great game available online.

How to map a URL to a specific port address

How to make sure your remote app keeps running.

How to ensure the node app stays running
+ Conclusion
2 lectures 01:18

Top tips when using NODE.js and with a THREE.js app.

Top tips

Other courses that the student might like.

Bonus Lecture
  • Only basic JavaScript is assumed

With Socket IO it is very easy to create a game where multiple remote players can share data. In this course we start by installing NODE.js, a prerequisite of Socket IO.  NODE.js is an open source server environment. We make sure NODE.js is working correctly and that you understand how to run it by running through a few very simple examples.

In section 3 we move on to building a simple chat app using Socket IO and I show you how to use the rooms capability of Socket IO to limit inter-Socket communication to groups of sockets that share a room.

Section 4 introduces the WebGL library, THREE.js, and shows how to display assets using this library.

.Section 5 looks at accessing online 3D resources both models and animations and shows how you can use Blender to edit these assets.

Section 6 covers in more detail using THREE.js for games.

Section 7 brings 3D and Socket IO together to create a framework for a game where we see remote players moving.

Section 8 shows how we can chat to remote players by sending a private chat message, socket to socket.

Section 9 shows how to take your game to a live server.

The final section gives some important tips when using NODE.js and Socket IO with the THREE.js library in an online game.

Having completed the course you will have all the skills necessary to create 3D multi-player games of your own. With the 30 day money back guarantee you can start the course today with complete confidence.

Here is are some reviews of the course:

”Nik's tutorials are brilliant”

”The instructor really explained the whole concept of the process of setting up a complete 3D multi-user chat app using the latest and hottest technologies in a nutshell; I'd like to say he demystified it.”

"This course helped me a lot to finish my running project. I loved this course very much. It is probably the only course which shows the use of THREE.js to create a 3d game. It's socket io implementation is amazing. I would surely recommend to enroll in this course."

... and what students on my other THREE.js courses have to say:

”Easy to Understand and detailed”

”This course is really awesome! I enjoyed every second of this learning experience.”

"Really good course, highly recommend. ... The last time I tried to learn the source code was 20,000 lines of C#. Without the helper classes, this author achieves an awesome 3D Car game in less than 400 lines. In the past I have had a lot of issues with getting FBX from Blender into a THREE.js scene but here it is easily explained and worked effortlessly. Huge thanks to Nik for this fantastic course."

Who this course is for:
  • If you are interested in creating multiplayer games then this is the course for you.
  • If you want to learn to use Socket IO then this is the course for you.