Check out my substack for written tutorials : https://jslegenddev.substack.com/
1) JavaScript Crash Course
- VSCode : https://code.visualstudio.com/
- Node.js : https://nodejs.org
- Kaplay.js : https://kaplayjs.com
- The Modern JS Tutorial : https://javascript.info
- MDN Web docs for JS : https://developer.mozilla.org/en-US/docs/Web/JavaScript
2) Build a Sonic Infinite Runner Game
- Live demo : https://jslegend.itch.io/sonic-ring-run
- Source code : https://github.com/JSLegendDev/sonic-runner
- Link to article explaining how to implement parallax scrolling : https://jslegenddev.substack.com/p/how-to-implement-infinite-parallax
- Assets link : https://github.com/JSLegendDev/sonic-runner/tree/master/public
3) Build a Metroidvania Style Game
- Guide on how to use Tiled + Kaboom.js : https://jslegenddev.substack.com/p/how-to-use-tiled-with-kaboomjs
- Guide on how custom events work in Kaboom.js : https://jslegenddev.substack.com/p/custom-events-in-kaboomjs
- Guide on how to implement one way platforms : https://jslegenddev.substack.com/p/how-to-implement-one-way-platforms
- Live demo : https://jslegend.itch.io/javascript-metroidvania
- Source code : https://github.com/JSLegendDev/JavaScript-Metroidvania
- Link to the Kaboom.js library : https://unpkg.com/
[email protected]/dist/kaboom.mjs
- Assets used can be downloaded here : https://github.com/JSLegendDev/JavaScript-Metroidvania/tree/master/assets
- (Original assets can be found here with extra paid assets : https://venoxxx.itch.io/pixxxelpunkkk-toolkit )
4) Make Desktop Games in JavaScript
- Try the game : https://jslegend.itch.io/kriby
- Source code for the game : https://github.com/JSLegendDev/Desktop-JS-Game-Tauri
- The Tauri prerequisites can be found here : https://tauri.app/v1/guides/getting-started/prerequisites/
- Download the assets here : https://github.com/JSLegendDev/Desktop-JS-Game-Tauri/tree/master/public
💼 Business Inquiries:
[email protected]
Timestamps
0:00 Intro
0:55 Part 1 - Learn JavaScript - JS Crash Course
1:27 Why learn JS to make games?
6:39 Environment Setup
15:39 Core concept #1 : variable and constants
29:10 Core concept #2 : conditional statements and Boolean operations
40:40 Core concept #3 : complex data types (Arrays and objects)
52:54 Core concept #4 : loops
1:07:01 Core concept #5 : functions + param passing by reference vs by value
1:19:29 Core concept #6 : local vs global scoping
1:22:15 Core concept #7 : comments + how import/export JS code works
1:29:37 What is a library?
1:30:36 Setting a modern dev environment with Node.js, NPM and Vite
1:45:08 Making our first JS game
2:23:48 How to export your JS game to a platform like itch.io
2:25:51 Next steps (useful resources)
2:28:10 Part 2 - Build a Sonic Infinite Runner Game
2:31:57 Project Setup
2:49:32 Loading Assets
2:59:00 Making The Main Menu Scene
3:22:42 Creating The Sonic Game Object
3:31:29 Making The Game Scene
3:41:53 Implementing Sonic Gameplay
3:50:45 Implementing Enemy Logic
4:05:12 Implementing Ring + Score Logic
4:24:30 Making The Game Over Scene
4:33:57 How Build The Game for Distribution
4:35:58 Part 3 - Build a Metroidvania Style Game
4:41:47 Setup
4:50:11 Initializing Kaboom/Kaplay
4:57:28 Loading assets
5:09:07 Defining scenes
5:15:29 Understanding Game Objects in Kaboom/Kaplay
5:19:16 Implementing logic to load and display the map
5:52:18 Implementing logic to place colliders over the map
6:09:22 Implementing player logic
6:18:06 Implementing global state management
6:25:41 Continuing player logic implementation
6:58:25 Setting up our camera system
7:13:58 Implementing drone enemy
7:46:14 Implementing boss barrier
7:59:45 Implementing boss battle
8:32:44 Implementing health cartridges + health bar
8:41:12 Making sure the player respawns when falling out of bounds
8:45:35 Implementing logic to link room1 and room2
9:04:18 Finishing touches
9:08:04 General guidance on how to deploy the project
9:06:37 Part 4 - Make Desktop Games in JavaScript
9:09:40 Setup
9:26:05 Loading assets
9:27:22 Implementing fullscreen + enabling Tauri APIs
9:35:07 Creating the game menu
9:47:40 Implementing player logic
9:58:47 Finishing the game menu
10:03:03 Implementing the game (but the save system first)
10:10:51 Implementing the game (for real)
10:23:18 Implementing the score UI
10:34:43 Building the project for distribution
10:36:49 Additional info regarding distribution