4.38 (200 reviews)
☑ 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.
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."
Welcome to the course
What is NODE.js
Your first NODE.js app
What have you learned?
What is Socket.Io?
Your first Socket.IO app
Connecting a socket to a server
Create a simple chat app
Overview of the rooms version of the chat app
Coding the rooms version of the chat app
What have you learned?
The THREE.js website
Your first THREE.js web page
What have you learned?
Trying things out on CodePen
Sourcing 3D assets online
Editing assets with Blender
Setting up cameras
Moving your character
Constraining to the environment
The Socket.IO app
A overview of socket events
Handling the local player
Handling the NPCs
Convert text into an image
Make remote players selectable
Add chat feature to game
Taking it live
How to map a URL to a specific port address
How to ensure the node app stays running
It was good but socket.io getrooms function is kind of hard to learn. Little bit not much explanations. Just one sentence explanation to each line of codes.
It does not explain the fundamentals, it only reads the code without explaining why a scene is used, a camera etc.
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.
Great Course. I only wish it was about twice as long and decomposed the project in more detail. There are lots of great resources but the class felt rushed. I'm going to go thru the course a second time with my own content hoping to get back to the same point as the example. Just to make sure I actually understand the matterial.
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.
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.
Doesn't really explain the concepts. Just points to where code should be added, and a lot of copy and paste without explaining. If you don't yet know Express, Socket.io - best to study those first before taking this course.
I came to the course to learn about Socket.IO and basic socket programming, and was not disappointed! I'll be able to use this knowledge in my Phaser 3 and Babylon.js projects. Thanks for the course!
Was difficult to find where to download the resources folder. I'm familiar with the terms used in node like "__dirname", but it might be confusing for a first timer. Would be better to explain where they're from. Confusing use of express and http.
Ein Super Kurs. Genau wonach ich gesucht habe. Für komplette Anfänger vermutlich am Anfang etwas schwieriger.
The reason is you don't really explain the Three.js library - Why you wrote some stuff. I mean in the math point of view. I know node and I know jQuery, the reason I bought this course is to better understand the Three.js library. You wrote the code beforehand (which normally is not what I expected) and the code lines of Three.js are not explained as I would have expected
Code ready, only showing line by line the changes that were made. I prefer code written in real time.
The textures doesn`t work. Models downloaded from mixamo are not working too. Most part of the course is a sequency of copy and paste code.