Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS CompTIA Security+ AWS Certified Developer - Associate
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Personal Development Mindfulness Personal Transformation Meditation Life Purpose Coaching Neuroscience
Web Development JavaScript React CSS Angular PHP WordPress Node.Js Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Retargeting
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Analysis Data Modeling Big Data
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Freelancing Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee

This course includes:

  • 3 hours on-demand video
  • 3 articles
  • 2 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
Development Game Development Three.JS

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.
Rating: 4.2 out of 54.2 (159 ratings)
987 students
Created by Nicholas Lever
Last updated 12/2020
English
English [Auto]
30-Day Money-Back Guarantee

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

11 sections • 36 lectures • 2h 57m total length

  • Welcome to the course
    00:18
  • Preview01:38

  • Preview01:54
  • Resources
    00:21
  • Your first NODE.js app
    06:24
  • What have you learned?
    4 questions

  • What is Socket.Io?
    00:59
  • Your first Socket.IO app
    07:45
  • Preview05:38
  • Create a simple chat app
    07:40
  • Overview of the rooms version of the chat app
    07:09
  • Coding the rooms version of the chat app
    07:53
  • What have you learned?
    4 questions

  • The THREE.js website
    01:45
  • Preview03:32
  • Your first THREE.js web page
    08:30
  • Using FBXLoader
    07:02
  • What have you learned?
    4 questions
  • Trying things out on CodePen
    00:04

  • Sourcing 3D assets online
    02:12
  • Using Mixamo
    02:37
  • Editing assets with Blender
    04:31

  • Loading assets
    04:26
  • Setting up cameras
    04:40
  • Moving your character
    08:54
  • Preview10:45

  • The Socket.IO app
    05:03
  • Preview05:53
  • Handling the local player
    07:32
  • Handling the NPCs
    07:16

  • Convert text into an image
    08:09
  • Make remote players selectable
    09:21
  • Add chat feature to game
    03:37

  • How to map a URL to a specific port address
    04:08
  • How to ensure the node app stays running
    01:12

  • Creating a NavMesh
    07:19
  • Using a NavMesh
    09:40

Requirements

  • Only basic JavaScript is assumed

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

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

Instructor

Nicholas Lever
Game developer
Nicholas Lever
  • 4.4 Instructor Rating
  • 1,104 Reviews
  • 5,856 Students
  • 8 Courses

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. 

In recent years game development has involved using HTML5 and Canvas. Using both custom code and various libraries. A particular preference is to use the latest version of Adobe Flash, now called Animate that exports to the Javascript library Createjs. 

I've worked for the BBC. Johnson and Johnson. Deloitte, Mars Corporation and many other blue chip clients. The company I've run for over 30 years has won a number of awards and been nominated for a BAFTA twice, the UK equivalent to the Oscar. 

Over the last 20 years I have been struck by just how difficult it has been to get good developers and have decided to do something about this rather than just complain. I run a CodeClub for kids 9-13 years old and I'm developing a number of courses for Udemy hoping to inspire and educate new developers. Most of my courses involve real-time 3d either using the popular Open Source library Three.JS or Unity. I'm currently having a lot of fun developing WebXR games and playing with my Oculus Quest.

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.