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.

Rodin1

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 , | 6 Comments

Smart Timers

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

Posted in Game Dev | Tagged , | Leave a comment

“Squaresville” – An open world adventure for Sifteo

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.

Continue reading

Posted in Projects | Tagged , | 2 Comments

Peong – Part 2

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.

Continue reading

Posted in Projects | Tagged , | Leave a comment

“Peong” – Sifteo Pong

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.

Continue reading

Posted in Projects | Tagged , , , , | 1 Comment

Sifteo Project for Visual Studio

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.

Continue reading

Posted in Game Dev | Tagged | 2 Comments

“Twisteo” – My First Sifteo Game

This month’s experimental gameplay project is to make a game for Sifteo Cubes, a really cool and unique gaming platform.  I was inspired to try playing around with some ideas and spent most of the day implementing a simple puzzle game concept tentatively called Twisteo.

Continue reading

Posted in Projects | Tagged , , | Leave a comment

“Dark World” – Postmortem

This was my 4th Ludum Dare, I planned to use my own open source game engine and was eager to experiment with the new dynamic lighting system I added. When the theme was announced on Friday night I was at a Louis CK show and went out to dinner after so I thought about the theme a bit but didn’t really get started until Saturday.

At first I felt the theme was almost too generic because the concept of an anti-hero is already ubiquitous in contemporary pop culture. It seems like in the majority of modern video-games the player engages in at least some villainous activities. With my entry I tried to go as far past anti-hero as possible by both removing all virtuous attributes from the player and applying more humanistic and heroic traits to the enemies. The core idea I kept going back to is what if Mario was Hitler?

player3

Continue reading

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

Dark World – Ludum Dare 25

“Dark World” is a platformer/shooter game I made for Ludum Dare 25. The theme was “You are the villain”.  It scored 158 overall out of 1327 entries and also received 38th in the mood category.

My idea was to put a spin on platforming gameplay and tell it from the enemy’s point of view. What it finally ended up as is a crude alternate universe version of Super Mario Bros where the player is almost forced into being the villain. My goal is to help people think about things from another person’s perspective. For the visuals I experimented with mixing normal mapping and dynamic shadows with quickly made pixel art.

Continue reading

Posted in Projects | Tagged , , | 1 Comment