Uploaded March 2026 | Updated September 2026, 2 weeks ago
Stop rebuilding the same systems every time you start a new JavaScript game!
In this series we build a reusable 2D JavaScript game development starter kit from scratch using plain vanilla JavaScript and HTML5 Canvas. The goal is a clean, modular architecture that makes your games easier to build, scale, and maintain.
Full playlist: youtube.com/playlist?list=PLYElE_rzEw_tjnJ_5gzRw0ZM5HRn7AIS0&si=j53kz7v7JoN5dg1B
⏱ Timestamps
00:00 Let's make 2D Games with JavaScript
00:50 Source Code Checkpoint
01:29 How to create a player character in JavaScript games
06:32 Source Code Checkpoint
07:08 How to handle player input in JavaScript games
12:19 Vector-based movement for smooth game controls
19:30 How to make game movement frame-rate independent
27:10 Source Code Checkpoint
27:51 How to center your character
29:04 Create a reusable image loader for canvas games
40:24 What's next?
In this video (Part 2), we start implementing core gameplay systems. You'll learn how to create a player entity, handle keyboard input in a clean way, load image assets, and render sprites to the screen.
Instead of building messy one-off projects, we focus on a data-driven structure with independent systems that can grow with your game as new features are added. If you’ve ever found yourself rewriting the same animation loop, input handling, or asset loading code for every project, this starter kit solves that problem.
Resources:
Player image: frankslaboratory.co.uk/downloads/147/player.png
Source code: code-laboratory.kit.com/800d905643
In this video we cover:
• Creating a Player entity
• Rendering the player as a simple shape
• Implementing a clean keyboard input system
• Creating an Image Manager to load game assets
• Rendering the player as a sprite
Next episode:
We will take a deeper look at UI systems, including menus and pause screens.
Whether you're just getting into JavaScript game development or you've been doing it for a while and want to stop rebuilding from zero, this one's for you.
🎓 Check out the EXTENDED course (free version here): udemy.com/course/build-a-reusable-2d-game-engine-in-javascript/?referralCode=9B9D825D377E049E7BD1
This tutorial covers JavaScript game development from an architecture-first perspective. Building reusable game systems in vanilla JavaScript using the HTML5 Canvas API, with no external libraries or frameworks. If you've been searching for a clean, scalable approach to 2D game development in JavaScript, or want to understand how to structure a mini JavaScript game engine from scratch, this video walks you through the exact systems and patterns used in production-ready projects. Great for developers who already know JavaScript and want to take their game projects to the next level.
#frankslaboratory #JavaScriptGameDevelopment #VanillaJavaScript #HTML5Canvas
Stop rebuilding the same systems every time you start a new JavaScript game!
In this series we build a reusable 2D JavaScript game development starter kit from scratch using plain vanilla JavaScript and HTML5 Canvas. The goal is a clean, modular architecture that makes your games easier to build, scale, and maintain.
Full playlist: youtube.com/playlist?list=PLYElE_rzEw_tjnJ_5gzRw0ZM5HRn7AIS0&si=j53kz7v7JoN5dg1B
⏱ Timestamps
00:00 Let's make 2D Games with JavaScript
00:50 Source Code Checkpoint
01:29 How to create a player character in JavaScript games
06:32 Source Code Checkpoint
07:08 How to handle player input in JavaScript games
12:19 Vector-based movement for smooth game controls
19:30 How to make game movement frame-rate independent
27:10 Source Code Checkpoint
27:51 How to center your character
29:04 Create a reusable image loader for canvas games
40:24 What's next?
In this video (Part 2), we start implementing core gameplay systems. You'll learn how to create a player entity, handle keyboard input in a clean way, load image assets, and render sprites to the screen.
Instead of building messy one-off projects, we focus on a data-driven structure with independent systems that can grow with your game as new features are added. If you’ve ever found yourself rewriting the same animation loop, input handling, or asset loading code for every project, this starter kit solves that problem.
Resources:
Player image: frankslaboratory.co.uk/downloads/147/player.png
Source code: code-laboratory.kit.com/800d905643
In this video we cover:
• Creating a Player entity
• Rendering the player as a simple shape
• Implementing a clean keyboard input system
• Creating an Image Manager to load game assets
• Rendering the player as a sprite
Next episode:
We will take a deeper look at UI systems, including menus and pause screens.
Whether you're just getting into JavaScript game development or you've been doing it for a while and want to stop rebuilding from zero, this one's for you.
🎓 Check out the EXTENDED course (free version here): udemy.com/course/build-a-reusable-2d-game-engine-in-javascript/?referralCode=9B9D825D377E049E7BD1
This tutorial covers JavaScript game development from an architecture-first perspective. Building reusable game systems in vanilla JavaScript using the HTML5 Canvas API, with no external libraries or frameworks. If you've been searching for a clean, scalable approach to 2D game development in JavaScript, or want to understand how to structure a mini JavaScript game engine from scratch, this video walks you through the exact systems and patterns used in production-ready projects. Great for developers who already know JavaScript and want to take their game projects to the next level.
#frankslaboratory #JavaScriptGameDevelopment #VanillaJavaScript #HTML5Canvas



![CSS Buttons Animation On Hover | Vertical Waves Effect With Cubic Bezier
CSS Buttons Animation | Horizontal Waves Effect On Hover With Cubic Bezier
Please like and subscribe! :]
In this tutorial I will show you how to create animated buttons using pure CSS and HTML. We will create vertical waves on hover using CSS timing function, transition with custom cubic-bezier. You can use this effect to design your website or to practice advanced CSS techniques even a beginner can learn. Pure HTML / CSS3 web design tutorial. More tutorials, creative animations, hover effects, CSS tricks and examples coming soon at http://frankslaboratory.co.uk/blog/
Music:
Bunny Boiler by tubebackr | https://soundcloud.com/tubebackr
Music promoted by https://www.free-stock-music.com CSS Buttons Animation On Hover | Vertical Waves Effect With Cubic Bezier](https://i.ytimg.com/vi/yQWuN2GjSnw/mqdefault.jpg)
![HTML5 Canvas Tutorial for Beginners [How to Draw Shapes with JavaScript]
Lets learn how to draw shapes with JavaScript and create fabulous Fibonacci flowers all from scratch with just plain vanilla JavaScript. In this HTML5 Canvas Tutorial for Beginners we will take a look under the hood to see how canvas 2D API draws shapes and then we use that knowledge to create colorful flowers and seashells using so called Fibonnacci flower formula, also known as Phyllotaxis and Golden ratio. This video will be very beginner friendly, you will be surprised how much you can do with so little JavaScript.
LIKE the video please if youre getting value out of my tutorials and SUBSCRIBE if you want to learn more vanilla JavaScript!
Some of my favourite UDEMY courses:
JavaScript Beginner Bootcamp (2020) https://bit.ly/3aqFFhc
20 Web Projects With Vanilla JavaScript https://bit.ly/3anlCQR
Learn SVG Animation - With HTML, CSS & Javascript https://bit.ly/2PRGwOr
HTML, CSS, JavaScript - Build 6 Creative Projects https://bit.ly/33YIBjT
Object-oriented Programming in JavaScript https://bit.ly/3f4Otu0
How to Program Games: Tile Classics in JS for HTML5 Canvas https://bit.ly/2ZUfKuG
Next Level CSS Creative Hover & Animation Effects https://bit.ly/3jEkzju
The Web Developer Bootcamp (Older but still very relevant) https://bit.ly/2ZZJM0d
Modern HTML & CSS From The Beginning (Including Sass) https://bit.ly/2Ec6Cch
Advanced CSS and Sass: Flexbox, Grid, Animations and More! https://bit.ly/3g0uqxT
JavaScript Basics for Beginners https://bit.ly/32Tn5wq
JavaScript: Understanding the Weird Parts https://bit.ly/2WVe0zn
The Complete JavaScript Course 2020: Build Real Projects! https://bit.ly/3fXGwaZ
Modern JavaScript From The Beginning https://bit.ly/3fWJgWk
Related videos:
The fabulous Fibonacci flower formula (Mathologer) https://youtu.be/_GkxCIW46to
Coding Challenge #30: Phyllotaxis (Coding train) https://youtu.be/KWoJgHFYWxY
This HTML5 Canvas Tutorial for Beginners will be focused on the HTML canvas element and its fundamentals. We will look into how it works under the hood and where are all these methods that allow us to draw shapes come from and we will learn how to draw shapes with JavaScript
Fibonacci sequence starts specifically with 0 and 1 and it is a very common interview question where you will asked to write an algorithm that returns numbers that create fibonacci sequence.
To draw so called fibonacci flowers we dont necessarily have to start with 0 and 1, we can also start with any two numbers we want, the only rule we cannot break is that each number in the sequence is the sum of the two preceding numbers
This tutorial is part of a series - Creative coding with vanilla JavaScript and HTML canvas COMPLETE PLAYLIST:
https://www.youtube.com/watch?v=lGJ9i6CYKyQ&list=PLYElE_rzEw_siuo-kkHh5h7Sk 6IPYNh
Tools every front-end web developer needs:
Adobe Creative Cloud (Adobe Photoshop, Illustrator) https://bit.ly/3e60cI0 (official Adobe website to buy Creative Suite applications)
You can message me on TWITTER https://twitter.com/code_laboratory
Check out some of my source code on CODEPEN https://codepen.io/franksLaboratory
#javascript #htmlcanvas #frankslaboratory
Music:
Business / Corporate by Mixaund | https://mixaund.bandcamp.com
Music promoted by https://www.free-stock-music.com
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, Ill receive a small commission without any additional cost for you. This helps to support the channel and allows me to continue making videos like this. Thank you for the support! HTML5 Canvas Tutorial for Beginners [How to Draw Shapes with JavaScript]](https://i.ytimg.com/vi/ymmtEgp0Tuc/mqdefault.jpg)