Christopher Ivey

profile and portfolio.

Recent Projects

Projects developed as an employee of Bitheads Inc. / PlayBrains Inc.

Phase 10 – PlayBrains Inc. / Magmic Games Inc. (C++)

Phase 10Over the past two years, I worked on the development of the PC version of the card game Phase 10 , as lead developer. Phase 10 is a popular Rummy-type card game where players race to complete a set of ten melds, called “phases”. 

Playbrains Inc. entered into an agreement with Magmic Games, (the licence holder for the title) to develop the Windows PC version of the game.

Phase 10 was initially designed as a single-player game, with support for peer-to-peer networked play, but was then retooled as a client-server application, with all of the game logic handled server-side, and with more robust validation aimed at preventing players from cheating. In the end, the decision was made to revert to a single-player model, and the networking support was disabled. However, if this game makes its way into the console space, it can very easily be adapted as a multiplayer game.

Since it uses Bitheads Inc’s proprietary 3D engine, Phase 10 can support any resolution up to 1920x1200, and looks superior to most casual card games.

Phase 10 should be available for purchase in the fall of 2009.

Sinbad and the Pool of Tears – PlayBrains Inc. (C++)

Sinbad and the Pool of TearsConcurrently with Phase 10 , I worked as lead developer on a playable demo of an adenture card game called Sinbad and the Pool of Tears. Sinbad is a rummy-type card game where players build melds to advance in the game. Players also accumulate skill points that they can use to invoke special skills that allow them to attack other players, heal themselves, or interact with the cards in other players' hands. Sinbad is fundamentally a race game. Players are represented in a metagame as ships on a 3D map. They must succeed in playing melds in the card game in order to meet conditions that allow their ships to navigate through a 3D landscape.

Sinbad has the potential to be a very entertaining multiplayer game because of the fact that players can engage each other directly and engage in what I like to call "dirty play" as they try to foil each other's attempts to win the race. The single-payer game includes story elements and a progression through several maps of escalating difficulty.

Like Phase 10, Sinbad leverages Bitheads Inc’s proprietary 3D engine, and can support any resolution up to 1920x1200. It's a very good-looking game considering its unfinished state. We were especially proud of a set of simple tools we created to allow the game artists to adust the lighting and post-processing effects for each level right in the game.

Agile Slots Framework – Bitheads Inc. / Cryptologic (AS3)

Agile Slots FrameworkBitheads Software of Ottawa was engaged by Cryptologic, Inc. (described as the blue chip gaming software company), to create a new casino platform and game development framework. The resulting Agile framework exceeded the original benchmarks and demonstrably slashed development time for new casino games to less than 100 days for new titles..

After starting in debugging, I ended up leading development of the client-side framework for slots games. The Flash client was essentially a dumb client, comprising the controller and view components of the classic model-controller-view development pattern. I was given the opportunity to refine the architecture when the decision was made to port the framework from ActionScript 2 to ActionScript 3. I opted for a very simple class-based design that used a collection of custom components that could easily be extended when it was necessary for them to exhibit special behaviours.

We initially stuggled with a complex algorithm for procedurally generating the paylines in each game, but we found that this broke down in more complex games with more than 20 paylines. Instead we decided to build a simple visual tool that allowed game developers to simply draw out paylines on top of a screenshot of the game. This proved very popular with developers, who liked the simplicity of a visual tool, and it allowed us to support virtually any number and configuration of paylines in custom games.

We also built a very slick tool to tailor the spin animation of the slot machine reels for different games. Each slot game was required to support two spin speeds as well as an "instant" setting for impatient gamblers. By abstracting the complexity of the reels and presenting the game designers with a visual tool, we made it possible to combine a complex sequence of animations seamlessly with a few mouse clicks.

The slots framework proved to be resoundingly successful in reducing the time to market for new games. Once the art and assets for a game had been created, actually building the game was a matter of a few days' work for a basic slot game. Existing slot games could be ported to the new framework in less than a day, provided they didn't require the addition of mini games or custom extensions.