Game Programming Portfolio
The Binding of Isaac: Rebirth, Afterbirth, and Afterbirth+
Most of my time at Nicalis was spent working on Rebirth and its expansions, Afterbirth and Afterbirth+. I was part of a core team of five programmers who developed the game and its expansions.
I worked on gameplay programming on many in-game items and enemies, but my main contribution was toward the game's bosses. I created or improved roughly half of the game's bosses. One final boss (Spoiler alert!) took about three weeks to develop its huge diversity of unique attacks and phases. It has about 50 or so bullet patterns, many unique mechanics, and some strategic attack selection rules to keep things fresh and challenging.
I added the drop-in/drop-out multiplayer feature. I added AI status effects, such as charm, fear and confusion that affect all enemy types. I added almost all of the game's easter egg seed codes, and the stackable seed system in Afterbirth. I rewrote the player controls to add analog input and fix some inconsistency in diagonal movement compared to axis-aligned movement, while staying true to the slightly slippery feeling of the original Flash game.
- Mac OS (Rebirth, Afterbirth, Afterbirth+)
- Xbox One (Rebirth)
- New Nintendo 3DS (Rebirth)
- iOS (Rebirth)
- Nintendo Switch (Afterbirth+)
Get The Binding of Isaac: Rebirth
- Also available on iOS, PS4, PS Vita, Xbox One, New Nintendo 3DS, Wii U, and Nintendo Switch
|1001 Spikes release trailer. Also check out the Polygon overview with Justin and Griffin McElroy.|
A hardcore puzzle platformer, focused on small levels and one-hit deaths.
The gameplay was developed by a core team of three programmers including myself.
One of my primary contributions was for player control. I precisely matched the player's capabilities to the original Aban Hawkins and the 1000 Spikes physics to ensure the classic level design continued working as originally intended. I also created all of the extra playable characters and their special abilities, including double jumps, wall jumps, ledge grabs, wall slides, machine guns and other unique weapons, jetpacks, melee attacks, and Super Mario Bros style enemy stomping, just to name a few. I also did a lot to improve the feeling of fairness and responsiveness in the controls: Finely tuned buffered inputs across all player states to allow early button presses to register, and ledge forgiveness frames that let you jump late after walking off a ledge.
I added the multiplayer features, including the 2-4 player Golden Vase game, and the 1-4 player Tower of Nannar and Lost Levels games. The main story mode is also playable in multiplayer. Players can drop in and out at any time.
A few of my other contributions: I rewrote the physics system, I wrote most of the game's pixel-perfect resolution scaling, and I created many of the game's menus and dynamic cutscenes.
Get 1001 Spikes
- Also available on PS4, PS Vita, Nintendo 3DS, Wii U, Xbox One, and coming soon to Nintendo Switch
|NightSky running on an iPad. In the video, I play through some of the early areas in the game, then the credits, and finally a few much harder Alternative mode levels, using the swipe control mode.|
For my first professional project, I worked on contract for Nicalis, Inc. to port the PC game NightSky to iOS. I did all of the programming for the port, starting from a PC version (NightSky HD) written in C++.
A large number of aspects had to be tweaked or completely rewritten, including image loading for PNGs, rendering in OpenGL ES, audio streaming, menu functionality, and all of the in-game controls. In the process I also fixed pre-existing bugs and added many iOS-specific features.
- Universal Binary
- Retina optimized
- Unique touchscreen control scheme
- Game Center achievements
- Great compatibility with old devices (2009 and up)
I built three separate control modes to suit the iOS platform: Swipe, tilt, and digital. I added support for analog input in the game's physics. Direct touch control was added to many of the objects in the world, such as cannons, removable blocks, and pinball flippers.
|NightSky running on an iPhone 5.|
As one reviewer describes it, "If you're looking for a game that shows how simple, touchscreen-focused controls can create an elegant, hugely entertaining experience, then NightSky is well worth your time."
The game will run well on any iOS device released in 2009 or later. It achieves 60 frames per second on 2011 and newer devices. I also went to great efforts to make the game's high resolution art assets fit in memory on low-end devices, selecting texture formats and repacking spritesheets for almost every image in the game. At the time of development only 32-bit iOS devices existed, so unfurtunately the game will become unavailable when Apple decides to drop 32-bit support unless Nicalis releases an update.
|A video playlist (five videos) of the front-end, FSR, and PWND games. Use the "Next" button to the right of the Play/Pause control to skip to the next video. Narrated by the project lead, Dr. Tim Chamillard.|
The Imagination Stations were commissioned by the University of Colorado at Colorado Springs in partnership with Peak Game Studios. The goal was to create interesting and interactive displays which would get touring K-12 students interested in science and engineering topics through presentations and educational games.
The games are on display on several HDTVs on campus, in the Science & Engineering building. All the software is controlled via one to four wired Xbox 360 controllers (PWND can be played cooperatively with up to four players).
I was on the teams that developed the front-end, and the PWND and FSR games. Other departments and teams supplied media such as videos, PowerPoint presentations, and simpler games.
Most of my work was on 3D graphics: modeling, texturing, rigging, and animating 3D objects; rendering and batching image sequences for 2D games, and writing rendering code for 3D games. All of the graphics were designed for a 1080p HD resolution.
|Rhombi II gameplay footage (480p or 720p quality recommended)|
Rhombi II is a PC puzzle game built in Game Maker. The player moves the blue square using the arrow keys. As the player moves, they leave a trail of blocks behind. Those blocks are consumed over time by a tail of fire. The player's goal is to destroy every block and reach the end of the level.
Rhombi was inspired by a mini-game "Square" in the WiiWare game MaBoShi's Arcade. It was later enhanced to add mouse-controlled power-ups, which can be used to play as a two-player cooperative experience, or for occasional assistance when playing solo. Players can spend points from their score to use powerups that help prevent a game-over.
- Arrow keys - movement
- Left mouse button - Select power-up, use power-up