I’ve been talking over a game idea with some friends recently. We’ve had a lot of thoughts on what our game should involve, but naturally before we can proceed much further we need to look at making some prototypes.
- We need to know what’s technically possible, what sort of limits we’re likely face with certain systems and types of gameplay.
- It ensures the group is all on the same page in terms of the core mechanics of the game, that it’s going to work in the way we’re all imagining.
- By fiddling with values and experimenting with different dynamics we might discover gameplay elements we wouldn’t have thought of otherwise.
- Most importantly… We know whether our idea is fun.
“You can’t argue with a prototype… If it’s cool, people shut up.” — Chris Hecker
If something we want to build is going to be fun to play, it has to be enjoyable right from the most basic gameplay elements. Even with all the awesome artwork in the world, heavy theming will not salvage bad design. So no matter how great our idea seemed to be, if we had tried to prototype it and came up with demos that just weren’t fun to play around with, we would have been back at the drawing board all over again.
So, lets looks at the prototyping work from a more technical point of view. I’ve been using Python 2.6 along with Pyglet, and despite never having so much as looked at either of those before I’ve been able to get things working incredibly quickly. Compared to working in C++ and setting up devices and frameworks, this has been a very refreshing way to develop.
In the past I’ve used Actionscript to get together very rough prototypes, but given the (previous) lack of object orientation, the difficulty it takes to set up a new project and the fact that Adobe Flash isn’t free, I’d definitely now say I prefer Python. Although there are obviously still many features of the language I have yet to get experienced with, the syntax was easy to pick up and come to terms with. Pyglet made it very simple to create a window and display graphics within it, and the commands for OpenGL remains the same as in C++.
Hopefully I’ll be able to get some other Python demos up on the site at some point, and eventually the prototypes I’ve been working on now.
So, what do you do about prototyping? Do you have any Python experience and if so how have you found it? Any tips or advice?