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.
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.
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.
Refer to 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).
Happy coding!
- A simple racing game in CoffeeScript I made
- A small platform game re-implemented in several languages
- So many JavaScript game engines ...
- Other collision detection algorithms
- Article about JavaScript game loops
- More about fixed time steps game loops
How to make an awesome game? Use awesome assets (images)!
Copyright 2014 Coded Inc.
marc@codedinc.com
You are free to modify and distribute this however you want. Except for teaching purposes.