Thursday, March 25, 2010

My Favorite Protyping Environment

We kinda pioneered this idea with Kimmo of Mountain Sheep some moons ago. Before that I always used to have 1MB DebugDrawProtos.cpp which was hooked to my current game where I had all my protos hidden behind a console var :)

The idea is simple:

You have a simple project, where you can add one .cpp file and it will compile and appear as a new prototype to choose from when you start your application.

In order to make the threshold of adding something new low, all the protos are based on a simple base class, which has init(), update(dt), and draw() functions. Sometimes I customize this, if I'm prototyping just one feature, like with Project Cane.

This allows me to quickly create new sketches to try a bit alternative version and do AB testing between the two. Add IMGUI into the mix and you can have bunch of parameters to tweak too in no time!

This is how Project Cane is structured too. I have over ten or so different methods prototyped currently (will release it after GameAIConf) and I don't need to hesitate to add something new when I read a paper and get some crazy stupid new ideas while walking to work.