I’d been blogging about a side project that I’d been tinkering with. Basically, I was inspired by a CG movie (“Pipe Dreams” by Animusic) to try out a physics-based 1-click mechanic. After a few weeks of tinkering and some good advice from a few friends, I got the core functionality complete. I didn’t want to link to the actual game until I had a chance to polish it up some more, but “work” and “life” have interfered. And, to be honest, I solved the parts of the implementation that I was the most interested in — everything from here is in the “stuff I can certainly do if I have the time” category, rather than the “hmm, I wonder if I could…” experimental zone. So, rather than continue to pretend that I’ll get around to this project, I’ve decided to file it under “finished, as complete as I’m going to get it, and boy did I learn a few things.”
So, rather than continue to talk about this game that I was going to do something, with, click to see the fully-functional but not-yet-fun game loop of…
- I learned that, in Flash, for the love of all that is good and holy, do not render things that are offscreen. This goes doubly when they’re far offscreen.
- I also learned that Flex controls are every bit as heavy and inefficient as I’d feared.
- I constructed a very simple physics system that worked for the speeds game objects were functioning at, using a stack-based approach to track game objects and applying “physics mutators” to each, then processing ticks.
- And hey, the core game loop with “data-driven” levels functioned. Sure, the data is currently living in ActionScript objects, but I could read that in from an external definition… right?
What I’d Do Next
- After showing this to some folks and getting feedback, the immediately obvious change is that ammo should be limited.
- Tons of tuning — speeds, platform sizes, etc.
- A little improvement to physics, or at least validation that I won’t get into trouble with quantization at the speeds and framerates expected for the game.
- Level design, and lots of it. Levels need to be interesting, and focused around finding the correct “chains” rather than permitting lots of individual shots. And there should probably be around 25 levels, at least.
- Feedback, OMG, feedback. I envisioned the “notes you need” being a fairly glitzy display that’s directly on the main game screen, but decided that was more mechanical than “can I figure it out?” work, and stuck with the blah HTML display in the debug version. When you complete a tune, it’s supposed to play back for you. And so on, and so on.
- Graphics and effects that don’t suck. And not that thrice-damned modal window.
- Cookie-based progress tracking and level selection instead of passwords.
Feedback is welcome, though I’m unlikely to find time to jump back into this project.