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.
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.
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.
Every game needs some kind of timers to control gameplay related events. A timer works kind of like a stop watch in real life. There are different ways to keep track of time, this method some nice advantages that will make your life easier! Continue reading →
This months experimental gameplay project was all about making games for Sifteo Cubes. So far I’ve released 2 prototypes, Peong and Twisteo which gave me a good sense of how to leverage the cubes unique capabilities. For my final concept I wanted to really push the limits of what was possible and take it to the next level. Maybe I went a little overboard but honestly I was just having too much fun.
Sifteo cubes are awesome. They are awesome and they are slow. The simple 16×16 cellular automata smoke effect Peong uses was dragging my framerate to the ground. It’s just a 16×16 matrix but the update was eating the bulk of my framerate. I wanted to see how high I could push the fps with some optimization. I finally got it running at a solid 60Hz on all 3 screens during gameplay but this is all running in an emulator so it’s hard to say how it will look on actual hardware. The emulator reports that the screens themselves are refreshing at a maximum of around 35Hz so that may be the limiting factor.
I’ve been spending a few days experimenting with Sifteo cubes. One hand Sifteo has extreme limitations but on the other it has capabilities that no other system does which makes it a fun platform to develop for. There are not many games yet available for the system but in my opinion what they really need is something like Wii Sports for Sifteo. Using Wii Sports Tennis as inspiration I developed an action oriented multiplayer game that leverages the unique capabilities of Sifteo, tentatively called Peong.
After playing around with Sifteo development for a while I began to grew weary of switching between notepad++ and the command console. I wanted to work in a cleaner environment and simplify my iteration loop so I cobbled together a solution for Visual Studio Express. What I’d like to see eventually is more of a cross platform solution with native Visual Studio debugging. This is kind of a work around but still one step closer towards that goal. It’s hooked up Makefile configuration type to launch a bat file which builds the elf and runs the Siftulator.