Remake Retro Games with JavaScript
Old is gold. Let's get inspired by the classic games from the 80's and add our own graphics and game features. Explore the interstellar void and use 3 different weapon types to burn through swarms of space bugs of different types, some larger than the others.
We will start with a game loosely inspired by the classic Space Invaders arcade and we will experiment with different additional features such as boss battles, super weapons and different enemy types.
Let's explore object oriented programming with JavaScript and implement a useful set of basic 2D game development techniques such as object pool design pattern, sprite animation, timing and staggering techniques using timestamps and much more.
Don't forget to download all the bonus gifts. Students of this course will get a pack of premium quality 2D game art, this time in a sci-fi space theme. You can also download the source code from multiple stages of the project, as we gradually add more features.
More
We will implement multiple enemy types:
- Beetlemorph - basic enemy, 1 hit is enough
- Rhinomorph - armored enemy, multiple lives, multiple damage states
- Mantismorph - massive boss size enemy, increasing pool of lives
- Eaglemorph - when hit, it will sacrifice a body segment and it will spit it back
- Squidmorph - unknown alien bug, use everything we learned to implement your own unique enemy type
Watch Online Remake Retro Games with JavaScript
# | Title | Duration |
---|---|---|
1 | Introduction | 01:03 |
2 | What will we learn? (Project features) | 01:28 |
3 | Project Setup | 04:25 |
4 | Game and player objects | 05:37 |
5 | Keyboard controls | 07:27 |
6 | Object pool | 13:02 |
7 | Enemy waves | 13:34 |
8 | Collision detection | 08:06 |
9 | Counting score and drawing game text | 12:49 |
10 | Game restart method | 05:47 |
11 | Beetlemorph enemy class | 04:51 |
12 | Sprite animation explained | 10:36 |
13 | Animation timing | 10:16 |
14 | Player animation | 13:09 |
15 | Extra features: Armored enemies | 00:58 |
16 | Rhinomorph enemy class | 09:25 |
17 | Extra features: Boss battles | 00:31 |
18 | Boss class | 09:28 |
19 | Boss movement | 10:23 |
20 | Boss vs player collision | 07:08 |
21 | Extra features: Super weapons | 00:44 |
22 | 2 laser classes | 08:02 |
23 | Laser damage | 08:02 |
24 | Resource management | 07:06 |
25 | Eaglemorph enemy class | 06:56 |
26 | Enemy projectiles | 06:22 |
27 | Projectile interactions | 04:49 |
28 | Squidmorph enemy class | 09:19 |
29 | Lobstermorph enemy class | 02:31 |
30 | Project Setup | 03:19 |
31 | Planet and Game Class | 08:11 |
32 | Mouse Position | 06:20 |
33 | Player Spaceship | 04:43 |
34 | A little bit of Math | 07:48 |
35 | Understand Canvas Rotation | 06:16 |
36 | Debug Mode | 02:26 |
37 | Object Pool | 12:23 |
38 | Player Projectiles | 06:11 |
39 | Enemy Pool | 07:26 |
40 | Collision Detection | 02:21 |
41 | Periodic Events | 08:07 |
42 | Asteroid Enemy Class | 04:22 |
43 | Sprite Animation | 09:16 |
44 | Lobstermorph Enemy Class | 09:16 |
45 | Game Text | 05:27 |
46 | Player Lives | 05:10 |
47 | Beetlemorph Enemy Class | 01:37 |
48 | Rhinomorph Enemy Class | 02:44 |
49 | Make your first mobile game | 01:09 |
50 | Project Setup | 02:03 |
51 | Make Everything Responsive | 06:16 |
52 | Enemy Class | 08:00 |
53 | Object Pool Design Pattern | 03:36 |
54 | Periodic Triggers | 06:51 |
55 | Mouse Controls | 01:32 |
56 | Collision Detection | 07:51 |
57 | Touch Events | 01:39 |
58 | Game Text | 07:05 |
59 | Start and Restart | 03:35 |
60 | Fullscreen Games | 04:12 |
61 | Simple Crew Members | 01:31 |
62 | Simple Enemy Type | 04:24 |
63 | Sprite Animation | 04:21 |
64 | Animation Timing | 04:09 |
65 | Debug Mode | 02:10 |
66 | Enemy Variety | 04:30 |
67 | Randomized Space Crew | 03:48 |
68 | State Management in Games | 04:28 |
69 | State Design Pattern | 15:24 |
70 | Sounds | 09:50 |