I Tried Making a 3D MMORPG Game in JavaScript



I tried to build a 3D MMORPG (ie. World of Warcraft clone) in this project.

Support me on:
Patreon: https://www.patreon.com/simondevyt

Follow me on:
Twitter: https://twitter.com/iced_coffee_dev
Instagram: https://www.instagram.com/beer_and_code/
Github: https://github.com/simondevyoutube/

Here I tried to build a 3D MMORPG, completely from scratch in JavaScript/Three.js/Node.js. I’m not a networking expert, pretty far from it, but I make a stab at it. I took a bunch of code from previous tutorials, like the rpg game we build earlier, threw in some free assets, procedural terrain, and built a node.js backend for the whole thing. The code could server as a nice starting point for someone looking to build a larger project out of it.

The goal of this was to mash together a bunch of elements to get a mmorpg skeleton, using just JavaScript and node.js. All of the bits and pieces of a working mmo should be there, there’s some basic inventory and items, stats, fighting, movement, chat, and a world full of npc’s. Hopefully from this, you should be able to understand how to use Three.js and node.js to build out this kind of project and build your own multiplayer games.

What I’ll cover:
* Getting a basic websocket connection going
* Starting a node.js server
* Sharing code between server and client
* Hacking three.js shaders to inject new fragments
* Adding chat
* Supporting multiple players
* Supporting thousands of npc’s

Like always, full source is available, just check the github repo. Go ahead and do whatever you want with it.

References:
Why MMOs Are Complicated
https://www.ibm.com/developerworks/library/ar-powerup1/index.html
https://opengameart.org/content/smoke-particle-assets
https://www.donmccurdy.com/2017/11/06/creating-animated-gltf-characters-with-mixamo-and-blender/
https://developer.valvesoftware.com/wiki/Latency_Compensating_Methods_in_Client/Server_In-game_Protocol_Design_and_Optimization
https://www.gamasutra.com/view/feature/129854/propagation_of_visual_entity_.php?page=3

35 thoughts on “I Tried Making a 3D MMORPG Game in JavaScript

  1. This makes me understand why I couldn't find any good information on how to make online games. It is basically so crazy that it wouldn't make sense to explain it. It is like looking for a video on how to make CERN. You either know enough about science to work your way up into making CERN or you don't. There is no CERN tutorial.

  2. As someone that only makes webpages I feel like the two dimensional creature that encounters a three dimensional being in the video where Carl Sagan describes the 4th dimension.

  3. I love them monotone, but funny as hell comments in-between. Like, when describing "there are these two monsters that look like this and that… i took both"
    :'D

    really enjoyed this video 🙂

  4. You could have made a random generator with a seed and send the seed from server to client, this would have generated same objects for all clients.

Leave a Reply

Your email address will not be published. Required fields are marked *