Skip to content
UdemyGame Development FundamentalsPaid courseIntermediate levelCertificate

Create a 3D multi-player game using THREE.js and Socket IO (Udemy.com)

Learn to use the WebGL library THREE js, NODE.Js and Socket IO to create a 3D multi-player game.

Created by: Nicholas Lever

Last updated July 2026

icon
What you will 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.

How it compares

Against the other 281 rated Udemy courses in Game Development Fundamentals on CourseDuck:

  • Rating4.3 out of 5higher than 20% of them
  • Reviews446#78 of 282 by number of reviews
  • Length3.1 hoursshorter than 83% of them
  • Last updatedJuly 2026more recently than 97% of them

icon
Course Description

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."

"One of the best courses on multi-player socket io and NodeJs. I watched the first time without any knowledge of all these mysterious words and got a running app. Now I watched it again after many years in game development and it all makes sense now. the course is extremely condensed and infos are in their essence shape. Short videos where every second contains important information."

... 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."

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

Nicholas Lever

After getting a degree in Graphic Design, I started work in 1980 as a cartoon animator. Buying a Sinclair ZX81 back in 1982 was the start of a migration to a full time programmer. The ZX81 was quickly swapped for the Sinclair Spectrum, a Z80 processor and a massive 48K of ram made this a much better computer to develop games. I developed a few games using Sinclair Basic and then Assembler. The Spectrum was swapped for a Commodore Amiga and I developed more games in the shareware market, moving to using C. At this stage it was essentially a hobby. Paid work was still animated commercials. 

I finally bought a PC in the early nineties and completed an Open University degree in Maths and Computing. I created a sprite library ActiveX control and authored my first book, aimed at getting designers into programming. In the mid nineties along came Flash and the company I was now running, Catalyst Pictures, became known for creating games. 

Since then the majority of my 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. 

icon
More courses by Nicholas Lever

$69.99

$69.99

$59.99

$74.99

icon
More Game Development Fundamentals courses

$94.99

$19.99

$89.99

$59.99

$13.99

$94.99

icon
Reviews

4.3

446 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By Salim Rached on 7/14/2026

One of the best courses on multi-player socket io and NodeJs. I watched the first time without any knowledge of all these mysterious words and got a running app. Now I watched it again after many years in game development and it all makes sense now. the course is extremely condensed and infos are in their essence shape. Short videos where every second contains important information.

By Matt Levere on 3/10/2024

At the beginning, the explanations could be better. When creating the socket_test folder, you had an html file in there randomly, which I had manually type out, just to find out it was similar (possibly identical) to one in nodeapps. I Just finished ThreeJS section, and the explanation for this part is VERY good. However, some explanations were cut short, such as how the mesh and grid get generated. And also having a visual difference of the lights. You explained it in detail, but never really shown a difference from having shadows versus not having shadows just as an example. I'm excited to learn more from this tutorial. Minus one star for the poor beginning, and minus .5 star for reading the code like a textbook rather than reading and showing the difference.

By Ivo Künzler on 3/3/2023

So far it was a very good match. I was already familiar with some concepts of threejs animation system but in all the example-files of threejs i could never find something as useful as the joystick for of Nik. I hope I will understand the socket.io part of the fireman that is soon to come as a Section.

By Maximiliano Lopez on 12/27/2020

Hay más explicaciones de lógica que de código y lo que venia buscando es ver el codigo en funcionamiento. Conocer el progreso y qué modificaciones hace cada linea de codigo. Sin embargo me encontré con el codigo ya finalizado y una explicacion muy por arriba sobre qué hace cada parte y no una demostracion de cómo se va construyendo ese codigo

By Mario Gutierrez on 11/12/2020

This course covers a wide range of topics. I got just the exact information that I was looking for and with some working examples. For someone with previous knowledge about javascript, 3D graphics and sockets communications, this course has just what's needed to get up to speed and start developing multiuser web apps in 3D (I'm actually going to develop some WebXR demos using some of these ideas). For beginners, it would be great to have one or two extra intermediate steps just to better understand how the actual websockets communication is working. The chat example at the start of the course was great as a socket.io "hello world" example. It would have been useful to have something similar with simple 3D or 2D geometry showing the basics of synchronizing the game state amongst players, before diving into the more complete example that is blockland. Still I all the references to other websites and tools quite useful and informative.

By Sam on 8/22/2020

This was more of a walkthrough of existing game code than building a game together with the teacher, and that's not my preferred learning style. It was hard to visualize exactly what the code does, and I was lost for some of it. It was also hard to stay interested. It's easier to follow along when you can see what each code block does on the screen step by step. The eye candy helps me to stay interested and wihtout losing context. It's also nice to get a little break from the code, too. I find that approach better for me than a long laborious lecture about code, with hardly nothing graphical to see until the very end. But it's definitely worth it especially if you are someone looking for example code/workflows, and great tips about technologies that can be used to help you build your own games. It's also useful if you are wanting to compare THREE.js with other JavaScript libraries before starting on a large project of your own.

By Al Wilgus on 8/21/2020

It is about the right speed and content. A little confusing with some version changes, but easy enough to figure out. The video seemed to stop a few times (always at the same spot), but moving forward a few seconds and hitting play made it work again. Nik did a great job if explaining the detail and I will most likely take some of his other courses.

By Gerard on 2/15/2020

First course on Udemy (at least I could not find something similar at the time of writing) that covers these open source topics in combination with working examples. Also the teacher is using object oriented programming and does respond quickly to questions.

By Chirayu Joshi on 2/1/2020

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.

By ec-ccs on 12/30/2019

I enjoy a lot the courses by Nicholas Lever. In general they are all VERY SIMPLE but VERY WELL INTO THE POINT. Other thing is: he focuses not on mainstream topics but in SPECIALITY, hard to find ones. Only observation about this course? Unfortunately it is NOT for All Levels as it claims - it is for Intermediate to Advanced. The amount of info that is skipped is substantial. Previous exposure to npm / node.js / Express + Socket.io + Three.js + Blender + 3D Animation as well as some practical knowledge of jQuery and OO-Javascript in ES6 is definitively REQUIRED for this course if you really want to profit from it. On the tutor defense, there is NOT such a course that will teach ALL that in a SINGLE course. It is not hours, but months of hard work. What this course does BRILLIANTLY is PUTTING ALL THAT TOGETHER in a simple but revealing project! So do your homework and study each topic as much as possible. THEN come back to take this and all the courses by Nik. You are going to ENJOY them.

Showing all 10 reviews on CourseDuck

Read all 446 reviews on Udemy

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 86 / 100