Franks laboratory
HTML Canvas Game Development Tutorial | Flappy Bird PART 2 - Animated Sprites & Repeating Background
updated
Let's create a quit game button. you can use the same step by step approach for any game, it doesn't have to be this specific project I have here.
GitHub repo (full source code): github.com/codingLaboratory/UndergroundExplorer
Playable demo (Unity WebGL build): play.unity.com/en/games/9227b1f1-3674-400a-9cc9-72ee54547855/underground-explorer
Have fun learning game development!
Today we will learn:
- How to use Tilemaps in Unity
- 2D Camera Follow using Cinemachine
- How to make 2D top down pixel art RPG Game Unity
- Worldbuilding with Tilemap and Cinemachine for 2D Unity
🎨 Toolkit 🎨
- Unity
- Visual Studio Code or any other code editor you prefer
If you want to SUPPORT me you can use the links below and get some one my EXTENDED classes! :)
udemy.com/course/build-animated-physics-game-with-javascript/?referralCode=B4482AF631243104650B
udemy.com/course/learn-game-development-with-javascript/?referralCode=69874A38D543D7F510F2
udemy.com/course/remake-retro-games-with-javascript/?referralCode=2ACCA21F16FE78E631F7
udemy.com/course/learn-creative-coding-with-vanilla-javascript/?referralCode=7C560D4661C5C59262BB
udemy.com/course/creative-coding-deep-dive-for-beginners/?referralCode=F43E8FCE60957A64DF4A
udemy.com/course/learn-html-canvas-pixels-particles-physics/?referralCode=F7977062A4BC964A1F5E
udemy.com/course/learn-html-canvas-advanced-text-effects/?referralCode=4C5821D2D04048CC4A01
Get Skillshare FREE for 1 month:
skillshare.com/en/r/profile/Frank-Dvorak/507488567?gr_tch_ref=on&gr_trp=on
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
Unity is an intuitive, beginner friendly and widely used game engine. You can build anything from a small demo to a big ambitious genre defining multi platform game. If you check how many job offers are there for Unity developers, you realise its a very viable career choice.
Come try it with me for this project and make up your own opinion. This class is for beginners.
Today we will learn:
- How to make a 2D Game in Unity
- How to Export Game in Unity for PC Windows and Mac (.exe)
- How to export a finished game as a WebGL web game (.html)
- How to use 2D tilemaps in Unity
- How to Setup Blend Trees for Easy 4 Directional Movement in Unity
... and much more
🍄 Project Art assets 🍄
Pixel art tilemaps: szadiart.itch.io/rpg-worlds-ca
Player: sanderfrenken.github.io/Universal-LPC-Spritesheet-Character-Generator/#?body=Body_color_pale_green&head=Orc_male_pale_green
(right click the sprite sheet and "Save Image As")
Player shadow: frankslaboratory.co.uk/downloads/143/shadow.png
Check out these awesome games made with Unity:
Streets of Rogue 2 youtube.com/watch?v=6f43pVHhGR0
Death Must Die youtube.com/watch?v=MhjXHpU2JJU
Eldest Souls youtube.com/watch?v=gLsnUeKCwCg
Bloomtown: A Different Story youtube.com/watch?v=oEHyqAWcT-w
Dwerve youtube.com/watch?v=Sb_u_fUKkXk
Cuphead youtube.com/watch?v=NN-9SQXoi50
Hollow Knight: Silksong youtube.com/watch?v=JSfuFlhsxZY
🎨 Toolkit 🎨
- Unity
- Visual Studio Code or any other code editor you prefer
If you want to SUPPORT me you can use the links below and get some one my EXTENDED classes! :)
udemy.com/course/build-animated-physics-game-with-javascript/?referralCode=B4482AF631243104650B
udemy.com/course/learn-game-development-with-javascript/?referralCode=69874A38D543D7F510F2
udemy.com/course/remake-retro-games-with-javascript/?referralCode=2ACCA21F16FE78E631F7
udemy.com/course/learn-creative-coding-with-vanilla-javascript/?referralCode=7C560D4661C5C59262BB
udemy.com/course/creative-coding-deep-dive-for-beginners/?referralCode=F43E8FCE60957A64DF4A
udemy.com/course/learn-html-canvas-pixels-particles-physics/?referralCode=F7977062A4BC964A1F5E
udemy.com/course/learn-html-canvas-advanced-text-effects/?referralCode=4C5821D2D04048CC4A01
Get Skillshare FREE for 1 month:
skillshare.com/en/r/profile/Frank-Dvorak/507488567?gr_tch_ref=on&gr_trp=on
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
Related classes:
Pixel Art Tilemaps for beginners: youtu.be/1_dizP57I6s
2D Camera in Pixel art games: youtu.be/5PkdYFbS4K4
Recommended video (advanced code):
Build a Game with JavaScript and HTML Canvas [RPG Kit series] youtu.be/HmxNrlPx8iY?si=zf7zuQn03WKBE1J2
🍄 Download Project Art assets 🍄
Background layer: frankslaboratory.co.uk/downloads/142/backgroundLevel1.png
Foreground layer: frankslaboratory.co.uk/downloads/142/foregroundLevel1.png
Hero: frankslaboratory.co.uk/downloads/142/hero1.png
Today we will learn:
- How to make 100s of different pixel art characters, generate a sprite sheet for them and animate them in a game world
- How to create a more robust but still beginner friendly code that can serve as a base for multiple different game types
- How to implement multi-layered grid-based game world
- How to implement smooth grid-based movement for the hero character
Sprite sheet maker, create 100s of UNIQUE HERO sprite sheets, for example:
Wood collector: sanderfrenken.github.io/Universal-LPC-Spritesheet-Character-Generator/#?body=Body_color_light&head=Human_male_light&belt=none&cargo=Wood_9_logs&backpack=Basket_round&backpack_straps=Straps_black&legs=Pants_blue
Waraxe Frankenstein: sanderfrenken.github.io/Universal-LPC-Spritesheet-Character-Generator/#?body=Body_color_pale_green&head=Frankenstein_pale_green&shadow=Shadow_shadow&sex=muscular&weapon=Waraxe_waraxe&legs=Wide_pants_brown
Battle Princess sanderfrenken.github.io/Universal-LPC-Spritesheet-Character-Generator/#?body=Body_color_light&head=Human_female_light&sex=female&hair=Long_band_blonde&dress=Sash_dress_slate&weapon=Flail_flail
... SHARE YOUR UNIQUE CHARACTER in the comments if you want (59:48). YouTube spam filter will remove comments with links, so just share the second part of the URL after "#?":
"#?body=Body_color_olive&head=Orc_male_olive&legs=Pants_black"
I can then add the first part of the URL myself on my end:
"sanderfrenken.github.io/Universal-LPC-Spritesheet-Character-Generator"
Check out these awesome pixel art games that utilize the same techniques we are learning about today:
Roots of Pacha: youtu.be/TNrj1k9CAdY?si=VcvmfynHw-uMkMF8
20 Minutes Till Dawn: youtu.be/d_tTjnIpL5c?si=LUN7vwjPkypxn1CD
Graveyard Keeper: youtu.be/YH8bmTKIkag?si=Slc0CkWm1lK-gh1V
Unsighted : youtu.be/_AXhK7Bxd40?si=nwF2v1hGy-QNXYXt
Travellers Rest: youtu.be/JDk0H02wYXs?si=vLFpooQ_5Rb3yuUy
Chained Echoes: youtu.be/ClrZiz_IMmY?si=OceKwlQA8L_jXy-P
🎨 Toolkit 🎨
Vanilla JavaScript for everything as always, no frameworks and no libraries. Visual Studio Code editor + Live server extension recommended.
00:00 Get creative with pixel art characters
10:23 How to set up a local live server in Visual Studio Code
13:40 How to actually structure your game objects
23:12 A simple movement system for 2D Games
36:40 Data structures for a 2D multi-layered game world
40:19 Smooth grid based movement similar to Pokemon
54:22 Generating sprite sheet animations
59:48 Share your unique character with others
01:00:32 Introduction to sprite animations
01:13:54 Mastering delta time to ensure consistent frame rates
01:24:03 Collision detection with tiled maps
If you want to SUPPORT me you can use the links below and get some one my EXTENDED classes! :)
udemy.com/course/build-animated-physics-game-with-javascript/?referralCode=B4482AF631243104650B
udemy.com/course/learn-game-development-with-javascript/?referralCode=69874A38D543D7F510F2
udemy.com/course/remake-retro-games-with-javascript/?referralCode=2ACCA21F16FE78E631F7
udemy.com/course/learn-creative-coding-with-vanilla-javascript/?referralCode=7C560D4661C5C59262BB
udemy.com/course/creative-coding-deep-dive-for-beginners/?referralCode=F43E8FCE60957A64DF4A
udemy.com/course/learn-html-canvas-pixels-particles-physics/?referralCode=F7977062A4BC964A1F5E
udemy.com/course/learn-html-canvas-advanced-text-effects/?referralCode=4C5821D2D04048CC4A01
Get Skillshare FREE for 1 month:
skillshare.com/en/r/profile/Frank-Dvorak/507488567?gr_tch_ref=on&gr_trp=on
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
#coding #gamedevelopment #javascript #html5canvas #frankslaboratory
Check out these awesome pixel art games that utilize the same techniques we are learning about today:
Super Zoo Story youtu.be/ObWVB7Ooyto?si=D-yrS-Ju1ZkxdWtZ
Bloomtown: A Different Story youtu.be/oEHyqAWcT-w?si=F_kwMNrW-otbSMCy
World of Anterra youtu.be/tqO6j0gQOcA?si=Emkygy9qLnRwZvnT
Drakantos youtu.be/CCXVQxJkBtQ?si=GSmCfAb7mkeidGzH
Emberbane youtu.be/bZncaFTVaX4?si=KUPJJTRHSINY2S-M
Tilemaps for beginners:
youtu.be/1_dizP57I6s
🍄 Download Project Art assets 🍄
Full map: frankslaboratory.co.uk/downloads/141/full_map.png
Tile map: frankslaboratory.co.uk/downloads/141/tilemap1.png
If you fully understand this technique, try to take it to the next level using these EPIC free art assets:
free-game-assets.itch.io/free-cursed-land-top-down-pixel-art-tileset
free-game-assets.itch.io/free-undead-tileset-top-down-pixel-art
Today we will learn:
- How to implement 2D camera
- How to create game world using 2 layers of tiles (ground layer + vegetation layer)
- How to connect camera and tile map to dynamically draw only tiles that are inside the visible camera view
🎨 Toolkit 🎨
Vanilla JavaScript for everything as always, no frameworks and no libraries. Visual Studio Code editor + Live server extension recommended.
00:00 Scrolling through expansive game worlds
00:40 How to implement 2D camera
26:20 2D Multi-Layer tilemap design
40:38 Dynamic auto tiling
If you want to SUPPORT me you can use the links below and get some one my EXTENDED classes! :)
udemy.com/course/build-animated-physics-game-with-javascript/?referralCode=B4482AF631243104650B
udemy.com/course/learn-game-development-with-javascript/?referralCode=69874A38D543D7F510F2
udemy.com/course/remake-retro-games-with-javascript/?referralCode=2ACCA21F16FE78E631F7
udemy.com/course/learn-creative-coding-with-vanilla-javascript/?referralCode=7C560D4661C5C59262BB
udemy.com/course/creative-coding-deep-dive-for-beginners/?referralCode=F43E8FCE60957A64DF4A
udemy.com/course/learn-html-canvas-pixels-particles-physics/?referralCode=F7977062A4BC964A1F5E
udemy.com/course/learn-html-canvas-advanced-text-effects/?referralCode=4C5821D2D04048CC4A01
Get Skillshare FREE for 1 month:
skillshare.com/en/r/profile/Frank-Dvorak/507488567?gr_tch_ref=on&gr_trp=on
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
#coding #gamedevelopment #javascript #html5canvas #frankslaboratory
🍄 Download Project Art assets 🍄
Tile map: frankslaboratory.co.uk/downloads/140/tilemap1simple.png
Watch next:
2D multi-layer tilemap design + dynamic auto tiling based on camera position youtu.be/5PkdYFbS4K4
🎨 Toolkit 🎨
I’m using vanilla JavaScript for everything as always, no frameworks and no libraries, so it’s also very easy to convert this codebase into any other programming language if you want to do that. This class is for beginners, a basic knowledge of programming principles is recommended to get the maximum value
Alternative tile map sources (do you know any other, let me know)
opengameart.org/content/ground-tilemap
cypor.itch.io/12x12-rpg-tileset
seliel-the-shaper.itch.io/winter-forest
opengameart.org/content/slates-32x32px-orthogonal-tileset-by-ivan-voirol
opengameart.org/content/whispers-of-avalon-grassland-tileset
Do you know any other talented Pixel art creators? Leave a comment.
probertson.tumblr.com
artstation.com/dragumagu
twitter.com/dragumagu
If you want to SUPPORT me you can use the links below and get some one my EXTENDED classes! :)
udemy.com/course/build-animated-physics-game-with-javascript/?referralCode=B4482AF631243104650B
udemy.com/course/learn-game-development-with-javascript/?referralCode=69874A38D543D7F510F2
udemy.com/course/remake-retro-games-with-javascript/?referralCode=2ACCA21F16FE78E631F7
udemy.com/course/learn-creative-coding-with-vanilla-javascript/?referralCode=7C560D4661C5C59262BB
udemy.com/course/creative-coding-deep-dive-for-beginners/?referralCode=F43E8FCE60957A64DF4A
udemy.com/course/learn-html-canvas-pixels-particles-physics/?referralCode=F7977062A4BC964A1F5E
udemy.com/course/learn-html-canvas-advanced-text-effects/?referralCode=4C5821D2D04048CC4A01
Get Skillshare FREE for 1 month:
skillshare.com/en/r/profile/Frank-Dvorak/507488567?gr_tch_ref=on&gr_trp=on
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
Advanced version with many more features: youtu.be/VOMpipAMZO4
🎨 Toolkit 🎨
We will use vanilla JavaScript, no frameworks and no libraries because we want to understand every line of code. (JavaScript, HTML canvas, object oriented programming, HTML5, CSS3)
🍄 Download Project Art assets 🍄
Grass tile (day): frankslaboratory.co.uk/downloads/139/grass_day.png
Grass tile (night): frankslaboratory.co.uk/downloads/138/grass_night.png
Magic berry: frankslaboratory.co.uk/downloads/139/magic_berry.png
Snake: frankslaboratory.co.uk/downloads/139/snake_zilla.png
IT ALL STARTED IN 1976 as a two player ARCADE videogame called Blockade. It inspired other arcade games like Surround and Dominos (1977).
The first home computer version called Worm followed in 1978. Mattel released Snafu in 1982. The same year Snake Byte was published for Atari computers and Nibbler, a single player arcade game.
Tron arcade and it's light cycles are a player versus AI variant of the snake game concept.
In 1991 there was Nibbles for MS-DOS and Rattler race was released the next year, where the snakes eat apples.
In 1997 it was chosen as a pre-set game for Nokia cell phones followed by Snake 2 in the year 2000.
Since then there were countless small flash games, with many different takes on the gameplay and graphics. Let's make our own version and add our own little contribution to the video game history.
Challenge: can you add shadow to the snake? It might be more difficult than it seems because the body is made out of individual segments.
If you want to SUPPORT me you can use the links below and get some one my EXTENDED classes! :)
udemy.com/course/build-animated-physics-game-with-javascript/?referralCode=B4482AF631243104650B
udemy.com/course/learn-game-development-with-javascript/?referralCode=69874A38D543D7F510F2
udemy.com/course/remake-retro-games-with-javascript/?referralCode=2ACCA21F16FE78E631F7
udemy.com/course/learn-creative-coding-with-vanilla-javascript/?referralCode=7C560D4661C5C59262BB
udemy.com/course/creative-coding-deep-dive-for-beginners/?referralCode=F43E8FCE60957A64DF4A
udemy.com/course/learn-html-canvas-pixels-particles-physics/?referralCode=F7977062A4BC964A1F5E
udemy.com/course/learn-html-canvas-advanced-text-effects/?referralCode=4C5821D2D04048CC4A01
Get Skillshare FREE for 1 month:
skillshare.com/en/r/profile/Frank-Dvorak/507488567?gr_tch_ref=on&gr_trp=on
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
Tip: this game can be played as 1 player versus AI, 2 players versus AI or even AI versus AI. Set all 4 players as AI-controlled and watch what happens.
Classic snake game with graphics: youtu.be/TBGEt_-rFSs
🎨 Toolkit 🎨
We will use vanilla JavaScript, no frameworks and no libraries because we want to understand every line of code. (JavaScript, HTML canvas, object oriented programming, HTML5, CSS3)
🍄 Download Project Art assets 🍄
Grass tile: frankslaboratory.co.uk/downloads/138/grass_night.png
Background top tile: frankslaboratory.co.uk/downloads/138/forest_margin_repeat.png
Game over screen: frankslaboratory.co.uk/downloads/138/gameOver_forest.png
Background top tile larger: frankslaboratory.co.uk/downloads/138/forest_margin_repeat_1600x600.png
Magic berry: frankslaboratory.co.uk/downloads/138/magic_berry1.png
Snake corgi: frankslaboratory.co.uk/downloads/138/snake_corgi.png
Magic mushroom: frankslaboratory.co.uk/downloads/138/mushroom_sprite.png
Animated foods sprite sheet: frankslaboratory.co.uk/downloads/138/food.png
Void wolf: frankslaboratory.co.uk/downloads/138/void_wolf.png
Sticky saberhound: frankslaboratory.co.uk/downloads/138/sticky_saberhound.png
Spectral schnoodle: frankslaboratory.co.uk/downloads/138/spectral_schnoodle.png
Bite 1: frankslaboratory.co.uk/downloads/138/bite1.mp3
Bite 2: frankslaboratory.co.uk/downloads/138/bite2.mp3
Bite 3: frankslaboratory.co.uk/downloads/138/bite3.mp3
Bite 4: frankslaboratory.co.uk/downloads/138/bite4.mp3
Bite 5: frankslaboratory.co.uk/downloads/138/bite5.mp3
Bad food: frankslaboratory.co.uk/downloads/138/bad_food.mp3
Button: frankslaboratory.co.uk/downloads/138/button.mp3
Start: frankslaboratory.co.uk/downloads/138/start.mp3
Restart: frankslaboratory.co.uk/downloads/138/restart.mp3
Win: frankslaboratory.co.uk/downloads/138/win.mp3
All resources zip: frankslaboratory.co.uk/downloads/138/all_resources.zip
🍄 Tutorial Contents 🍄
00:00:00 Battle snakes in vanilla JavaScript
00:00:27 Project setup
00:04:26 Fully responsive canvas
00:12:01 Drawing animated shapes
00:16:26 Playable characters
00:20:30 Game grid
00:24:04 Fully responsive grid
00:28:00 Animation timing
00:36:04 Player 1: Keyboard arrows
00:46:19 Player 2: Keyboard WSAD
00:49:33 Player 3: Computer AI
00:58:03 Food
01:04:19 Drawing text on canvas
01:06:57 Multi segmented bodies
01:10:30 Movement rules
01:13:11 Game UI: buttons
01:15:00 Game UI: score board
01:20:48 Game UI: player options
01:24:55 Tileable backgrounds
01:31:02 Playable area
01:32:57 Start and restart screens
01:40:40 Tweaks and fixes
01:44:13 Connecting the menus
01:52:00 Fullscreen mode
01:54:12 Debug mode
01:56:48 Images and debug shapes
02:00:28 Character sprite sheets
02:26:21 Animated food
02:31:28 Food seeking AI
02:34:39 Win and lose messages
02:39:28 Mouth animations
02:43:38 Non edible food
02:47:41 Game UI: creature choice
02:54:56 Easy and difficult AI
03:05:07 Game timers
03:07:40 Performance friendly particles
03:27:30 Sound design
Source code
Checkpoint 1 (00:28:00) download zip: frankslaboratory.co.uk/downloads/138/source_code_1.zip
Checkpoint 2: (00:58:03) download zip frankslaboratory.co.uk/downloads/138/source_code_2.zip
If you want to SUPPORT me you can use the links below and get some one my EXTENDED classes! :)
udemy.com/course/build-animated-physics-game-with-javascript/?referralCode=B4482AF631243104650B
udemy.com/course/learn-game-development-with-javascript/?referralCode=69874A38D543D7F510F2
udemy.com/course/remake-retro-games-with-javascript/?referralCode=2ACCA21F16FE78E631F7
udemy.com/course/learn-creative-coding-with-vanilla-javascript/?referralCode=7C560D4661C5C59262BB
udemy.com/course/creative-coding-deep-dive-for-beginners/?referralCode=F43E8FCE60957A64DF4A
udemy.com/course/learn-html-canvas-pixels-particles-physics/?referralCode=F7977062A4BC964A1F5E
udemy.com/course/learn-html-canvas-advanced-text-effects/?referralCode=4C5821D2D04048CC4A01
Get Skillshare FREE for 1 month:
skillshare.com/en/r/profile/Frank-Dvorak/507488567?gr_tch_ref=on&gr_trp=on
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
Main features:
- fully responsive and playable on ANY DEVICE (mobile, tablet, ultra wide screens)
- win condition: time run
- player resource: rechargeable energy
- special ability: speed boost
- player character: Flappy Fish / Antigravity Boar
👽 Download Project Art assets 👽
Background (color): frankslaboratory.co.uk/downloads/137/background_single.png
Background (black & white): frankslaboratory.co.uk/downloads/137/background_single2.png
Player fish: frankslaboratory.co.uk/downloads/137/player_fish.png
Obstacles : frankslaboratory.co.uk/downloads/137/smallGears.png
Sounds (right click and 'Save link as'):
Charge: frankslaboratory.co.uk/downloads/137/charge.mp3
Flap 1: frankslaboratory.co.uk/downloads/137/flap1.mp3
Flap 2: frankslaboratory.co.uk/downloads/137/flap2.mp3
Flap 3: frankslaboratory.co.uk/downloads/137/flap3.mp3
Flap 4: frankslaboratory.co.uk/downloads/137/flap4.mp3
Flap 5: frankslaboratory.co.uk/downloads/137/flap5.mp3
Win: frankslaboratory.co.uk/downloads/137/win.mp3
Lose: frankslaboratory.co.uk/downloads/137/lose.mp3
(if you can't download the files, try to use a different browser or VPN to change your country, also leave a comment so I can fix it)
Playlist: youtube.com/playlist?list=PLYElE_rzEw_tw6scwjv96oEABmnMSQoQW
🌌 Tutorial Contents 🌌
Basic project:
00:00:00 Make GAMES with JavaScript
00:00:37 HTML, CSS & JavaScript setup
00:05:21 Drawing on HTML5 canvas
00:09:29 Resizing HTML5 canvas
00:15:55 Dynamic scaling
00:20:39 How to code gravity
00:26:38 Player controls
00:28:50 Keyboard controls
00:30:49 Scrolling backgrounds
00:35:59 Endless repeating backgrounds
00:40:43 Create obstacles
00:45:45 Position and move obstacles
00:51:20 Count score
00:55:38 Measure time
00:59:40 Handle game over
01:01:14 Handle collisions
01:05:08 Detect collisions
01:07:47 Win or lose
01:09:35 Recharge energy
01:11:07 Special abilities
01:17:45 Time events with precision
01:22:37 Detect swipes
01:25:32 Finishing touches
Steampunk flappy bird game:
01:28:01 Animate your creatures
01:31:00 Make it more steampunk
01:33:21 Animate player actions
01:37:27 Clean-up
01:39:35 How to handle sounds
01:42:38 Manage player resources
01:44:28 Play randomized sounds
01:48:17 Polish every detail
01:50:19 Dynamic font size
01:54:22 What's next?
Source code:
Checkpoint 1 (00:26:38): frankslaboratory.co.uk/downloads/137/source_code_1.zip
If you want to SUPPORT me you can use the links below and get some one my EXTENDED classes! :)
udemy.com/course/build-animated-physics-game-with-javascript/?referralCode=B4482AF631243104650B
udemy.com/course/learn-game-development-with-javascript/?referralCode=69874A38D543D7F510F2
udemy.com/course/remake-retro-games-with-javascript/?referralCode=2ACCA21F16FE78E631F7
udemy.com/course/learn-creative-coding-with-vanilla-javascript/?referralCode=7C560D4661C5C59262BB
udemy.com/course/creative-coding-deep-dive-for-beginners/?referralCode=F43E8FCE60957A64DF4A
udemy.com/course/learn-html-canvas-pixels-particles-physics/?referralCode=F7977062A4BC964A1F5E
udemy.com/course/learn-html-canvas-advanced-text-effects/?referralCode=4C5821D2D04048CC4A01
Get Skillshare FREE for 1 month:
skillshare.com/en/r/profile/Frank-Dvorak/507488567?gr_tch_ref=on&gr_trp=on
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
OBJECT POOL DESIGN PATTERN allows us to reuse objects, rather than constantly creating new ones and destroying the old ones. This approach will improve the performance of the codebase, because it solves problems with automatic memory allocation and garbage collection processes.
STATE DESIGN PATTERN allows us to separate behaviors of the object into separate code blocks, giving us the ultimate control over each individual state, while at the same time making the code easier to read, maintain and debug.
Let's learn how to implement both of these design patterns in a real project using JavaScript & HTML Canvas.
👽 Download Project Art assets 👽
Background horizontal: frankslaboratory.co.uk/downloads/136/background1920x1080.png
Background vertical: frankslaboratory.co.uk/downloads/136/background1080x1920.png
Simple crew member: frankslaboratory.co.uk/downloads/136/crew.png
Beetlemorph 100x100px frames: frankslaboratory.co.uk/downloads/136/beetlemorph100x100.png
Lobstermorph 100x100px frames: frankslaboratory.co.uk/downloads/136/lobstermorph100x100.png
Crew members sprite sheet: frankslaboratory.co.uk/downloads/136/crewSprite.png
Phantommorph 100x100px frames: frankslaboratory.co.uk/downloads/136/phantommorph100x100.png
Sounds (right click and 'Save link as'):
New game: frankslaboratory.co.uk/downloads/136/newgame.mp3
Boom 1: frankslaboratory.co.uk/downloads/136/boom1.mp3
Slide: frankslaboratory.co.uk/downloads/136/slide.mp3
Boom 2: frankslaboratory.co.uk/downloads/136/boom2.mp3
Boom 3: frankslaboratory.co.uk/downloads/136/boom3.mp3
Boom 4: frankslaboratory.co.uk/downloads/136/boom4.mp3
Win: frankslaboratory.co.uk/downloads/136/win.mp3
Lose: frankslaboratory.co.uk/downloads/136/lose.mp3
Scream: frankslaboratory.co.uk/downloads/136/scream.mp3
(if you can't download the files, try to use a different browser or VPN to change your country, also leave a comment so I can fix it)
Playlist: youtube.com/playlist?list=PLYElE_rzEw_tw6scwjv96oEABmnMSQoQW
🌌 Tutorial Contents 🌌
Beginner project:
00:00:00 Build mobile games JavaScript and HTML Canvas.
00:01:08 Project setup
00:03:05 Make everything responsive
00:09:20 Enemy class
00:17:19 Object pool design pattern
00:20:55 Periodic triggers
00:27:45 Mouse controls
00:29:15 Collision detection
00:37:05 Touch events
00:38:43 Game text
00:45:46 Start & restart
00:49:21 Fullscreen games
Advanced project:
00:53:29 Simple crew members
00:54:59 Simple enemy type
00:59:23 Sprite animation
01:03:44 Animation timing
01:07:52 Debug mode
01:10:01 Enemy variety
01:14:31 Randomized space crew
01:18:18 State management in games
01:22:46 State design pattern
01:38:10 Sounds and final details
Source code:
Checkpoint 1 (00:16:21): frankslaboratory.co.uk/downloads/136/source_code_1.zip
Checkpoint 2 (00:52:46): frankslaboratory.co.uk/downloads/136/source_code_2.zip
If you want to SUPPORT me you can use the links below and get some one my EXTENDED classes! :)
udemy.com/course/learn-creative-coding-with-vanilla-javascript/?referralCode=7C560D4661C5C59262BB
udemy.com/course/learn-game-development-with-javascript/?referralCode=69874A38D543D7F510F2
udemy.com/course/creative-coding-deep-dive-for-beginners/?referralCode=F43E8FCE60957A64DF4A
udemy.com/course/build-animated-physics-game-with-javascript/?referralCode=B4482AF631243104650B
udemy.com/course/learn-html-canvas-pixels-particles-physics/?referralCode=F7977062A4BC964A1F5E
udemy.com/course/remake-retro-games-with-javascript/?referralCode=2ACCA21F16FE78E631F7
udemy.com/course/learn-html-canvas-advanced-text-effects/?referralCode=4C5821D2D04048CC4A01
Get Skillshare FREE for 1 month:
skillshare.com/en/r/profile/Frank-Dvorak/507488567?gr_tch_ref=on&gr_trp=on
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
DISCOVER creative coding techniques that will take your projects to the next level and practice HTML, CSS & JavaScript at the same time.
We want to really UNDERSTAND so there will be NO frameworks and NO libraries. We will write everything line by line using vanilla JavaScript and Object Oriented Programming. We will explain every line of code to make sure, we have a COMPLETE CONTROL over the effects.
Have you decided that this year you want to become really good at JavaScript and need a set of fun, visual and memorable projects to learn and practice on?
Have fun!
⭐️Today we will build a series or effects that DEFORM, ASSEMBLE & BREAK IMAGES apart in different ways: ⭐️
00:00 Image manipulation effects masterclass
00:42 HTML, CSS & JavaScript setup
02:08 How to organise anything into a grid
08:33 How to draw, crop and slice images with JavaScript
12:38 How to animate images with JavaScript
🎨 "SLICE & DICE" EFFECTS on images 🎨
14:25 Mouse interactivity
16:15 How to find the distance between two points
19:17 Getting direction from point A to point B
24:08 Motion physics formula (friction, easing)
🖼️ "ASSEMBLE" EFFECTS on images 🖼️
30:14 Moving the cells around
33:08 Performance optimizations
🎭 CREATIVE CODING EXPERIMENTS 🎭
34:41 Cell index, animation delay and more..
💪 BEGINNER CHALLENGE: Play with the values I showed you in the video and come up with a new unique effect, something that I didn't do in the video.
🏋️ ADVANCED CHALLENGE: Can you come up with your own mathematical pattern to assemble the image in a unique way?
What's next?
Try some of these more advanced effect using the same physics formula we learned today:
Particle Images youtu.be/vAJEHf92tV0
Particle Text youtu.be/2F2t1RJoGt8
If you want to SUPPORT me you can use the links below and get some one my EXTENDED classes! :)
udemy.com/course/learn-creative-coding-with-vanilla-javascript/?referralCode=7C560D4661C5C59262BB
udemy.com/course/learn-game-development-with-javascript/?referralCode=69874A38D543D7F510F2
udemy.com/course/creative-coding-deep-dive-for-beginners/?referralCode=F43E8FCE60957A64DF4A
udemy.com/course/build-animated-physics-game-with-javascript/?referralCode=B4482AF631243104650B
udemy.com/course/learn-html-canvas-pixels-particles-physics/?referralCode=F7977062A4BC964A1F5E
udemy.com/course/remake-retro-games-with-javascript/?referralCode=2ACCA21F16FE78E631F7
udemy.com/course/learn-html-canvas-advanced-text-effects/?referralCode=4C5821D2D04048CC4A01
Get Skillshare FREE for 1 month:
skillshare.com/en/r/profile/Frank-Dvorak/507488567?gr_tch_ref=on&gr_trp=on
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
We can apply state pattern to an individual character to give it a set of abilities and special moves.
We can also apply it to the entire game, split it into levels and give each level different environment and other unique features.
State design pattern focuses on separating code for each state in it's own code block, that code block could be a special attack or individual game level for example.
In my implementation we will also include elements of finite state machine, which is more about the relationships between the individual states and how they transition into each other. We will restrict which states the alien is able to switch into and how it reacts to user inputs, depending on which state it is currently in.
👽 Download Project Art assets 👽
Alien: frankslaboratory.co.uk/downloads/133/locustmorph_large.png
Background (optional): frankslaboratory.co.uk/downloads/133/background.png
(if you can't download the files, try to use a different browser or VPN to change your country, also leave a comment so I can fix it)
Playlist: youtube.com/playlist?list=PLYElE_rzEw_tw6scwjv96oEABmnMSQoQW
🌌 Tutorial Contents 🌌
00:00 Why we need state management
02:11 Project setup
06:21 Keyboard controls with JavaScript Sets
08:14 How to implement State design pattern
14:11 Switching states on keypress
16:12 Animation loop
21:54 Switching states on automated condition
24:14 Making each state unique
26:31 State dependent status text
32:43 State dependent animations
If you want to SUPPORT me you can use the links below and get some one my EXTENDED classes! 💪
udemy.com/course/learn-creative-coding-with-vanilla-javascript/?referralCode=7C560D4661C5C59262BB
udemy.com/course/learn-game-development-with-javascript/?referralCode=69874A38D543D7F510F2
udemy.com/course/creative-coding-deep-dive-for-beginners/?referralCode=F43E8FCE60957A64DF4A
udemy.com/course/build-animated-physics-game-with-javascript/?referralCode=B4482AF631243104650B
udemy.com/course/learn-html-canvas-pixels-particles-physics/?referralCode=F7977062A4BC964A1F5E
udemy.com/course/remake-retro-games-with-javascript/?referralCode=2ACCA21F16FE78E631F7
udemy.com/course/learn-html-canvas-advanced-text-effects/?referralCode=4C5821D2D04048CC4A01
Get Skillshare FREE for 1 month: 🎓
skillshare.com/en/r/profile/Frank-Dvorak/507488567?gr_tch_ref=on&gr_trp=on
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
DISCOVER and MASTER creative coding and add 8 FUNDAMENTAL TECHNIQUES into your animation toolkit.
Have you decided that this year you want to become really good at JavaScript and need a set of fun, visual and memorable projects to learn and practice on?
Have fun!
⭐️Today we will build 8 creative coding projects: ⭐️
🎨 Project 1:
00:00:00 Constellations effect
Build the famous effect that connects floating particles with lines using dynamic opacity. No frameworks and no libraries.
🎨 Project 2:
00:57:16 Sunrays effect
Apply specific styles to every nth particle. For example connect the mouse to every 10th particle with a line.
🎨 Project 3:
01:03:59 Particle bubbles
Turn particles into bubbles that interact with mouse by growing and shrinking in size. Draw simple shapes with inflatable bubble trails.
🎨 Project 4:
01:11:17 Star particles
Particles can look like any image of your choice. Turn particles into stars, planets or Pokémon.
Learn how to use a sprite sheet (a single image that consists of several smaller images) and assign each particle one randomised frame.
🎨 Project 5:
01:24:15 Liquid Effects
Experiments with interactive liquid and sticky effects, so called 'meta-balls'.
🎨 Project 6:
01:32:27 Bouncing particles
Make particles bounce around a website.
Collision detection between 2 rectangles, where one rectangle is a hit box around each particle and the other is a bounding rectangle of any website element of your choice.
🎨 Project 7:
02:02:53 Scrolling particles and animated characters
Endlessly scrolling particle field effect, that can also be used for many games. And then we make those particle interact with animated character, using sprite animation capabilities of built-in drawImage method.
🎨 Project 8:
02:43:19 Spatially aware particles in liquid
Create a simple physics system where particles push each other around, move around each other and do their best to never overlap. Also experiments with liquids and gradients.
Course resources:
Download STARTER CODE (from the end of project 1): frankslaboratory.co.uk/downloads/117/particle_systems_source_code.zip
codepen.io/franksLaboratory/pen/BaqVmMB
Experimental bubbles (project 3):
experiment 1: codepen.io/franksLaboratory/pen/MWzyYOG
experiment 2: codepen.io/franksLaboratory/pen/PoxNwEG
experiment 3: codepen.io/franksLaboratory/pen/oNQxgdv
Stars sprite sheet (project 4): frankslaboratory.co.uk/downloads/129/stars_sprite.png
Scrolling stars and space whales (project 7):
⭐️ STAR: frankslaboratory.co.uk/downloads/119/star.png
🐋 WHALE 1: frankslaboratory.co.uk/downloads/119/whale1.png
🐋 WHALE 2: frankslaboratory.co.uk/downloads/119/whale2.png
🐋 WHALE 3: frankslaboratory.co.uk/downloads/119/whale3.png
(if you can't download the files, try to use a different browser or VPN to change your country)
What's next?
This class focuses on PARTICLES. If you want, you can also explore FLOW FIELDS: youtube.com/playlist?list=PLYElE_rzEw_uVHNJjZor-b_bJpftEG4tV&si=XZl7A_ccZtkwtWR1
or FRACTALS youtu.be/dQKYao-daYw
or how about SIMPLE TEXT EFFECTS youtu.be/f5ZswIE_SgY
or more ADVANCED TEXT EFFECTS youtu.be/2F2t1RJoGt8
If you want to SUPPORT me you can use the links below and get some one my EXTENDED classes! 💪
udemy.com/course/learn-creative-coding-with-vanilla-javascript/?referralCode=7C560D4661C5C59262BB
udemy.com/course/learn-game-development-with-javascript/?referralCode=69874A38D543D7F510F2
udemy.com/course/creative-coding-deep-dive-for-beginners/?referralCode=F43E8FCE60957A64DF4A
udemy.com/course/build-animated-physics-game-with-javascript/?referralCode=B4482AF631243104650B
udemy.com/course/learn-html-canvas-pixels-particles-physics/?referralCode=F7977062A4BC964A1F5E
udemy.com/course/remake-retro-games-with-javascript/?referralCode=2ACCA21F16FE78E631F7
udemy.com/course/learn-html-canvas-advanced-text-effects/?referralCode=4C5821D2D04048CC4A01
Get Skillshare FREE for 1 month: 🎓
skillshare.com/en/r/profile/Frank-Dvorak/507488567?gr_tch_ref=on&gr_trp=on
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
Let's learn JavaScript by making games.
Today we are building an animated 2d game completely from scratch with no frameworks and no libraries using just plain vanilla JavaScript and HTML5 canvas.
Discover many 2D game development techniques and learn how to implement them with JavaScript. We will cover everything from keyboard and mouse controls to performance friendly sprite animation tips and tricks, and the main focus this time is object pool design pattern. We will use it for enemies and for player projectiles, because reusing our objects, rather then creating and discarding them over and over, can be a massive performance benefit.
This class is for creative coders who want to learn about the fundamentals of 2D game development as well as for JavaScript beginners who want to practice their object oriented programming skills on a fun visual and interactive project.
👽 Download Project Art assets 👽
Background: frankslaboratory.co.uk/downloads/131/background.png
Planet: frankslaboratory.co.uk/downloads/131/planet.png
Player space ship: frankslaboratory.co.uk/downloads/131/player.png
Asteroid enemy: frankslaboratory.co.uk/downloads/131/asteroid.png
Lobstermorph enemy: frankslaboratory.co.uk/downloads/131/lobstermorph.png
Beetlemorph enemy: frankslaboratory.co.uk/downloads/131/beetlemorph.png
Rhinomorph enemy: frankslaboratory.co.uk/downloads/131/rhinomorph.png
(if you can't download the files, try to use a different browser or VPN to change your country, also leave a comment so I can fix it)
Playlist: youtube.com/playlist?list=PLYElE_rzEw_tw6scwjv96oEABmnMSQoQW
🌌 Tutorial Contents 🌌
00:00:00 Intro
00:01:02 Project setup
00:03:24 Planet and Game class
00:11:34 Mouse position
00:17:53 Player spaceship
00:22:35 A little bit of math
00:30:23 Understand canvas rotation
00:36:39 Debug mode
00:39:04 Object pool
00:51:27 Player projectiles
00:57:38 Enemy pool
01:05:03 Reusable collision detection method
01:07:24 Periodic events
01:15:30 Asteroid enemy class
01:19:51 Sprite animation in JavaScript
01:29:07 Lobstermorph enemy class
01:38:22 Drawing game text
01:43:49 Player lives
01:48:58 Beetlemorph enemy class
01:50:33 Rhinomorph enemy class
01:51:40 What's next
If you want to SUPPORT me you can use the links below and get some one my EXTENDED classes! 💪
udemy.com/course/learn-creative-coding-with-vanilla-javascript/?referralCode=7C560D4661C5C59262BB
udemy.com/course/learn-game-development-with-javascript/?referralCode=69874A38D543D7F510F2
udemy.com/course/creative-coding-deep-dive-for-beginners/?referralCode=F43E8FCE60957A64DF4A
udemy.com/course/build-animated-physics-game-with-javascript/?referralCode=B4482AF631243104650B
udemy.com/course/learn-html-canvas-pixels-particles-physics/?referralCode=F7977062A4BC964A1F5E
udemy.com/course/remake-retro-games-with-javascript/?referralCode=2ACCA21F16FE78E631F7
udemy.com/course/learn-html-canvas-advanced-text-effects/?referralCode=4C5821D2D04048CC4A01
Get Skillshare FREE for 1 month: 🎓
skillshare.com/en/r/profile/Frank-Dvorak/507488567?gr_tch_ref=on&gr_trp=on
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
Want to build this effect FROM SCRATCH? Follow these steps with me:
Step 1: youtu.be/5dIbK0auaB8
Step 2: youtu.be/gxagf0WKfBo
Step 3: this video (youtu.be/P2bFr5MwLUE)
Particle systems masterclass FULL PLAYLIST: youtube.com/playlist?list=PLYElE_rzEw_tLmWtIkUfI6Odi38ajFI8R
Download STARTER CODE: frankslaboratory.co.uk/downloads/117/particle_systems_source_code.zip
codepen.io/franksLaboratory/pen/BaqVmMB
(if you can't download the files, try to use a different browser or VPN to change your country)
Create beautiful particle systems with HTML5, CSS3 and plain vanilla JavaScript, no frameworks and no libraries. Understanding how the code works will allow us to transform this codebase into multiple very different effects. Let's explore the basic techniques and then take them to the limits in this particle effects crash course.
If you want to SUPPORT me you can use the links below and get some one my EXTENDED classes! 💪
udemy.com/course/learn-creative-coding-with-vanilla-javascript/?referralCode=7C560D4661C5C59262BB
udemy.com/course/learn-game-development-with-javascript/?referralCode=69874A38D543D7F510F2
udemy.com/course/creative-coding-deep-dive-for-beginners/?referralCode=F43E8FCE60957A64DF4A
udemy.com/course/build-animated-physics-game-with-javascript/?referralCode=B4482AF631243104650B
udemy.com/course/learn-html-canvas-pixels-particles-physics/?referralCode=F7977062A4BC964A1F5E
udemy.com/course/remake-retro-games-with-javascript/?referralCode=2ACCA21F16FE78E631F7
udemy.com/course/learn-html-canvas-advanced-text-effects/?referralCode=4C5821D2D04048CC4A01
Get Skillshare FREE for 1 month: 🎓
skillshare.com/en/r/profile/Frank-Dvorak/507488567?gr_tch_ref=on&gr_trp=on
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
We want smooth fast animation, so we should always try to make JavaScript do as little work as possible. Let me show you a very simple and easy way how to use sprite sheets with your particle effects.
Want to build this effect FROM SCRATCH? Follow these steps with me:
Step 1: youtu.be/5dIbK0auaB8
Step 2: youtu.be/gxagf0WKfBo
Step 3: this video (youtu.be/ipOIQhEUKqw)
Particle systems masterclass FULL PLAYLIST: youtube.com/playlist?list=PLYElE_rzEw_tLmWtIkUfI6Odi38ajFI8R
Sprite sheet: frankslaboratory.co.uk/downloads/129/stars_sprite.png
Download STARTER CODE: frankslaboratory.co.uk/downloads/117/particle_systems_source_code.zip
codepen.io/franksLaboratory/pen/BaqVmMB
(if you can't download the files, try to use a different browser or VPN to change your country)
Create beautiful particle systems with HTML5, CSS3 and plain vanilla JavaScript, no frameworks and no libraries. Understanding how the code works will allow us to transform this codebase into multiple very different effects. Let's explore the basic techniques and then take them to the limits in this particle effects crash course.
If you want to SUPPORT me you can use the links below and get some one my EXTENDED classes! 💪
udemy.com/course/learn-creative-coding-with-vanilla-javascript/?referralCode=7C560D4661C5C59262BB
udemy.com/course/learn-game-development-with-javascript/?referralCode=69874A38D543D7F510F2
udemy.com/course/creative-coding-deep-dive-for-beginners/?referralCode=F43E8FCE60957A64DF4A
udemy.com/course/build-animated-physics-game-with-javascript/?referralCode=B4482AF631243104650B
udemy.com/course/learn-html-canvas-pixels-particles-physics/?referralCode=F7977062A4BC964A1F5E
udemy.com/course/remake-retro-games-with-javascript/?referralCode=2ACCA21F16FE78E631F7
udemy.com/course/learn-html-canvas-advanced-text-effects/?referralCode=4C5821D2D04048CC4A01
Get Skillshare FREE for 1 month: 🎓
skillshare.com/en/r/profile/Frank-Dvorak/507488567?gr_tch_ref=on&gr_trp=on
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
🚀 Full EXTENDED version includes: 4 unique enemy types, full source code from 8 stages throughout the project, 8 boss skins, super weapons and more. Check out the trailer and feature overview here: udemy.com/course/remake-retro-games-with-javascript/?referralCode=2ACCA21F16FE78E631F7
Part 1: youtu.be/cuudnyDyWGE
Part 2: youtu.be/oULPfiGeUV0
Part 3: youtu.be/bobqrOT-cVI
Part 4: this video
Today we will learn:
How to implement automatically recharging energy bar and overheating mechanic
How to render and check collision between new powerful laser beams and bosses/enemies
How to restrict colors and canvas transforms only to specific shapes using save() and restore() built-in HTML canvas methods.
...and more
If you want to SUPPORT me you can use the links below and get some one my EXTENDED classes! 💪
udemy.com/course/learn-creative-coding-with-vanilla-javascript/?referralCode=7C560D4661C5C59262BB
udemy.com/course/learn-game-development-with-javascript/?referralCode=69874A38D543D7F510F2
udemy.com/course/creative-coding-deep-dive-for-beginners/?referralCode=F43E8FCE60957A64DF4A
udemy.com/course/build-animated-physics-game-with-javascript/?referralCode=B4482AF631243104650B
udemy.com/course/learn-html-canvas-pixels-particles-physics/?referralCode=F7977062A4BC964A1F5E
udemy.com/course/remake-retro-games-with-javascript/?referralCode=2ACCA21F16FE78E631F7
udemy.com/course/learn-html-canvas-advanced-text-effects/?referralCode=4C5821D2D04048CC4A01
Get Skillshare FREE for 1 month: 🎓
skillshare.com/en/r/profile/Frank-Dvorak/507488567?gr_tch_ref=on&gr_trp=on
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
Today we will design and implement randomized boss battles and we will make them a part of our JavaScript Space Invaders game. Have fun!
🚀 Full EXTENDED version includes: 4 unique enemy types, full source code from 8 stages throughout the project, 8 boss skins, super weapons and more. Check out the trailer and feature overview here: udemy.com/course/remake-retro-games-with-javascript/?referralCode=2ACCA21F16FE78E631F7
Part 1: youtu.be/cuudnyDyWGE
Part 2: youtu.be/oULPfiGeUV0
Part 3: this video
Part 4: youtu.be/nwPBVwtsVys
👽 Download Project Art assets 👽
Boss creatures sprite sheet: frankslaboratory.co.uk/downloads/125/boss.png
(if you can't download the files, try to use a different browser or VPN to change your country, also leave a comment so I can fix it)
Today we will learn:
How to implement a basic boss fight
How to animate boss creatures in HTML canvas
How to give bosses growing health pool and integrate them to come periodically along with the enemy waves
How to animate sprite sheets using built in JavaScript drawImage() method
...and more
If you want to SUPPORT me you can use the links below and get some one my EXTENDED classes! 💪
udemy.com/course/learn-creative-coding-with-vanilla-javascript/?referralCode=7C560D4661C5C59262BB
udemy.com/course/learn-game-development-with-javascript/?referralCode=69874A38D543D7F510F2
udemy.com/course/creative-coding-deep-dive-for-beginners/?referralCode=F43E8FCE60957A64DF4A
udemy.com/course/build-animated-physics-game-with-javascript/?referralCode=B4482AF631243104650B
udemy.com/course/learn-html-canvas-pixels-particles-physics/?referralCode=F7977062A4BC964A1F5E
udemy.com/course/remake-retro-games-with-javascript/?referralCode=2ACCA21F16FE78E631F7
udemy.com/course/learn-html-canvas-advanced-text-effects/?referralCode=4C5821D2D04048CC4A01
Get Skillshare FREE for 1 month: 🎓
skillshare.com/en/r/profile/Frank-Dvorak/507488567?gr_tch_ref=on&gr_trp=on
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
Today we will design and implement an armored enemy type and we will make it a part of our JavaScript Space Invaders game. Have fun!
🚀 Full EXTENDED version includes: 4 unique enemy types, full source code from 8 stages throughout the project, 8 boss skins, super weapons and more. Check out the trailer and feature overview here: udemy.com/course/remake-retro-games-with-javascript/?referralCode=2ACCA21F16FE78E631F7
Part 1: youtu.be/cuudnyDyWGE
Part 2: this video
Part 3: youtu.be/bobqrOT-cVI
Part 4: youtu.be/nwPBVwtsVys
👽 Download Project Art assets 👽
Rhinomorph enemy: frankslaboratory.co.uk/downloads/125/rhinomorph.png
(if you can't download the files, try to use a different browser or VPN to change your country, also leave a comment so I can fix it)
Today we will learn:
How to extend a class in JavaScript
How to override inherited methods on JavaScript sub classes
How to use HTML canvas drawImage() method
...and more
If you want to SUPPORT me you can use the links below and get some one my EXTENDED classes! 💪
udemy.com/course/learn-creative-coding-with-vanilla-javascript/?referralCode=7C560D4661C5C59262BB
udemy.com/course/learn-game-development-with-javascript/?referralCode=69874A38D543D7F510F2
udemy.com/course/creative-coding-deep-dive-for-beginners/?referralCode=F43E8FCE60957A64DF4A
udemy.com/course/build-animated-physics-game-with-javascript/?referralCode=B4482AF631243104650B
udemy.com/course/learn-html-canvas-pixels-particles-physics/?referralCode=F7977062A4BC964A1F5E
udemy.com/course/remake-retro-games-with-javascript/?referralCode=2ACCA21F16FE78E631F7
udemy.com/course/learn-html-canvas-advanced-text-effects/?referralCode=4C5821D2D04048CC4A01
Get Skillshare FREE for 1 month: 🎓
skillshare.com/en/r/profile/Frank-Dvorak/507488567?gr_tch_ref=on&gr_trp=on
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
🚀 Full EXTENDED version includes: 4 unique enemy types, full source code from 8 stages throughout the project, 8 boss skins, super weapons and more. Check out the trailer and feature overview here: udemy.com/course/remake-retro-games-with-javascript/?referralCode=2ACCA21F16FE78E631F7
Part 1: this video (youtu.be/cuudnyDyWGE)
Part 2: youtu.be/oULPfiGeUV0
Part 3: youtu.be/bobqrOT-cVI
Part 4: youtu.be/nwPBVwtsVys
Playlist: youtube.com/playlist?list=PLYElE_rzEw_tw6scwjv96oEABmnMSQoQW
👽 Download Project Art assets 👽
Background: frankslaboratory.co.uk/downloads/125/background.png
Beetlemorph enemy: frankslaboratory.co.uk/downloads/125/beetlemorph.png
Player space ship: frankslaboratory.co.uk/downloads/125/player.png
Player jets: frankslaboratory.co.uk/downloads/125/player_jets.png
(if you can't download the files, try to use a different browser or VPN to change your country, also leave a comment so I can fix it)
🌌 Tutorial Contents 🌌
00:00:00 Intro
00:00:44 Project setup
00:05:23 Game and player objects
00:11:00 Keyboard controls
00:18:27 Object pool design pattern
00:31:28 Enemy waves
00:45:02 Collision detection
00:53:05 Score and game text
01:05:53 Game restart method
01:11:36 Beetlemorph enemy class
01:16:26 Sprite animation explained
01:27:02 Animation timing
01:37:17 Player animation
Space Invaders was released in arcades across Japan in the summer of 1978. Back in the day, the processors were not powerful enough to move the entire army of aliens at the speed the designer Tomohiro Nishikado intended, but as the player defeated enemies, it freed more processor memory and the game was getting faster and faster the fewer enemies were on screen. It also affected the speed of background music. It wasn't intended but this rising difficulty bug became a game feature. We will create a variation on this by making the enemies come in larger and larger waves. I will be using NO frameworks and no libraries and I will explain every line of code as usual, because only when you fully understand the code can you modify and add your own features later if that's what you want to do.
If you want to SUPPORT me you can use the links below and get some one my EXTENDED classes! 💪
udemy.com/course/learn-creative-coding-with-vanilla-javascript/?referralCode=7C560D4661C5C59262BB
udemy.com/course/learn-game-development-with-javascript/?referralCode=69874A38D543D7F510F2
udemy.com/course/creative-coding-deep-dive-for-beginners/?referralCode=F43E8FCE60957A64DF4A
udemy.com/course/build-animated-physics-game-with-javascript/?referralCode=B4482AF631243104650B
udemy.com/course/learn-html-canvas-pixels-particles-physics/?referralCode=F7977062A4BC964A1F5E
udemy.com/course/remake-retro-games-with-javascript/?referralCode=2ACCA21F16FE78E631F7
udemy.com/course/learn-html-canvas-advanced-text-effects/?referralCode=4C5821D2D04048CC4A01
Get Skillshare FREE for 1 month: 🎓
skillshare.com/en/r/profile/Frank-Dvorak/507488567?gr_tch_ref=on&gr_trp=on
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
Want to build this effect FROM SCRATCH? Follow these steps with me:
Step 1: youtu.be/5dIbK0auaB8
Step 2: youtu.be/gxagf0WKfBo
Step 3: this video (youtu.be/LKvTzOfyjTM)
Particle systems masterclass FULL PLAYLIST: youtube.com/playlist?list=PLYElE_rzEw_tLmWtIkUfI6Odi38ajFI8R
Download STARTER CODE: frankslaboratory.co.uk/downloads/117/particle_systems_source_code.zip
codepen.io/franksLaboratory/pen/BaqVmMB
(if you can't download the files, try to use a different browser or VPN to change your country)
SOURCE CODE:
experiment 1: codepen.io/franksLaboratory/pen/MWzyYOG
experiment 2: codepen.io/franksLaboratory/pen/PoxNwEG
experiment 3: codepen.io/franksLaboratory/pen/oNQxgdv
Create beautiful particle systems with HTML5, CSS3 and plain vanilla JavaScript, no frameworks and no libraries. Understanding how the code works will allow us to transform this codebase into multiple very different effects. Let's explore the basic techniques and then take them to the limits in this particle effects crash course.
If you want to SUPPORT me you can use the links below and get some one my EXTENDED classes! 💪
udemy.com/course/learn-creative-coding-with-vanilla-javascript/?referralCode=7C560D4661C5C59262BB
udemy.com/course/learn-game-development-with-javascript/?referralCode=69874A38D543D7F510F2
udemy.com/course/creative-coding-deep-dive-for-beginners/?referralCode=F43E8FCE60957A64DF4A
udemy.com/course/build-animated-physics-game-with-javascript/?referralCode=B4482AF631243104650B
udemy.com/course/learn-html-canvas-pixels-particles-physics/?referralCode=F7977062A4BC964A1F5E
udemy.com/course/remake-retro-games-with-javascript/?referralCode=2ACCA21F16FE78E631F7
udemy.com/course/learn-html-canvas-advanced-text-effects/?referralCode=4C5821D2D04048CC4A01
Get Skillshare FREE for 1 month: 🎓
skillshare.com/en/r/profile/Frank-Dvorak/507488567?gr_tch_ref=on&gr_trp=on
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
One of the simpler forms of collision detection is between TWO RECTANGLES that are axis aligned, they are not rotated. The algorithm works by ensuring there is no gap between any of the 4 sides of the rectangles. Let me show you the formula, explain it line by line and apply it in a real project.
PART1: youtu.be/-jC7_B2PyU0
Particle systems masterclass FULL PLAYLIST: youtube.com/playlist?list=PLYElE_rzEw_tLmWtIkUfI6Odi38ajFI8R
Download STARTER CODE: frankslaboratory.co.uk/downloads/117/particle_systems_source_code.zip
codepen.io/franksLaboratory/pen/BaqVmMB
(if you can't download the files, try to use a different browser or VPN to change your country)
⭐️Tutorial Contents ⭐️
00:00 Particles that interact with HTML elements
00:32 Bounce counter
04:00 Sideways stream motion
06:10 Particle trails
08:36 Positioning coordinates based on canvas size
Create beautiful particle systems with HTML5, CSS3 and plain vanilla JavaScript, no frameworks and no libraries. Understanding how the code works will allow us to transform this codebase into multiple very different effects. Let's explore the basic techniques and then take them to the limits in this particle effects crash course.
If you want to SUPPORT me you can use the links below and get some one my EXTENDED classes! 💪
udemy.com/course/learn-creative-coding-with-vanilla-javascript/?referralCode=7C560D4661C5C59262BB
udemy.com/course/learn-game-development-with-javascript/?referralCode=69874A38D543D7F510F2
udemy.com/course/creative-coding-deep-dive-for-beginners/?referralCode=F43E8FCE60957A64DF4A
udemy.com/course/build-animated-physics-game-with-javascript/?referralCode=B4482AF631243104650B
udemy.com/course/learn-html-canvas-pixels-particles-physics/?referralCode=F7977062A4BC964A1F5E
udemy.com/course/remake-retro-games-with-javascript/?referralCode=2ACCA21F16FE78E631F7
udemy.com/course/learn-html-canvas-advanced-text-effects/?referralCode=4C5821D2D04048CC4A01
Get Skillshare FREE for 1 month: 🎓
skillshare.com/en/r/profile/Frank-Dvorak/507488567?gr_tch_ref=on&gr_trp=on
Particle systems masterclass FULL PLAYLIST: youtube.com/playlist?list=PLYElE_rzEw_tLmWtIkUfI6Odi38ajFI8R
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
One of the simpler forms of collision detection is between TWO RECTANGLES that are axis aligned, they are not rotated. The algorithm works by ensuring there is no gap between any of the 4 sides of the rectangles. Let me show you the formula, explain it line by line and apply it in a real project.
Want to build this effect FROM SCRATCH? Follow these steps with me:
Step 1: youtu.be/5dIbK0auaB8
Step 2: youtu.be/gxagf0WKfBo
Step 3: this video (youtu.be/-jC7_B2PyU0)
Particle systems masterclass FULL PLAYLIST: youtube.com/playlist?list=PLYElE_rzEw_tLmWtIkUfI6Odi38ajFI8R
Download STARTER CODE: frankslaboratory.co.uk/downloads/117/particle_systems_source_code.zip
codepen.io/franksLaboratory/pen/BaqVmMB
(if you can't download the files, try to use a different browser or VPN to change your country)
⭐️Tutorial Contents ⭐️
00:00 Particles that interact with HTML elements
00:40 HTML headings, CSS and gradients
02:13 Particle physics - gravity
06:58 How to measure HTML elements
10:32 Collision detection between two rectangles
15:46 Bounce!
Create beautiful particle systems with HTML5, CSS3 and plain vanilla JavaScript, no frameworks and no libraries. Understanding how the code works will allow us to transform this codebase into multiple very different effects. Let's explore the basic techniques and then take them to the limits in this particle effects crash course.
If you want to support me, you can use these links and buy some of my premium extended courses:
Udemy
📚udemy.com/course/learn-creative-coding-with-vanilla-javascript/?referralCode=7C560D4661C5C59262BB
📚udemy.com/course/build-animated-physics-game-with-javascript/?referralCode=B4482AF631243104650B
📚udemy.com/course/learn-html-canvas-pixels-particles-physics/?referralCode=F7977062A4BC964A1F5E
📚 Skillshare (free 1 month trial that includes all my extended classes including this one):
skillshare.com/en/r/profile/Frank-Dvorak/507488567?gr_tch_ref=on&gr_trp=on
Particle systems masterclass FULL PLAYLIST: youtube.com/playlist?list=PLYElE_rzEw_tLmWtIkUfI6Odi38ajFI8R
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
PART 1 particle masterclass: youtu.be/5dIbK0auaB8
PART 1 space whales : youtu.be/vIopRAihmLw
Particle systems masterclass FULL PLAYLIST: youtube.com/playlist?list=PLYElE_rzEw_tLmWtIkUfI6Odi38ajFI8R
Download project resources:
STARTER CODE: frankslaboratory.co.uk/downloads/117/particle_systems_source_code.zip
codepen.io/franksLaboratory/pen/BaqVmMB
🐋 4 WHALES SPRITE SHEET: frankslaboratory.co.uk/downloads/119/whale3.png
(if you can't download the files, try to use a different browser or VPN to change your country)
⭐️Tutorial Contents ⭐️
00:00 How to use requestAnimationFrame timestamps
06:25 Randomising sprite sheets
07:48 Particle & creature interactions
08:55 Creative coding experiments
Create beautiful particle systems with HTML5, CSS3 and plain vanilla JavaScript, no frameworks and no libraries. Understanding how the code works will allow us to transform this codebase into multiple very different effects. Let's explore the basic techniques and then take them to the limits in this particle effects crash course.
If you want to SUPPORT me you can use the links below and get some one my EXTENDED classes! 💪
udemy.com/course/learn-creative-coding-with-vanilla-javascript/?referralCode=7C560D4661C5C59262BB
udemy.com/course/learn-game-development-with-javascript/?referralCode=69874A38D543D7F510F2
udemy.com/course/creative-coding-deep-dive-for-beginners/?referralCode=F43E8FCE60957A64DF4A
udemy.com/course/build-animated-physics-game-with-javascript/?referralCode=B4482AF631243104650B
udemy.com/course/learn-html-canvas-pixels-particles-physics/?referralCode=F7977062A4BC964A1F5E
udemy.com/course/remake-retro-games-with-javascript/?referralCode=2ACCA21F16FE78E631F7
udemy.com/course/learn-html-canvas-advanced-text-effects/?referralCode=4C5821D2D04048CC4A01
Get Skillshare FREE for 1 month: 🎓
skillshare.com/en/r/profile/Frank-Dvorak/507488567?gr_tch_ref=on&gr_trp=on
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
PART 1 particle masterclass: youtu.be/5dIbK0auaB8
PART 1 space whales : youtu.be/vIopRAihmLw
Particle systems masterclass FULL PLAYLIST: youtube.com/playlist?list=PLYElE_rzEw_tLmWtIkUfI6Odi38ajFI8R
Download project resources:
STARTER CODE: frankslaboratory.co.uk/downloads/117/particle_systems_source_code.zip
codepen.io/franksLaboratory/pen/BaqVmMB
🐋 WHALE SPRITE SHEET: frankslaboratory.co.uk/downloads/119/whale2.png
(if you can't download the files, try to use a different browser or VPN to change your country)
⭐️Tutorial Contents ⭐️
00:00 Up and down motion - sine wave
03:38 HTML canvas rotation explained
08:10 JavaScript sprite animation
Create beautiful particle systems with HTML5, CSS3 and plain vanilla JavaScript, no frameworks and no libraries. Understanding how the code works will allow us to transform this codebase into multiple very different effects. Let's explore the basic techniques and then take them to the limits in this particle effects crash course.
If you want to SUPPORT me you can use the links below and get some one my EXTENDED classes! 💪
udemy.com/course/learn-creative-coding-with-vanilla-javascript/?referralCode=7C560D4661C5C59262BB
udemy.com/course/learn-game-development-with-javascript/?referralCode=69874A38D543D7F510F2
udemy.com/course/creative-coding-deep-dive-for-beginners/?referralCode=F43E8FCE60957A64DF4A
udemy.com/course/build-animated-physics-game-with-javascript/?referralCode=B4482AF631243104650B
udemy.com/course/learn-html-canvas-pixels-particles-physics/?referralCode=F7977062A4BC964A1F5E
udemy.com/course/remake-retro-games-with-javascript/?referralCode=2ACCA21F16FE78E631F7
udemy.com/course/learn-html-canvas-advanced-text-effects/?referralCode=4C5821D2D04048CC4A01
Get Skillshare FREE for 1 month: 🎓
skillshare.com/en/r/profile/Frank-Dvorak/507488567?gr_tch_ref=on&gr_trp=on
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
Want to build this effect FROM SCRATCH? Follow these steps with me:
Step 1: youtu.be/5dIbK0auaB8
Step 2: youtu.be/gxagf0WKfBo
Step 3: this video (youtu.be/vIopRAihmLw)
Particle systems masterclass FULL PLAYLIST: youtube.com/playlist?list=PLYElE_rzEw_tLmWtIkUfI6Odi38ajFI8R
Download project resources:
STARTER CODE: frankslaboratory.co.uk/downloads/117/particle_systems_source_code.zip
codepen.io/franksLaboratory/pen/BaqVmMB
⭐️ STAR: frankslaboratory.co.uk/downloads/119/star.png
🐋 WHALE: frankslaboratory.co.uk/downloads/119/whale1.png
(if you can't download the files, try to use a different browser or VPN to change your country)
⭐️Tutorial Contents ⭐️
00:00 Combining particles and custom graphics
00:45 Draw particles as images
04:20 Scrolling stars
08:34 Whale class
Create beautiful particle systems with HTML5, CSS3 and plain vanilla JavaScript, no frameworks and no libraries. Understanding how the code works will allow us to transform this codebase into multiple very different effects. Let's explore the basic techniques and then take them to the limits in this particle effects crash course.
If you want to SUPPORT me you can use the links below and get some one my EXTENDED classes! 💪
udemy.com/course/learn-creative-coding-with-vanilla-javascript/?referralCode=7C560D4661C5C59262BB
udemy.com/course/learn-game-development-with-javascript/?referralCode=69874A38D543D7F510F2
udemy.com/course/creative-coding-deep-dive-for-beginners/?referralCode=F43E8FCE60957A64DF4A
udemy.com/course/build-animated-physics-game-with-javascript/?referralCode=B4482AF631243104650B
udemy.com/course/learn-html-canvas-pixels-particles-physics/?referralCode=F7977062A4BC964A1F5E
udemy.com/course/remake-retro-games-with-javascript/?referralCode=2ACCA21F16FE78E631F7
udemy.com/course/learn-html-canvas-advanced-text-effects/?referralCode=4C5821D2D04048CC4A01
Get Skillshare FREE for 1 month: 🎓
skillshare.com/en/r/profile/Frank-Dvorak/507488567?gr_tch_ref=on&gr_trp=on
Particle systems masterclass FULL PLAYLIST: youtube.com/playlist?list=PLYElE_rzEw_tLmWtIkUfI6Odi38ajFI8R
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
Want to build this effect FROM SCRATCH? Follow these steps with me:
Step 1: youtu.be/5dIbK0auaB8
Step 2: youtu.be/gxagf0WKfBo
Step 3: this video (youtu.be/JqpDTpnS_WE)
Of you can download the code files and just code along with this project:
frankslaboratory.co.uk/downloads/117/particle_systems_source_code.zip
If the download link doesn't leave for you leave a comment to let me know. You can also get if on my Codepen. Don't forget to FOLLOW me on there! :)
codepen.io/franksLaboratory/pen/BaqVmMB
⭐️Tutorial Contents ⭐️
00:00 How to get more control over individual particles
04:12 Particle sunrays effect
Create beautiful particle systems with HTML5, CSS3 and plain vanilla JavaScript, no frameworks and no libraries. Understanding how the code works will allow us to transform this codebase into multiple very different effects. Let's explore the basic techniques and then take them to the limits in this particle effects crash course.
If you want to SUPPORT me you can use the links below and get some one my EXTENDED classes! 💪
udemy.com/course/learn-creative-coding-with-vanilla-javascript/?referralCode=7C560D4661C5C59262BB
udemy.com/course/learn-game-development-with-javascript/?referralCode=69874A38D543D7F510F2
udemy.com/course/creative-coding-deep-dive-for-beginners/?referralCode=F43E8FCE60957A64DF4A
udemy.com/course/build-animated-physics-game-with-javascript/?referralCode=B4482AF631243104650B
udemy.com/course/learn-html-canvas-pixels-particles-physics/?referralCode=F7977062A4BC964A1F5E
udemy.com/course/remake-retro-games-with-javascript/?referralCode=2ACCA21F16FE78E631F7
udemy.com/course/learn-html-canvas-advanced-text-effects/?referralCode=4C5821D2D04048CC4A01
Get Skillshare FREE for 1 month: 🎓
skillshare.com/en/r/profile/Frank-Dvorak/507488567?gr_tch_ref=on&gr_trp=on
Particle systems masterclass FULL PLAYLIST: youtube.com/playlist?list=PLYElE_rzEw_tLmWtIkUfI6Odi38ajFI8R
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
Particle systems masterclass FULL PLAYLIST: youtube.com/playlist?list=PLYElE_rzEw_tLmWtIkUfI6Odi38ajFI8R
⭐️Tutorial Contents ⭐️
00:00 How to make HTML canvas fully responsive
05:41 HTML5 Canvas mouse events
08:15 How to calculate distance between 2 points
09:00 JavaScript atan2() method explained
12:28 Detecting content boundaries on a HTML5 canvas
17:03 Simulating particle physics
Create beautiful particle systems with HTML5, CSS3 and plain vanilla JavaScript, no frameworks and no libraries. Understanding how the code works will allow us to transform this codebase into multiple very different effects. Let's explore the basic techniques and then take them to the limits in this particle effects crash course.
Today we will learn:
🎨 how to make HTML5 Canvas projects fully responsive
🎨 how to detect and react to mouse events
🎨 how to calculate distance between 2 points and direction of push in a 2D space
🎨 how to add physics - acceleration & friction
If you want to SUPPORT me you can use the links below and get some one my EXTENDED classes! 💪
udemy.com/course/learn-creative-coding-with-vanilla-javascript/?referralCode=7C560D4661C5C59262BB
udemy.com/course/learn-game-development-with-javascript/?referralCode=69874A38D543D7F510F2
udemy.com/course/creative-coding-deep-dive-for-beginners/?referralCode=F43E8FCE60957A64DF4A
udemy.com/course/build-animated-physics-game-with-javascript/?referralCode=B4482AF631243104650B
udemy.com/course/learn-html-canvas-pixels-particles-physics/?referralCode=F7977062A4BC964A1F5E
udemy.com/course/remake-retro-games-with-javascript/?referralCode=2ACCA21F16FE78E631F7
udemy.com/course/learn-html-canvas-advanced-text-effects/?referralCode=4C5821D2D04048CC4A01
Get Skillshare FREE for 1 month: 🎓
skillshare.com/en/r/profile/Frank-Dvorak/507488567?gr_tch_ref=on&gr_trp=on
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
Constellations effect was made famous by the Particles.js library, today we will build if from scratch with vanilla JavaScript using object oriented programming principles. In the next part we will turn it into many different particle systems experimenting with motion, colours and physics in many different ways,
Particle systems masterclass FULL PLAYLIST: youtube.com/playlist?list=PLYElE_rzEw_tLmWtIkUfI6Odi38ajFI8R
⭐️Tutorial Contents ⭐️
00:00 Intro
00:20 HTML5 & CSS3 setup
01:44 JavaScript setup
02:42 Drawing shapes on HTML canvas
03:48 Effect and Particle classes
06:38 Creating particles
08:11 Drawing particles
11:47 Dynamic colours with HSL
13:31 Positioning particles
14:57 Animating particles
16:08 Bouncing particles
19:07 Canvas gradients
21:29 Constellations effect
28:28 Dynamic opacity
Today we will learn:
🎨 object oriented programming with vanilla JavaScript, HTML5 Canvas
🎨 how to build bouncing balls effect
🎨 how to build constellations effect
If you want to SUPPORT me you can use the links below and get some one my EXTENDED classes! 💪
udemy.com/course/learn-creative-coding-with-vanilla-javascript/?referralCode=7C560D4661C5C59262BB
udemy.com/course/learn-game-development-with-javascript/?referralCode=69874A38D543D7F510F2
udemy.com/course/creative-coding-deep-dive-for-beginners/?referralCode=F43E8FCE60957A64DF4A
udemy.com/course/build-animated-physics-game-with-javascript/?referralCode=B4482AF631243104650B
udemy.com/course/learn-html-canvas-pixels-particles-physics/?referralCode=F7977062A4BC964A1F5E
udemy.com/course/remake-retro-games-with-javascript/?referralCode=2ACCA21F16FE78E631F7
udemy.com/course/learn-html-canvas-advanced-text-effects/?referralCode=4C5821D2D04048CC4A01
Get Skillshare FREE for 1 month: 🎓
skillshare.com/en/r/profile/Frank-Dvorak/507488567?gr_tch_ref=on&gr_trp=on
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
Check out some of my EXTENDED classes with BONUS lessons and more free 2D game art assets
🌟 Udemy: udemy.com/course/build-animated-physics-game-with-javascript/?referralCode=B4482AF631243104650B
🌟 Skillshare (free 1 month trial that includes all my extended classes including this one):
skillshare.com/en/r/profile/Frank-Dvorak/507488567?gr_tch_ref=on&gr_trp=on
🎨 Download Project Art assets 🎨
Background: frankslaboratory.co.uk/downloads/115/bg1.png
Body: frankslaboratory.co.uk/downloads/115/body.png
Eye 1: frankslaboratory.co.uk/downloads/115/eye1.png
Eye 2: frankslaboratory.co.uk/downloads/115/eye2.png
Reflection: frankslaboratory.co.uk/downloads/115/reflection.png
Body sprite sheet: frankslaboratory.co.uk/downloads/115/bodySprite.png
Detector light: frankslaboratory.co.uk/downloads/115/detectorLight.png
All (zip): frankslaboratory.co.uk/downloads/115/all.zip
Larger background image: frankslaboratory.co.uk/downloads/115/background_1280x720.png
Concept art (wallpapers, robot designs): frankslaboratory.co.uk/downloads/115/115_concept_art.zip
Today we will learn:
- How to create animated interactive CHARACTER with vanilla JavaScript and HTML canvas
- How to MEASURE AN ANGLE between 2 objects in a 2D space
- How to create animated interactive eyes
- How to make characters MOVE in repeating patterns
⭐️Tutorial Contents ⭐️
00:00 Intro
01:22 Project setup
02:41 Robot class
05:00 Drawing eyes on HTML canvas
06:00 Capturing mouse coordinates
07:45 Animating on HTML canvas
08:43 Calculating angle between 2 objects
18:01 Drawing images on HTML canvas
23:15 Sprite animation with JavaScript
27:39 Repeating motion patterns
34:17 Improving eye movement
38:32 Autopilot and tracking modes
Let's be friends
👍 You can message me on TWITTER twitter.com/code_laboratory
👍 Check out some of my source code on CODEPEN codepen.io/franksLaboratory
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
PART1: youtu.be/NYzvdfkDOU4
Check out some of my EXTENDED classes with BONUS lessons and more free 2D game art assets
🌟Udemy: udemy.com/course/build-animated-physics-game-with-javascript/?referralCode=B4482AF631243104650B
🌟 Skillshare (free 1 month trial that includes all my extended classes including this one):
skillshare.com/en/r/profile/Frank-Dvorak/507488567?gr_tch_ref=on&gr_trp=on
Today we are building 2D animated space game with JavaScript and HTML canvas. We learned how to create asteroids using object pool design pattern, to improve performance and memory management of the codebase. Let me show a simple way how to handle multiple object pools, following good beginner friendly coding practices. This project is beginner friendly. Basic knowledge of HTML, CSS & JavaScript is needed to get the maximum value.
🎨 Download Project Art assets 🎨
Sprite sheet: frankslaboratory.co.uk/downloads/114/explosions.png
Sound 1: frankslaboratory.co.uk/downloads/114/explosion1.wav
Sound 2: frankslaboratory.co.uk/downloads/114/explosion2.wav
Sound 3: frankslaboratory.co.uk/downloads/114/explosion3.wav
Sound 4: frankslaboratory.co.uk/downloads/114/explosion4.wav
Sound 5 frankslaboratory.co.uk/downloads/114/explosion5.wav
Sound 6: frankslaboratory.co.uk/downloads/114/explosion6.wav
Today we will learn:
- How to manage MULTIPLE object pools
- How to ANIMATE COLLISIONS from a sprite sheet
- How to add randomised SOUND EFFECTS
For more vanilla JavaScript GAME DEVELOPMENT check out this playlist:
youtube.com/playlist?list=PLYElE_rzEw_uryBrrzu2E626MY4zoXvx2
⭐️Tutorial Contents ⭐️
00:00 Intro
00:25 Explosion class
07:19 Capturing mouse coordinates
14:06 Object pools and sprite animations
17:35 Animation timing
22:14 Automatic triggers
23:38 2D collision detection
29:34 Scoring system
34:06 Physics
35:36 Sound design
Let's be friends
👍 You can message me on TWITTER twitter.com/code_laboratory
👍 Check out some of my source code on CODEPEN codepen.io/franksLaboratory
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
Check out some of my EXTENDED classes with BONUS lessons and more free 2D game art assets
🌟Udemy: udemy.com/course/build-animated-physics-game-with-javascript/?referralCode=B4482AF631243104650B
🌟 Skillshare (free 1 month trial that includes all my extended classes including this one):
skillshare.com/en/r/profile/Frank-Dvorak/507488567?gr_tch_ref=on&gr_trp=on
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
Check out some of my EXTENDED classes with BONUS lessons and more free 2D game art assets
🌟Udemy: udemy.com/course/build-animated-physics-game-with-javascript/?referralCode=B4482AF631243104650B
🌟 Skillshare (free 1 month trial that includes all my extended classes including this one):
skillshare.com/en/r/profile/Frank-Dvorak/507488567?gr_tch_ref=on&gr_trp=on
This project is beginner friendly. Basic knowledge of HTML, CSS & JavaScript is needed to get the maximum value.
🎨 Download Project Art assets 🎨
** All art assets for this class were made by me or by artists I hired, there is NO copyright, you can download and use these freely for any project you want! Click the LIKE on the video if you want more free game art soon! :D
Background: frankslaboratory.co.uk/downloads/113/bg1.png
Asteroid: frankslaboratory.co.uk/downloads/113/asteroid.png
Bonus images, environmental art, HQ separate pieces in PSD format etc:
Today we will learn:
- How to implement object pool design pattern
- How to draw, animate and rotate objects on HTML5 canvas element
- How to apply object oriented programming principles to keep code well organised and easy to read.
For more vanilla JavaScript GAME DEVELOPMENT check out this playlist:
youtube.com/playlist?list=PLYElE_rzEw_uryBrrzu2E626MY4zoXvx2
⭐️Tutorial Contents ⭐️
00:00 Make animated games with JavaScript
00:47 What is the advantage of object pool design pattern?
03:49 Object oriented code structure
05:10 Game class
08:54 Asteroid class
12:06 Object pool array
17:43 How to draw images on canvas
20:38 How to animate multiple HTML5 canvas objects
22:00 Periodic triggers with requestAnimationFrame
27:56 Object pool design pattern
35:28 Tips & Tricks
37:58 How to rotate images with HTML5 canvas
Let's be friends
👍 You can message me on TWITTER twitter.com/code_laboratory
👍 Check out some of my source code on CODEPEN codepen.io/franksLaboratory
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
🎨 Today we will build TEXT flow field. EXTENDED class with BONUS lessons and more creative coding experiments, full source code from multiple different stages, learn how to create image flow fields and animate smooth color transitions.
🎨 Udemy: udemy.com/course/creative-coding-deep-dive-for-beginners/?referralCode=F43E8FCE60957A64DF4A
🎨 Skillshare (free 1 month trial):
skillshare.com/en/r/profile/Frank-Dvorak/507488567?gr_tch_ref=on&gr_trp=on
📚 Part 1: youtu.be/MJNy2mdCt20
📚 Full playlist: youtube.com/playlist?list=PLYElE_rzEw_uVHNJjZor-b_bJpftEG4tV
⭐️Tutorial Contents ⭐️
00:00 Intro
00:52 How to draw text on HTML canvas
06.38 Understanding pixel data
11:45 Handling pixel data
15:09 Converting colors into angles
25:34 HTML canvas gradients
30:27 Tips, tricks & Experiments
40:35 What's next?
More beginner friendly creative coding with vanilla JavaScript & HTML canvas:
youtube.com/playlist?list=PLYElE_rzEw_v8TXJ_ITSSBP_ypUKfQ7K-
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
🎨 Today we will learn how to build a flow field. EXTENDED class with BONUS lessons and more creative coding experiments, full source code from multiple different stages, learn how to create image flow fields and animate smooth color transitions.
🎨 Udemy: udemy.com/course/creative-coding-deep-dive-for-beginners/?referralCode=F43E8FCE60957A64DF4A
🎨 Skillshare (free 1 month trial):
skillshare.com/en/r/profile/Frank-Dvorak/507488567?gr_tch_ref=on&gr_trp=on
📚 Part 2: youtu.be/EHwainDAPAw
📚 Full playlist: youtube.com/playlist?list=PLYElE_rzEw_uVHNJjZor-b_bJpftEG4tV
Beginner friendly warm-up class you can watch before this video: youtu.be/O7cUOPYducc
⭐️Tutorial Contents ⭐️
00:00 Intro
00:38 What is a flow field?
02:00 How to set up HTML5 Canvas project
02:52 How to draw shapes on canvas
06:13 Object oriented programming in JavaScript
12:45 Drawing particle systems
15:12 Animating particle systems
19:02 Drawing lines and trails
22:42 Motion patterns with trigonometry
23:55 Creating a vector field
33:33 How to create a flow field
38:42 Flow field experiments
42:16 Grid and debug mode
50:25 Randomized colors
53:13 Responsive design
58:33 Experimenting with flow field patterns
Today we will:
🎨 discover the tools - vanilla JavaScript, HTML5 Canvas
🎨 experiment with code
🎨 design animations and flow fields
More beginner friendly creative coding with vanilla JavaScript & HTML canvas:
youtube.com/playlist?list=PLYElE_rzEw_v8TXJ_ITSSBP_ypUKfQ7K-
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
Full class: youtu.be/MJNy2mdCt20
Today we will build:
Procedurally generated lines | Rainbow lightning storm effect | Chaos scribbles effect
🎨 EXTENDED class with BONUS lessons and more creative coding experiments, full source code from multiple different stages, learn how to create image flow fields and animate smooth color transitions.
🎨 Udemy: udemy.com/course/creative-coding-deep-dive-for-beginners/?referralCode=F43E8FCE60957A64DF4A
🎨 Skillshare (free 1 month trial):
skillshare.com/en/r/profile/Frank-Dvorak/507488567?gr_tch_ref=on&gr_trp=on
Project files:
Image for createPattern method: frankslaboratory.co.uk/downloads/110/patternImage.png
📚 What to watch next?: youtu.be/MJNy2mdCt20
📚 Full playlist: youtube.com/playlist?list=PLYElE_rzEw_uVHNJjZor-b_bJpftEG4tV
Beginner friendly warm-up class you can watch before this video: youtu.be/O7cUOPYducc
⭐️Tutorial Contents ⭐️
00:00 Intro
00:34 HTML5 & CSS3 setup
01:14 JavaScript setup
03:17 How to draw rectangles
04:37 How to draw lines
07:44 Object oriented programming
13:05 Dynamic colors with HSL
14:52 Randomised line art
18:13 Drawing multi segmented lines
21:25 Animating lines
25:15 Rainbow Lightning Storm effect
31:23 HTML5 Canvas Linear Gradient Tutorial
33:43 HTML5 Canvas Radial Gradient Tutorial
34:46 Create a pattern with HTML5 Canvas
38:52 How to make a shadow in HTML canvas
39:59 Using trigonometry to animate HTML5 canvas
43:20 Chaos Scribbles effect
We will experiment with our drawings and modify them using
🎨 createLinearGradient
🎨 createRadialGradient
🎨 createPattern
All of that with no frameworks and no libraries using just vanilla JavaScript, HTML5 canvas element and object oriented programming. I will explain every line of code step by step as we build our interactive animated project. Let's make art with code and learn JavaScript and front end web development in the process.
More beginner friendly creative coding with vanilla JavaScript & HTML canvas:
youtube.com/playlist?list=PLYElE_rzEw_v8TXJ_ITSSBP_ypUKfQ7K-
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
Let's explore fantasy mushroom forest theme and learn all the techniques you need to make your own 2D games with vanilla JavaScript, HTML5, CSS3 and HTML Canvas. Have fun!
🍄 EXTENDED class with BONUS lessons and more free sprite sheets, full source code from 6 different stages as we progress with the project, HQ image source files and more:
🍄 Udemy: udemy.com/course/build-animated-physics-game-with-javascript/?referralCode=B4482AF631243104650B
🍄 Skillshare (free 1 month trial that includes all my extended classes including this one):
skillshare.com/en/r/profile/Frank-Dvorak/507488567?gr_tch_ref=on&gr_trp=on
1
The pace and techniques in this course are beginner friendly. Existing knowledge of HTML, CSS & JavaScript is needed to follow the course. If you understand JavaScript basics and know what functions, for loops and arrays are, you will be able to get the maximum value out of this class.
🎨 Download Project Art assets 🎨
** All art assets for this class were made by me or by artists I hired, there is NO copyright, you can download and use these freely for any project you want! Click the LIKE on the video if you want more free game art soon! :D
All project images: frankslaboratory.co.uk/downloads/109/all_project_images.zip
Background: frankslaboratory.co.uk/downloads/109/background.png
Overlay: frankslaboratory.co.uk/downloads/109/overlay.png
Player: frankslaboratory.co.uk/downloads/109/bull.png
Obstacles: frankslaboratory.co.uk/downloads/109/obstacles.png
Egg: frankslaboratory.co.uk/downloads/109/egg.png
Toad single: frankslaboratory.co.uk/downloads/109/toad.png
Larva: frankslaboratory.co.uk/downloads/109/larva.png
Toads: frankslaboratory.co.uk/downloads/109/toads.png
Bonus images, environmental art, HQ separate pieces in PSD format etc: frankslaboratory.co.uk/downloads/109/bonus_image_source_files.zip
Today we will learn:
- How to implement a very simple AI to make the creatures feel alive
- How to control the FPS of our game and how to measure time to trigger periodic events
- How to restart the game by pressing a button
- How to apply collision detection, resolve collisions and use that to simulate physics
- How to use the built-in drawImage method to draw randomised game environments and animated characters from a sprite sheet
- How to capture mouse position and animate an 8 directional sprite sheet based on the relative position between the mouse and the player character
- How to use HTML5, CSS3 and plain vanilla JavaScript to build a game from scratch. We will write and understand every line of code, we will not rely on any external frameworks or libraries
... and much more
For more vanilla JavaScript GAME DEVELOPMENT check out this playlist:
youtube.com/playlist?list=PLYElE_rzEw_uryBrrzu2E626MY4zoXvx2
⭐️Tutorial Contents ⭐️
00:00:00 Intro
00:00:45 Basic setup
00:04:35 Object oriented programming in JavaScript
00:08:58 Drawing the player
00:16:08 Mouse controls
00:22:08 Making the player move
00:29:48 Creating obstacles
00:36:21 Non-overlapping obstacles
00:42:56 Randomised images from a sprite sheet
00:48:11 Positioning rules
00:54:10 Reusable collision detection method
00:58:15 Let's add physics
01:06:22 8-directional sprite animation
01:10:36 Animation angles
01:17:42 Debug mode
01:21:15 Player movement boundaries
01:24:04 FPS
01:33:43 Egg class
01:38:36 Periodically adding new eggs
01:45:35 Egg physics
01:51:10 Draw order
01:59:28 Enemy class
02:10:47 Larva class
02:14:14 Egg hatching
02:24:12 Larva sprites and collisions
02:28:50 Gaining score points
02:31:31 Particle effects
02:40:26 Particle motion
02:47:30 Randomized enemy skins
02:51:53 Win and lose condition
03:02:25 Restart game
Let's be friends
👍 You can message me on TWITTER twitter.com/code_laboratory
👍 Check out some of my source code on CODEPEN codepen.io/franksLaboratory
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
This technique will also work with company LOGOS, even if the logo is a combination of text, symbols and images.
EXTENDED version available here:
- contains a bonus lesson to convert the codebase in particle CONSTELLATIONS effect.
- also includes the full source code and many experimental codebases as shown in the intro: udemy.com/course/learn-html-canvas-advanced-text-effects/?referralCode=4C5821D2D04048CC4A01
Also available on Skillshare: (1 free month using the link below)
skillshare.com/en/r/profile/Frank-Dvorak/507488567?gr_tch_ref=on&gr_trp=on
Today we will learn how to:
🎨 Draw text on canvas using built in fillText and strokeText methods
🎨 Wrap multiline text (measureText method)
🎨 Apply custom canvas gradients to strokeStyle and fillStyle
🎨 Convert any text into an iteractive particle system
🎨 Add physics, animated transitions and mouse interactivity
All of that with no frameworks and no libraries using just vanilla JavaScript, HTML5 canvas element and object oriented programming. I will explain every line of code step by step as we build our interactive animated project. Let's make art with code and learn JavaScript and front end web development in the process.
⭐️Tutorial Contents ⭐️
00:00:00 Vanilla JavaScript Pixel & Particle effects
00:00:41 Project setup
00:02:45 CSS3 & JavaScript positioning tricks
00:05:09 Drawing, styling and positioning text on HTML canvas
00:14:40 Wrapping and centering multiline text on HTML canvas
00:26:44 How to center a block of text vertically
00:30:27 HTML5 canvas gradients
00:33:17 Refactoring into object oriented JavaScript
00:45:33 Scanning canvas for pixel data
00:57:18 Converting text into particles
01:07:57 Interactions and physics
01:14:26 Custom fonts
01:18:24 Resizing and responsive design
More vanilla JavaScript pixel manipulation tutorials:
youtube.com/playlist?list=PLYElE_rzEw_t0--arG7_fu1uqkwOht1Jg
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
HTML canvas was developed as a replacement of Flash, it's a perfect environment to make games and animation projects. Today we will learn how to use HTML5, CSS3 and plain vanilla JavaScript to make the most of it's powerful capabilities. No frameworks and no libraries as usual. Have fun!
🐟Check out my EXTENDED game development class with BONUS lessons and more free sprite sheets: 4 new enemies, sound design, animated shield, animated projectiles and more udemy.com/course/learn-game-development-with-javascript/?referralCode=69874A38D543D7F510F2
🎨 Download Project Art assets 🎨
** All art assets for this class were made by me or by artists I hired, there is NO copyright, you can download and use these freely for any project you want! Click LIKE on the video if you want more free game art soon!
BASIC art asset pack (to follow along with this episode): frankslaboratory.co.uk/downloads/107/owlbear.zip
BONUS high resolution exports in PNG format (12MB): frankslaboratory.co.uk/downloads/107/bonus.zip
SOURCE files (.ai/.psd format) (21MB): frankslaboratory.co.uk/downloads/107/source.zip.
PNG exports are uncompressed, you can use a site like Tiny png to reduce the file size if needed.
If anything is missing or you want source files in a different format let me know in the comments.
Feel free to modify the shapes, colour shift to get different variations etc. Have fun!
Individual base art assets:
Background: frankslaboratory.co.uk/downloads/107/background.png
Background 2: frankslaboratory.co.uk/downloads/107/background2.png
Overlay: frankslaboratory.co.uk/downloads/107/overlay.png
Leaves left: frankslaboratory.co.uk/downloads/107/leaves_left.png
Leaves right: frankslaboratory.co.uk/downloads/107/leaves_right.png
Owlbear sprite sheet: frankslaboratory.co.uk/downloads/107/owlbear.png
Bush: frankslaboratory.co.uk/downloads/107/bush.png
Grass: frankslaboratory.co.uk/downloads/107/grass.png
Plant: frankslaboratory.co.uk/downloads/107/plant.png
☕ For more vanilla JavaScript GAME DEVELOPMENT check out this playlist:
youtube.com/playlist?list=PLYElE_rzEw_uryBrrzu2E626MY4zoXvx2
⭐️Tutorial Contents ⭐️
00:00 Intro
00:43 Lesson 1: Project setup
02:19 Lesson 2: Enhancing game worlds with CSS
09:17 Lesson 3: JavaScript and HTML canvas setup
15:06 Lesson 4: Keyboard controls
22:34 Lesson 5: Player character
33:55 Lesson 6: Animating 4 directional sprite sheets
45:54 Lesson 7: How to control FPS
54:56 Lesson 8: Randomly positioned game objects
01:03:15 Lesson 9: Layering and draw order in 2D games
Let's be friends
👍 You can message me on TWITTER twitter.com/code_laboratory
👍 Check out some of my source code on CODEPEN codepen.io/franksLaboratory
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
FULL EXTENDED class available here: udemy.com/course/learn-html-canvas-pixels-particles-physics/?referralCode=F7977062A4BC964A1F5E
Leave a comment for UDEMY discount code for this course, I can generate some for you (unless the course is currently on offer for minimum price)
Today we will learn how to:
🎨 Draw rectangles on canvas
🎨 Draw images on canvas
🎨 Convert rectangles into particles
🎨 Convert images into particle systems
🎨 Add physics, animated transitions and mouse interactivity
All of that with no frameworks and no libraries using just vanilla JavaScript, HTML5 canvas element and object oriented programming. I will explain every line of code step by step as we build our interactive animated project. Let's make art with code and learn JavaScript and front end web development in the process.
Project images: (try the final effect with different images, some look better with colours, sketch versions look great on a black background)
Anglerfish frankslaboratory.co.uk/downloads/106/angler.png
Anglerfish 2 frankslaboratory.co.uk/downloads/106/angler2.png
4 fish frankslaboratory.co.uk/downloads/106/4fish.png
Steampunk fox frankslaboratory.co.uk/downloads/106/fox.png
Steampunk plant frankslaboratory.co.uk/downloads/106/plant.png
Plant sketch frankslaboratory.co.uk/downloads/106/plant_sketch.png
Mecha spider frankslaboratory.co.uk/downloads/106/spider.png
Spider sketch frankslaboratory.co.uk/downloads/106/spider_sketch.png
Mecha turtle frankslaboratory.co.uk/downloads/106/turtle.png
Turtle sketch frankslaboratory.co.uk/downloads/106/turtle_sketch.png
⭐️Tutorial Contents ⭐️
00:00 Vanilla JavaScript Pixel & Particle effects
00:46 Project setup
03:23 Converting images to code
07:48 How to use canvas
10:48 JavaScript classes and particle systems
14:09 Drawing rectangles
15:35 Drawing images
19:26 Effect class
24:01 Code clean-up
29:23 drawImage method
30:06 How to center images on canvas
32:08 Particle motion
37:28 Pixel analysis with getImageData
43:39 Extracting coordinates and colors from raw pixel data
53:43 Turning images into particle systems
58:35 Animated particle transitions
01:01:32 Animations on button click
01:05:30 Mouse interactions and particle physics
More vanilla JavaScript pixel manipulation tutorials:
youtube.com/playlist?list=PLYElE_rzEw_t0--arG7_fu1uqkwOht1Jg
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
🐟Check out my EXTENDED game development class with BONUS lessons and more free sprite sheets: 4 new enemies, sound design, animated shield, animated projectiles and more udemy.com/course/learn-game-development-with-javascript/?referralCode=69874A38D543D7F510F2
🎨 Download Project Art assets 🎨
** All art assets for this class were made by me or by artists I hired, there is NO copyright, you can download and use these freely for any project you want! Click the LIKE on the video if you want more free game art soon! :D
Mandrake: frankslaboratory.co.uk/downloads/105/mandrake.png
Mushroom game background: frankslaboratory.co.uk/downloads/105/105_mushroom_background.png
☕ For more vanilla JavaScript GAME DEVELOPMENT check out this playlist:
youtube.com/playlist?list=PLYElE_rzEw_uryBrrzu2E626MY4zoXvx2
⭐️Tutorial Contents ⭐️
00:00 What is a compact sprite sheet
01:03 HTML & CSS setup
04:27 How to use Google Fonts
06:41 How to load images with JavaScript
07:57 How to use JavaScript classes
12:14 drawImage method explained
15:59 How to center and scale images on canvas
21:07 How to animate a compact sprite sheet
29:56 Separate event for each animation move
Let's be friends
👍 You can message me on TWITTER twitter.com/code_laboratory
👍 Check out some of my source code on CODEPEN codepen.io/franksLaboratory
Music:
Harry Potter Theme (XELAZED Trap Edit) [NoCopyright] youtu.be/0H5eBZaxXPY
Connect with XELAZED:
» Snapchat: miraedon
» Facebook: facebook.com/alx.official54
» Twitter: twitter.com/xelazed
» SoundCloud: soundcloud.com/xelazed
» Instagram: instagram.com/official_xelazed
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
Today we will create:
🎨 Bouncing metaballs effect
🎨 Smoke monster effect
🎨 Dripping lava lamp (sticky slime) effect
⭐️Tutorial Contents ⭐️
00:00 Intro & Project previews
00:22 What are Metaballs
00:40 HTML and CSS setup
01:43 JavaScript & HTML5 canvas setup
04:18 Ball class
08:11 Metaballs Effect class
11:53 How to animate shapes on canvas
14:52 Bouncing balls effect
17:39 Liquid effects with SVG filters
18:08 How to make canvas animations responsive
20:52 Smoke monster effect
24:23 Dripping slime effect
More beginner friendly creative coding:
youtube.com/playlist?list=PLYElE_rzEw_v8TXJ_ITSSBP_ypUKfQ7K-
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
🐟EXTENDED class with BONUS lessons and more free sprite sheets: 4 new enemies, sound design, animated shield, animated projectiles and more udemy.com/course/learn-game-development-with-javascript/?referralCode=69874A38D543D7F510F2
🎨 Download Project Art assets 🎨
** All art assets for this class were made by me or by artists I hired, there is NO copyright, you can download and use these freely for any project you want! Click the LIKE on the video if you want more free game art soon! :D
Player: frankslaboratory.co.uk/downloads/103/player.png
Projectile: frankslaboratory.co.uk/downloads/103/projectile.png
Particle gears: frankslaboratory.co.uk/downloads/103/gears.png
⚙️ Backgrounds:
Layer 1: frankslaboratory.co.uk/downloads/103/layer1.png
Layer 2: frankslaboratory.co.uk/downloads/103/layer2.png
Layer 3: frankslaboratory.co.uk/downloads/103/layer3.png
Layer 4: frankslaboratory.co.uk/downloads/103/layer4.png
🐟 Enemies:
Angler 1: frankslaboratory.co.uk/downloads/103/angler1.png
Angler 2: frankslaboratory.co.uk/downloads/103/angler2.png
Lucky Fish: frankslaboratory.co.uk/downloads/103/lucky.png
Hive Whale: frankslaboratory.co.uk/downloads/103/hivewhale.png
Drone: frankslaboratory.co.uk/downloads/103/drone.png
☁️ Collision Animations:
Smoke: frankslaboratory.co.uk/downloads/103/smokeExplosion.png
Fire: frankslaboratory.co.uk/downloads/103/fireExplosion.png
For more vanilla JavaScript GAME DEVELOPMENT check out this playlist:
youtube.com/playlist?list=PLYElE_rzEw_uryBrrzu2E626MY4zoXvx2
⭐️Tutorial Contents ⭐️
00:00:00 Intro
00:00:47 HTML & CSS setup
00:02:20 Basic JavaScript setup
00:04:39 Object Oriented programming with JavaScript
00:07:05 Creating Player and Game objects
00:12:58 Animation loop
00:16:16 Keyboard inputs
00:25:55 Creating projectiles
00:33:02 Periodic events
00:38:10 Drawing game UI
00:41:00 Base enemy class
00:48:59 Collision detection between rectangles
00:54:16 Drawing game score
00:57:29 Win and lose condition
00:59:32 Counting game time
01:02:47 Animated parallax backgrounds
01:13:00 Sprite animation with JavaScript
01:16:42 Creating a debug mode
01:18:18 Animating enemy sprite sheets
01:24:55 Night Angler enemy class
01:27:19 Lucky Fish enemy class
01:28:42 Collecting power ups
01:36:31 Drawing projectiles as images
01:37:41 Custom fonts and game text
01:40:23 Cleaning up
01:42:31 Particle effects and physics
01:54:43 Particle rotation
01:58:27 Tweaks and fixes
02:01:26 Hive Whale enemy class
02:04:26 Drone enemy class
02:09:10 Dust effect animation
02:24:16 Fire effect animation
02:25:43 Tuning game difficulty
02:29:06 What to do next?
Let's be friends
👍 You can message me on TWITTER twitter.com/code_laboratory
👍 Check out some of my source code on CODEPEN codepen.io/franksLaboratory
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
Part 1: youtu.be/c-1dBd1_G8A Animating player
Part 2: youtu.be/ug-gdfGb7I8 State management and parallax backgrounds
Part 3: youtu.be/lqNztI7BMf8 Enemy types
Part 4 : youtu.be/6ppfyWdoH3c Collisions & Particles
Part 5 : youtu.be/KICADKr_zeM Win & Lose Conditions, Timer, Clean up
Part 6: youtu.be/tWS_eURr2_w Bonus features (this video)
🎮 FULL SERIES:🎮 youtube.com/playlist?list=PLYElE_rzEw_uryBrrzu2E626MY4zoXvx2
❤ Related Links ❤
Art by bevouliin.com check out their website for more game art assets!
Download project sprite sheets:
🐕 Player: http://frankslaboratory.co.uk/downloads/97/player.png
Backgrounds:
City:
Layer 1: frankslaboratory.co.uk/downloads/97/layer-1.png
Layer 2: frankslaboratory.co.uk/downloads/97/layer-2.png
Layer 3: frankslaboratory.co.uk/downloads/97/layer-3.png
Layer 4: frankslaboratory.co.uk/downloads/97/layer-4.png
Layer 5: frankslaboratory.co.uk/downloads/97/layer-5.png
Forest:
Layer 1: frankslaboratory.co.uk/downloads/97/forest/layer-1.png
Layer 2: frankslaboratory.co.uk/downloads/97/forest/layer-2.png
Layer 3: frankslaboratory.co.uk/downloads/97/forest/layer-3.png
Layer 4: frankslaboratory.co.uk/downloads/97/forest/layer-4.png
Layer 5: frankslaboratory.co.uk/downloads/97/forest/layer-5.png
Lives:
frankslaboratory.co.uk/downloads/97/lives.png
frankslaboratory.co.uk/downloads/97/heart.png
Fire texture:
🔥 frankslaboratory.co.uk/downloads/97/fire.png
Collision animation:
☁️ frankslaboratory.co.uk/downloads/97/boom.png
18 Enemies:
Big spider: frankslaboratory.co.uk/downloads/97/enemy_spider_big.png
Bat 1: frankslaboratory.co.uk/downloads/97/enemy_bat_1.png
Spinner: frankslaboratory.co.uk/downloads/97/enemy_spinner.png
Small spider: frankslaboratory.co.uk/downloads/97/enemy_spider.png
Ghost 1: frankslaboratory.co.uk/downloads/97/enemy_ghost_1.png
Bat 2: frankslaboratory.co.uk/downloads/97/enemy_bat_2.png
Raven: frankslaboratory.co.uk/downloads/97/enemy_raven.png
Bat 3: frankslaboratory.co.uk/downloads/97/enemy_bat_3.png
Ghost 2: frankslaboratory.co.uk/downloads/97/enemy_ghost_2.png
Fly: frankslaboratory.co.uk/downloads/97/enemy_fly.png
Ghost 3: frankslaboratory.co.uk/downloads/97/enemy_ghost_3.png
Ghost 4: frankslaboratory.co.uk/downloads/97/enemy_ghost_4.png
Hand: frankslaboratory.co.uk/downloads/97/enemy_hand.png
Plant: frankslaboratory.co.uk/downloads/97/enemy_plant.png
Worm: frankslaboratory.co.uk/downloads/97/enemy_worm.png
Walking zombie: frankslaboratory.co.uk/downloads/97/enemy_zombie.png
Ground zombie: frankslaboratory.co.uk/downloads/97/enemy_ground_zombie.png
Digger: frankslaboratory.co.uk/downloads/97/enemy_digger.png
⭐️Tutorial Contents ⭐️
00:00 Changing game world images
00:41 Different game fonts
01:53 Player lives
03:59 Floating text
08:20 Code optimizations
10:58 Tuning game difficulty
Let's be friends
👍 You can message me on TWITTER twitter.com/code_laboratory
👍 Check out some of my source code on CODEPEN codepen.io/franksLaboratory
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
Part 1: youtu.be/c-1dBd1_G8A Animating player
Part 2: youtu.be/ug-gdfGb7I8 State management and parallax backgrounds
Part 3: youtu.be/lqNztI7BMf8 Enemy types
Part 4 : youtu.be/6ppfyWdoH3c Collisions & Particles
Part 5 : youtu.be/KICADKr_zeM Win & Lose Conditions, Timer, Clean up (this video)
Part 6: youtu.be/tWS_eURr2_w Bonus features
🎮 FULL SERIES:🎮 youtube.com/playlist?list=PLYElE_rzEw_uryBrrzu2E626MY4zoXvx2
❤ Related Links ❤
Art by bevouliin.com check out their website for more game art assets!
Download project sprite sheets:
🐝 frankslaboratory.co.uk/downloads/97/enemy_fly.png
🌱 frankslaboratory.co.uk/downloads/97/enemy_plant.png
🕷️ frankslaboratory.co.uk/downloads/97/enemy_spider_big.png
🐕 Player: http://frankslaboratory.co.uk/downloads/97/player.png
Backgrounds:
Layer 1: frankslaboratory.co.uk/downloads/97/layer-1.png
Layer 2: frankslaboratory.co.uk/downloads/97/layer-2.png
Layer 3: frankslaboratory.co.uk/downloads/97/layer-3.png
Layer 4: frankslaboratory.co.uk/downloads/97/layer-4.png
Layer 5: frankslaboratory.co.uk/downloads/97/layer-5.png
Fire texture:
🔥 frankslaboratory.co.uk/downloads/97/fire.png
Collision animation:
☁️ frankslaboratory.co.uk/downloads/97/boom.png
⭐️Tutorial Contents ⭐️
00:00 Course overview & final project previews
00:19 Dive attack
03:24 Splash particle effects
06:55 Player gets hit
09:51 Collision animations
15:58 Game timer
17:39 Winning and losing the game
20:51 Code clean up
Let's be friends
👍 You can message me on TWITTER twitter.com/code_laboratory
👍 Check out some of my source code on CODEPEN codepen.io/franksLaboratory
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
Part 1: youtu.be/c-1dBd1_G8A Animating player
Part 2: youtu.be/ug-gdfGb7I8 State management and parallax backgrounds
Part 3: youtu.be/lqNztI7BMf8 Enemy types
Part 4 : youtu.be/6ppfyWdoH3c Collisions & Particles (this video)
Part 5 : youtu.be/KICADKr_zeM Win & Lose Conditions, Timer, Clean up
Part 6: youtu.be/tWS_eURr2_w Bonus features
🎮 FULL SERIES:🎮 youtube.com/playlist?list=PLYElE_rzEw_uryBrrzu2E626MY4zoXvx2
❤ Related Links ❤
Art by bevouliin.com check out their website for more game art assets!
Download project sprite sheets:
🐝 frankslaboratory.co.uk/downloads/97/enemy_fly.png
🌱 frankslaboratory.co.uk/downloads/97/enemy_plant.png
🕷️ frankslaboratory.co.uk/downloads/97/enemy_spider_big.png
🐕 Player: http://frankslaboratory.co.uk/downloads/97/player.png
Backgrounds:
Layer 1: frankslaboratory.co.uk/downloads/97/layer-1.png
Layer 2: frankslaboratory.co.uk/downloads/97/layer-2.png
Layer 3: frankslaboratory.co.uk/downloads/97/layer-3.png
Layer 4: frankslaboratory.co.uk/downloads/97/layer-4.png
Layer 5: frankslaboratory.co.uk/downloads/97/layer-5.png
Fire texture:
🔥 frankslaboratory.co.uk/downloads/97/fire.png
Collision animation:
☁️ frankslaboratory.co.uk/downloads/97/boom.png
⭐️Tutorial Contents ⭐️
00:00 Course overview & final project previews
00:40 Add custom debug mode
02:57 Collision detection explained
06:11 Drawing score
08:42 Rolling state
12:26 Particle class
13:42 Dust particles
22:59 Fire particles
Let's be friends
👍 You can message me on TWITTER twitter.com/code_laboratory
👍 Check out some of my source code on CODEPEN codepen.io/franksLaboratory
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory
Part 1: youtu.be/c-1dBd1_G8A Animating player
Part 2: youtu.be/ug-gdfGb7I8 State management and parallax backgrounds
Part 3: youtu.be/lqNztI7BMf8 Enemy types (this video)
Part 4 : youtu.be/6ppfyWdoH3c Collisions & Particles
Part 5 : youtu.be/KICADKr_zeM Win & Lose Conditions, Timer, Clean up
Part 6: youtu.be/tWS_eURr2_w Bonus features
🎮 FULL SERIES:🎮 youtube.com/playlist?list=PLYElE_rzEw_uryBrrzu2E626MY4zoXvx2
❤ Related Links ❤
Art by bevouliin.com check out their website for more game art assets!
Download project sprite sheets:
🐝 frankslaboratory.co.uk/downloads/97/enemy_fly.png
🌱 frankslaboratory.co.uk/downloads/97/enemy_plant.png
🕷️ frankslaboratory.co.uk/downloads/97/enemy_spider_big.png
🐕 Player: http://frankslaboratory.co.uk/downloads/97/player.png
Backgrounds:
Layer 1: frankslaboratory.co.uk/downloads/97/layer-1.png
Layer 2: frankslaboratory.co.uk/downloads/97/layer-2.png
Layer 3: frankslaboratory.co.uk/downloads/97/layer-3.png
Layer 4: frankslaboratory.co.uk/downloads/97/layer-4.png
Layer 5: frankslaboratory.co.uk/downloads/97/layer-5.png
⭐️Tutorial Contents ⭐️
00:00 Course overview & final project previews
00:26 Enemy class
01:08 Subclassing in JavaScript
03:13 How to use super keyword
04:16 Flying enemy class
16:51 Ground enemy class
19:23 Climbing enemy class
Let's be friends
👍 You can message me on TWITTER twitter.com/code_laboratory
👍 Check out some of my source code on CODEPEN codepen.io/franksLaboratory
The description of this video may contain affiliate links, which means that if you buy one of the products that I recommend, I'll 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!
#frankslaboratory


