Adobe Flash is like the mafia to me: just when I think I’m out, it pulls me back in. This is the “problem” with doing something for so long (eight years this month,) you get good at it and then you get known for it. Well, it’s a “problem” for me because I like to diversify. For years I was the “flash guy” and it’s a title that’s become hard to avoid, especially when there are bills to pay. Or airline tickets to buy.
Despite all my negativity, Flash is very good for things like video, visualizations, and games. It is particularly great for one little subtle aspect of game making: prototyping. It’s one part scripting language and one part — its original foundation — animation tool, and these things combined make it perfect for creating quick, working versions of ideas without any of the complicated rendering and display issues of other pure scripting languages.
These factors kept me on top of what was going on in the Flash world even when I wasn’t using it, and my increasing desire to pay bills has brought me, this week, back into its fold. The quick prototyping that Flash allows was one of the motivating reasons for this, even if it was a convenient excuse for getting some of the rust off in hopeful anticipation of upcoming contract work. As I’ve subtly alluded to in previous postings, I’m attempting to take a more active “do or do not” approach this year to the things that I’m interested in. This is one of them. Inspired by numerous sources, and an interest in participating in the global game jam at the end of the month, I wanted to see if I could prototype a working game in one day.
Turns out: I can!
I sat down a little after noon on Sunday with nothing more than an idea and by 2am I had a sent out a working link. It was tiring and exhausting and I don’t want to look at Flash again for another week, but it was great to feel that creative instinct flow through me for a day.
Here’s the playable version. Guide the red squares to the green goals using left and right arrow keys to move, and up and down arrow keys to activate teleporters. Use the yellowish teleporter to kill any square you can’t save. Try to get an A+ rating.
It doesn’t look like much, but the core functionality that I wanted is there and that, in itself, is the most useful part of a prototype. A working example can tell you more in a minute than a design document can in a hundred pages. Whether it works or not, or where I can take it, I don’t know yet. But I do know that having made it, I am now one day, and one game, more experienced than I was last week. Ideas are good to have, and I have had plenty, but they’re useless braincrack unless executed.
So yes: executed, learned from, new ideas gained, new code for for future executions. Huge success. Well, the action; maybe not so much the game.
- How to Prototype a Game in Under 7 Days, a now three year article but a timeless reference.
Build the Toy Firstwas my main strategy. World of Goo emerged out of this. Buy it, it’s great.
- Kloonigames’ list of articles about rapid prototyping. Or the whole kloonigames weblog, where he attempts to create a game in seven days every month. Not all succeed, but eventually something good comes out of it: Crayon Physics Deluxe should be available for purchase today.
- Game Design Sketchbook, where Jason Rohrer releases (or did release) a game every month.
- Indiegames’ “Best Freeware Games by cactus 2007” and Indiegames’ “Freeware Games by Jesse Venbrux” because if you make enough content to warrant its own top ten list, you’re doing something right.
: I posted the wrong link initially. Here’s the prototype. This here’s an updated version made on Monday where I was trying various things, including ugly pixel art. It has two level sets; the second one emerged out of various ideas I was trying out.
- Christ, has it been eight years already? If I wasn’t so aloof with the industry I’d probably have a senior position somewhere by now.
- It helps that I know my way around it, so I can spend less time figuring out the tool and language and more time implementing ideas. And in their defense, there are useful libraries for other languages that do simplify visual tasks.
- No resolution was made. Void where prohibited.
- Another reason to do this frequently. Eventually, you might be out of ideas but you’ll have a massive code base to draw from and maybe some diamond in the rough ready to be polished.