Pong: an HTML5 Canvas 2D Game
The first project of The Great Code Club.
Setting up your dev environment
You can open
game.html directly in your browser using the
file:// protocol. However, I recommend you use a real web server. If you have python installed:
$ python -m SimpleHTTPServer
Then browse to http://localhost:8000/game.html.
Reload the page each time you change something, or check out
Guardfile to setup automatic reloading.
How to browse the code
Here are the files you should take a look at, in logical order:
game.htmlis the page containing the
<canvas>we render the game on.
game.jsis the game engine, mainly the game loop.
pong.jsinitializes the game and the entities.
entity.jscontains the base class for all game entities.
ball.jsis the ball entity. Boing!
paddles.jsis the logic for the player and computer controlled paddles.
Creating Your Own
This project includes the following files you can re-use to make your own custom game:
game.jsis the generic game engine.
entity.jsthe base class for any game entities.
pong.js to initialize the game and load the entities.
Check out the gravity branch for a variation on Pong made by Greg Bowler (@g105b).
- A simple racing game in CoffeeScript I made
- A small platform game re-implemented in several languages
- Other collision detection algorithms
- More about fixed time steps game loops
How to make an awesome game? Use awesome assets (images)!
Copyright 2014 Coded Inc.
You are free to modify and distribute this however you want. Except for teaching purposes.