“Self Destruction” is a game about being trapped in a time travel loop and needing to kill all previous versions of yourself to progress. Each wave you’re actions from all previous waves are layered on top of each other but instead of helping you, they are the enemies that you need to kill. This prototype was made in about 2 days.
It’s been a little over a year now since I finished up working on Starhawk for PS3 but it seems like so long ago. Despite being a pretty fun multi-player game it flopped and most of the team was let go after the second DLC update. Sometimes that’s how things can go in this industry, but I saw it as a great opportunity to focus on building an indie career and it’s been a crazy year. In the past 12 months I was contracted by Sifteo to develop an original game for Sifteo Cubes, won Indie Speed Run, showed a game at MAGFest indie showcase, released several freeware games, and made major improvements to my game engine. Despite some success I’ve netted only about $13,000 in income while having many setbacks and working constantly. In this post I will review my experiences from the past year and outline my plan for moving ahead.
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!
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”.
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.
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.
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.
“(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.
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.