For the last few months I've been working with on a game called PokerSnake. The project originally started years ago as a javascript prototype based on an idea from a friend.

Prototype

First step of the actual game was an OS X map editor. The editor can design the actual map using tiles and define a goal for map (Find 4 aces, Get a straight flush, etc). The basic game engine was then implemented in C with an Mac platform layer to allow launching the game directly from the editor. This allowed for fast and easy testing of both the game and maps.

Map editor

After getting the game core working the game was polished up a bit. The cards that form the body of the snake merge together to form a unified shape and blocks merge to give a better overall impression.

The game is rendered in an integer scale factor (2x, 3x, etc) using nearest-neighbour and scaled down with anti-aliasing to keep the game looking pixel-perfect at any resolution.

Polished game

Then the game engine was then moved to an iOS project. Since the game is primarily C and OpenGL getting it running on the phone was easy. But especially implementing controls was tricky on the iPhone. Touch is not quite as straight-forward as arrow keys. This involved adjusting the speed of gameplay and some of the levels.

Biggest part of the iOS version was the user interface. Around 170 images, three layer menu system, dialog boxes with poker card support, animations, etc.

iPhone menu

A classic snake mode has also been added in the iPhone version with special visual and gameplay effects.

When the entire menu system and game worked then it was polished again with some CRT effects before it was submitted to review in the App Store.

Final game

Read more about the game at the website or get it on the app store.