Skip to main content
CF

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

2h 39m 55s
English
Paid

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.

Requirements:
  • Only basic JavaScript is assumed
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.

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.

About the Author: Udemy

Udemy thumbnail

Udemy is the largest open marketplace for online courses on the internet. Founded in 2010 by Eren Bali, Oktay Caglar, and Gagan Biyani and headquartered in San Francisco, the company went public on the Nasdaq in 2021 under the ticker UDMY. The platform hosts well over two hundred thousand courses across software development, IT and cloud, data science, design, business, marketing, and creative skills, taught by tens of thousands of independent instructors. Roughly seventy million learners use it worldwide, and the corporate arm — Udemy Business — supplies a curated subset of that catalog to enterprise customers.

Because Udemy is a marketplace rather than a single editorial publisher, the catalog is uneven by design. The strongest material lives in the long-form, project-based courses authored by working engineers — full-stack JavaScript, React, Node.js, Python data science, AWS, Docker and Kubernetes, mobile development with Flutter and React Native, and cloud certification preparation. The CourseFlix listing under this source is the slice of that catalog that has been mirrored here for offline-friendly viewing, organized by topic and updated as new releases land. Pricing on Udemy itself swings dramatically with the site's near-permanent sales, which is why the platform is best treated as a deep reference catalog: pick instructors with strong reviews and a track record of updating their material rather than buying on the headline price alone.

Watch Online 31 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 31 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Introduction
All Course Lessons (31)
#Lesson TitleDurationAccess
1
Introduction Demo
01:39
2
What is NODE.js
01:55
3
Your first NODE.js app
06:25
4
What is Socket.Io?
01:00
5
Your first Socket.IO app
07:46
6
Connecting a socket to a server
05:39
7
Create a simple chat app
07:41
8
Overview of the rooms version of the chat app
07:10
9
Coding the rooms version of the chat app
07:54
10
The THREE.js website
01:46
11
3D basics
03:33
12
Your first THREE.js web page
08:31
13
Using FBXLoader
07:03
14
Sourcing 3D assets online
02:13
15
Using Mixamo
02:38
16
Editing assets with Blender
04:32
17
Loading assets
04:27
18
Setting up cameras
04:41
19
Moving your character
08:55
20
Constraining to the environment
10:46
21
The Socket.IO app
05:04
22
A overview of socket events
05:54
23
Handling the local player
07:33
24
Handling the NPCs
07:17
25
Convert text into an image
08:10
26
Make remote players selectable
09:22
27
Add chat feature to game
03:38
28
How to map a URL to a specific port address
04:09
29
How to ensure the node app stays running
01:13
30
Top tips
00:39
31
Bonus Lecture
00:42
Unlock unlimited learning

Get instant access to all 30 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Related courses

Frequently asked questions

What prerequisites are needed before enrolling in this course?
Before enrolling in this course, you should have a basic understanding of JavaScript, as the course involves working with NODE.js and THREE.js, both of which are JavaScript-based. Familiarity with web development concepts will also be beneficial since the course covers setting up a web server environment and creating web pages using THREE.js.
What projects will I complete during the course?
During the course, you will complete several projects, including creating a simple chat application using Socket.IO, developing a 3D multi-player game with THREE.js, and setting up 3D assets from sources like Mixamo and Blender. You will also learn to handle socket events and make remote players selectable in the game.
Who is the target audience for this course?
This course is designed for individuals interested in creating interactive 3D multi-player games using JavaScript libraries. It's particularly suited for developers looking to expand their skills in web-based game development and those interested in learning how to integrate Socket.IO and THREE.js to create engaging multi-player experiences.
How does the depth of this course compare to similar courses?
The course offers a focused approach on integrating Socket.IO and THREE.js to develop a 3D multi-player game. Unlike broader game development courses, it specifically covers setting up NODE.js environments, creating socket-based applications, and handling 3D assets, providing a practical skill set for developing web-based games.
What specific tools and platforms will I learn to use?
You will learn to use NODE.js as the server environment, Socket.IO for managing multi-player connections, and THREE.js for creating 3D graphics. The course also includes lessons on using FBXLoader, sourcing and editing 3D assets with Blender, and integrating animations from Mixamo.
What topics are not covered in this course?
The course does not cover advanced game design principles or non-web-based game development environments. It focuses primarily on using JavaScript libraries for online multi-player games. Topics such as mobile game development or console game development are not included.
How much time should I commit to this course, considering its scope?
The course comprises 31 lessons, which requires a substantial time commitment to cover the installation, coding exercises, and development of a 3D multi-player game. While the exact runtime is unspecified, you should allocate sufficient time for hands-on practice and review of core concepts like socket management and 3D asset integration.