I wanted to learn more about client-side state synchronization and client/server input reconciliation in multiplayer games. I created a prototype game of “Hide and Seek” where the game simulation is run in parallel on both the client and server. The clients are allowed to optimistically apply updates in their local simulation to give greater responsiveness while the server simulation remains authoritative.
FishPipes is a small easter-egg video game I included within a product at Google to celebrate April 1st. The game is modeled off of FlappyBird, but instead of a bird, you play a fish that must time jumps out of water to dodge obstacles. The game's purple pipes were themed off of the data pipeline product it was included in. Credit for the excellent game assets go to Kenny Chen.
BugCraft is a quick 20% project I created at Google that would visualize your team's open bugs as a battle in StarCraft. Each open bug was represented by a Zerg unit with the bug priority determining the unit type. Each member of the team was represented by a Terran unit at the top of the screen which would gain levels by successfully closing bugs.
Rotation's is a small tool I created at Google in my 20% time to help coordinate rotating responsibilities on teams. While it was started to simplify build cop rotations for engineers, it gained wide traction across the company and was used across many job functions including sales and product management. I maintained the product for many years before transferring ownership to a dedicated team at Google.
WebDKP is a free web service I created for players of the game World of Warcraft. At its height, it had over 500,000 active users. The site keeps track of user virtual currency called “DKP”, which was used by guilds to help distribute in game rewards. The site can often reduce tasks that used to take hours into a matter of minutes. It is integrated with World of Warcraft by means on an addon that users can download.
I gave a TechTalk covering the basics of building 2D video games . While most of the concepts are generic, code examples centered on building games in the browser.