Recently, inspired by the work of Notch and Bret Victor, I have been doing a little more game programming in my spare time. The only game development I had done previously was in C/C++ and I found it just didn’t have the tight feedback loop that both Notch and Bret demonstrate so well when they code. As I didn’t feel like firing up Eclipse and going down the Java rabbit hole with Notch I decided to take Bret’s approach and work on an HTML5 Canvas game.
What I have been able to put together so far is called Gibdo - a top-down 2D game starting point featuring,
- A scrolling view window that tracks the player across the game world.
- View limit detection to allow the player to move off the centre of the screen as the edges of the game world are reached.
- Sprite collision detection.
- Keyboard input.
- Sprite animation and sprite swapping based on the player’s direction.
It’s obviously not a full game but I feel it’s a good starting point to build off. In the future I would like to add,
- Multiplayer support (maybe using pusher).
- Tile based world generation.
- Game mechanics such as combat, levels, etc.
- Sound effects.
- Massively Improved sprites (a pixel artist I am not).