“Secret Formula” – Indie Speed Run 2013 Winner

Secret Formula has been chosen as winner of Indie Speed Run 2013. This is especially unbelievable because there were so many amazingly fun and polished games. I just wanted to say thanks to the judges, players, participants, my team members, and of course Yahtzee who choose us as winner!

Also, here’s a link to the most recent version of Secret Formula that contains some tweaks, bug fixes, and other improvements.

Secret Formula Was Created By:


“A very tight little game combining fun easy to learn hard to master mechanics with an elegant virtually dialogue free short story with an intriguing turn at the end. – Yahtzee

Posted in Projects | Tagged , , | 2 Comments

“Secret Formula” – Postmortem

Last weekend I participated in Indie Speed Run 2013 a 48 hour game making competition for teams of up to 4 people. For our team I was focused on programming while Saam handled art/design and Jerry worked on sound/music. This was the first time we were working together and also my first game jam working on a team.

Sometime around 7 PM we hit the magic button to begin the jam and receive our 2 random game elements that must be featured prominently in the game. Our theme was “Secret” and our element was “Vines”. We brainstormed for about an hour and came up with the rough plan to make a platformer where the character swings from vines inside a secret lab, working as a secret agent to get past traps and find a “Secret Formula”.

Continue reading

Posted in Game Dev | Tagged , , , | Leave a comment

Squaresville 8×8 Sifteo Font

I packaged up the 3 tone 8×8 font I was using for Squaresville for other people to use. It is based on a font I found in an old forum post by an artist known as red_Marvin. I moved a few pixels to make it more consistent and reorganized it to work with the Sifteo SDK’s text rendering.



Posted in Game Dev | Tagged | 2 Comments

How to make animated GIFs of your Sifteo game

I figured out an easy way to save animated GIFs from the Siftulator! Here are some nice ones of Squaresville, the puzzle platforming game I’m developing. More technical info about how my method works after the jump.

Continue reading

Posted in Game Dev | Tagged , | Leave a comment

(R,G,B) – Postmortem

This was my 5th Ludum Dare, I was well prepared with a beefed up Frank Engine, my open sourced game engine that I’ve used for previous Dares. During the warm-up weekend I added some nice tile sheet support so I was planning to make a pixel art game to test out that tech. I ended up throwing that idea out the window to go with a cleaner un-textured look. I was able to use a debug display for the lighting system to create the unique visual aesthetic. Looking back I would have done a few things differently but overall I’m satisfied with the final result.


Continue reading

Posted in Game Dev | Tagged , | Leave a comment

Building a Better Animated GIF

Creating animated GIFs is a great way to show your game in motion without requiring viewers to click on anything. I was having a few issues with both file size and image artifacts. Here’s what I learned about how to make better animated GIFs for when you want to put in a little more effort to make it look as good as possible.

Using the improved method

Continue reading

Posted in Game Dev | Tagged | Leave a comment

“(R,G,B)” – Ludum Dare 26

“(R,G,B)” is a minimalist adventure game I made for Ludum Dare 26. The theme was “Minimalism”. My goal was to experiment with pure color values and explore the flat 2D space while keeping the game itself very simple. I also created the music within the contest time limit. It scored 42 overall out of 1610 entries and also received 10th in the graphics category! While not my highest overall it is my first time breaking the top 10 in any category so that’s pretty cool.

Continue reading

Posted in Projects | Tagged , | 3 Comments

A Simple Hash Map

Hash maps are used to store a mapping from one thing to another. In videogames they can be used to safely keep handles to objects that could be destroyed at any time. A unique handle is assigned to each game object and mapped to it’s pointer via a hash map. We can keep track of objects using handles instead of pointers so when an object is destroyed it doesn’t have to notify anyone else, just removing it’s handle from the hash map is enough. This is more or less the same method we’ve used on many of the industry titles I worked on (Starhawk, Red Faction, etc). The downside is of course is a longer look-up time, but I’ve found with proper engineering it’s negligible.

Continue reading

Posted in Game Dev | Tagged | Leave a comment

A Rendering Thought Experiment

I recently wrote an article about smoothing out measured time fluctuations and provided a code sample that fixes the issue. I haven’t seen this stuff talked about much before and I’m noticing some confusion about what causes this aspect of stuttering and how we can eliminate it. In a nutshell the problem is that the measured time delta fluctuates around the actual vsync interval. This is not the same issue as temporal aliasing which happens when you have a fixed time step but no interpolation! Here’s an article on AnandTech that explains the issue of frame delta stuttering in great technical detail.

Perhaps a thought experiment can better help explain this aspect of stuttering. I’ll start with an analogy for triple buffering to show how can we trade latency for the ability to smooth out the occasional long frame. We will build on that to show how measured clock time will always fluctuate between frames and why it must be corrected for.


Continue reading

Posted in Game Dev | Tagged , , | Leave a comment

“Squaresville” – EGP Demo

Squaresville is an open world puzzle platformer for Sifteo cubes that I developed for the EGP Sifteo competition. This was a major challenge both optimizing it to run smoothly and also make the design fun to play under extreme limitations. I am very happy with the results, it may be the best game I’ve ever made actually. I hope that players will enjoy it because it’s somewhat confusing but I have added many new features to help with that.

UPDATE: Squaresville is one of the two winners!  Congrats also to One Life Remains, the winner of the multiplayer portion.

Continue reading

Posted in Projects | Tagged , | 8 Comments