Action Multiplayer: JavaScript Gamedev Tutorial
📣 Hey, Listen! This series is included in my full tutorial bundle. Consider picking it up there instead!
In Action Multiplayer, we build a Gameboy-era Zelda-ish game in JavaScript using the Excalibur game engine! We'll start by recreating Zelda-like features (swords, arrows, enemies) and then add online multiplayer features with a peer-to-peer connection server.
Check out this trailer for a full overview:
FAQ
Q: What JavaScript skill level is required for this series?
This tutorial series is designed for a late-beginner/early intermediate in JavaScript. We use npm to install libraries like Excalibur and PeerJS, so it helps to have prior experience with installing and using npm. No experience is required with Excalibur... we'll learn that from scratch! Please note - you'll need to specify the same version of Excalibur I use in your local package.json file (0.27.0)
Q: What is the tech stack for the series?
We'll spin up a local development environment with Vite.
We'll work mostly with vanilla JavaScript and the Excalibur game engine.
When we start networking/multiplayer, we'll use a library called Peer JS. We'll run a local Node.js server to use the Peer JS library.
We'll also discuss hosting your multiplayer server on Render.com for other players to connect to your game.
Q: What is the Excalibur game engine?
Excalibur is a fantastic open-source game engine for building 2D JavaScript games. The engine includes many features for graphics, animations, physics, and collision detection. By using Excalibur's built-in features, we'll save a lot of time getting our gameplay code going.
Q: How does hosting the multiplayer work?
We build the multiplayer server in a local environment using Node.js.
When it's time to promote to production, I'll talk through the steps of running the same server code on Render.com. Please note that Render.com will require a paid plan to host your Node server code. You can use any service you want... I only used Render here out of preference.
Q: Do I have to do the multiplayer part?
No! The first half of the series is all about creating a Zelda-like clone. You could start with just that content and build out a full single-player game from there. The multiplayer part is technically layered on as an optional extra feature.
Q: Will I get access to updates?
Yes - by purchasing this product on Gumroad, you will have access to any future updates!
Videos
Part I: Action Gameplay Basics
01. Project Basics (12:31)
02. Character Animations (10:46)
03. Camera (04:25)
04. Sword Action (18:01)
05. Arrow Action (05:17)
06. Changing Skins (02:41)
07. Taking Damage (05:06)
Part II: Online Multiplayer
08. Network Strings (04:31)
09. Connections with Peer JS (12:35)
10. Other Network Players (09:32)
11. Monsters (09:51)
12. Monster Damage (05:48)
13. Network Monsters (07:23)
Let's build a Zelda-style game in JavaScript, but with Multiplayer!