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.
Create a 3D multi-player game using THREE.js and Socket.IO
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.
- Only basic JavaScript is assumed
- 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 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
| # | Lesson Title | Duration | Access |
|---|---|---|---|
| 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 |
Get instant access to all 30 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.
Learn more about subscriptionCourse content
31 lessons · 2h 39m 55sShow all 31 lessons
- 1 Introduction 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
Related courses
-

1-Bit Godot Course by Heartbeast
By: Benjamin Anderson (HeartBeast)So you're trying to learn Godot Engine. You've been digging through YouTube videos but there aren't as many learning resources as other engines like Unity or Ga16 hours 50 minutes 34 seconds -

Vanilla Three.js Course
By: JavaScript Mastery, Adrian HajdinUnleash your creative potential with the Vanilla Three.js course from JSMastery.pro - the perfect choice for beginners and developers looking to create.31 minutes 46 seconds -

Advanced HTML5 Game Development
By: Packt PublishingHTML5 is the fifth revision of the HTML standard, which is a core technology used for structuring and presenting content on Internet. Its innovative features su2 hours 19 minutes 57 seconds