Rapid Prototyping

Some of you may be familiar with rapid prototyping. It is a concept i learnt from the Experimental gameplay project, specifically this article by Kyle Gabler, Kyle Gray (2D Boy, World of Goo), Matt Kucic, Shalin Shodhan.

Rapid Prototyping is a great way to develop new ideas quickly. I use rapid prototyping all the time whether it be in AS3 or Javascript, a game or an application. Whilst game and application development are very different, the same rapid prototyping methods can be applied.

Lets examine a few points from the article:

  • Embrace the Possibility of Failure – it Encourages Creative Risk Taking

This is the most crucial concept to grasp when rapid prototyping. Before i had a rather cautious view on development, i would constantly be thinking “I could also do it this way but i better do it the way i’ve seen before” when actually if i had prototyped a few examples i would probably have developed the end product faster and it would probably be more efficient.

  • Simulate in Your Head – Pre-Prototype the Prototype

Many developers will be thinking “Duh of course” every developer has an idea of how to develop an idea programatically. But the key here is to not limit yourself entirely to how your application or game will work, but to think of it as a whole, interface, animations, graphics and usability. I’ve applied this approach to Wuup’s AIR apps (which were rapid prototypes though with extra polish :P ) Which was the first time i applied the prototyping technique. They both took approx and hour to think of and deploy.

  • Build the Toy First

This is my favorite point, because i write a lot of experimental apps and i’ve always built the fun part first. The reason you develop the toy first is that, if you dont, you might end up with a great UI, animation and efficiency but the main function of your application could be flawed (“You Can’t Polish a Turd” as they say).

  • Build Toward a Well Defined Goal

Many of you who have developed large applications know how important this statement is. You can work as long as you like o a project but without well defined goals your work could prove ultimately pointless.

Rapid prototyping isn’t entirely a solitary experience, two programmers working very well together can achieve much in a short space of time. Both me and Alan have prototyped several pieces of software to much success. Though be prepared for many arguments about how things should and shouldn’t be done ( ciel is a perfectly reasonable math calculation to use Alan! :P ).

In closing, Rapid prototyping can be your friend if you are of the right mindset. But be prepared for failure and never spend too long on a prototype (i spent a whole week on an application that went nowhere).

happy prototyping!

-Bill

Heres a few flash things that are a result of rapid prototyping (most didnt turn into anything more than prototypes):

Flash Surf , an Audiosurf rip that i stopped developing because it had been done before. (Turn your volume down if you dont want to listen or your at work :P ).

Microphone Visualizer, a pure programming experiment into 3d visualizations that respond to microphone levels (you have to allow the flash access to your mic when it asks, otherwise its pretty boring :P ).

Orbiting Planets , some random planets orbiting, pretty boring actually i made this to satisfy my programming lust.

Snake Prototype , familiar much? just a simple snake game to advance my programming skill.

Flying Game , a game where you fly a ship and avoid obstacles (if it doesn’t load for you you can download it here).

World of Murray , a homage to World of Goo but nowhere near as good (and incredibly buggy). Click the check-box in the top left then click anywhere on the stage to add a ball. I definitely didn’t make this to copy 2D Boy but more to experiment with a complex game-play mechanic.

Tags: , , , , , , , , , , , ,