Build Animated Physics Game with JavaScript
What makes a great game? Is it about beautiful, polished visuals or about gameplay that feels good and responsive? Is it about unique ideas, or maybe it's the little details, special secrets and Easter eggs? What are the ingredients in a perfect game development recipe?
In this class we will dive deep into sprite animation, interactivity and 2D physics. We will learn 10 important techniques every game developer needs to know and we will apply them in a real project.
Students of this class will get a lot of 2D professional high resolution game art for free. I provide environmental and character art assets in the form of ready to use sprite sheets, as well as source files with separate pieces for those of you who want to edit the colors, piece together your own mushrooms and creatures or to rig your own animations.
More
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
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.
Have fun! :)
Watch Online Build Animated Physics Game with JavaScript
# | Title | Duration |
---|---|---|
1 | Introduction | 00:47 |
2 | Basic setup | 03:52 |
3 | Object Oriented Programming in JavaScript | 04:22 |
4 | Drawing the player | 07:11 |
5 | Mouse controls | 06:00 |
6 | Making the player move | 07:40 |
7 | Creating obstacles | 06:34 |
8 | Non-overlapping obstacles | 06:36 |
9 | Randomized images from a sprite sheet | 05:15 |
10 | Positioning rules | 06:00 |
11 | Reusable collision detection method | 04:05 |
12 | Physics | 08:08 |
13 | 8 directional sprite animation | 04:14 |
14 | Animation angles | 07:06 |
15 | Debug mode | 03:34 |
16 | Player movement boundaries | 02:57 |
17 | FPS | 09:40 |
18 | Egg class | 04:54 |
19 | Periodically adding new eggs | 07:00 |
20 | Egg physics | 05:35 |
21 | Draw order | 08:18 |
22 | Enemy class | 11:20 |
23 | Larva class | 03:27 |
24 | Egg hatching | 09:59 |
25 | Larva sprites and collisions | 04:38 |
26 | Gaining score points | 02:41 |
27 | Particle effects | 08:56 |
28 | Particle motion | 07:05 |
29 | Randomised enemy skins | 04:25 |
30 | Win and lose condition | 10:32 |
31 | Restart game | 06:32 |
32 | Extending enemy class | 05:56 |
33 | Simple fullscreen mode | 03:08 |
34 | Player sprite sheet full animation | 02:37 |
35 | Larva sprite sheet full animation | 01:44 |
36 | Enemies sprite sheet full animation | 06:39 |