Rolling Assault represents the evolution of a simple physics prototype I created a few years ago. This prototype had some merit so an artistic friend, Creath Carter, took it upon himself to create some content to the replace the lifeless polygons. We fleshed out the game a bit more in order to enter it into the IGF that year. This is the result:
Over the summer of 2003 I spent a lot of time creating physics-based gameplay experiments. I used Virtools, our middleware of choice, and even posted all of the source code for the benefit of the Virtools developer community. The now-hibernating site was called DevLab–it’s still online, although it hasn’t been updated in awhile.
Anyway, one of the tests I created attempted to simulate the motion of a tank tread. Here is the resulting prototype, which took a few hours to create:
The game is playable through the Virtools’ plug-in. Use the left and right arrows for control.
This was generally the scope of the prototypes I was creating at the time. The controls are there, along a first pass at balancing the motion so it “feels” pretty good. A goal structure is clearly absent, though, along with such pleasantries as a reset key (right-click and do reset through the Virtools web player if you need to).
Life’s First Creath
As bare as it was, the treads test was fun to screw around with. Creath Carter, a friend from my school days, thought the mechanic had enough potential to bestow upon it some sexy artwork. I had worked with Creath in the past and he knew his way around Virtools. It was a welcome turn of events and saved the project from being completed shelved along with the rest of the physics game experiments.
A mere six days after this first prototype, this version was posted to DevLab:
Here is the playable Virtools link. Use A/D for left/right controls and mouse movement/click for turret control.
In addition to the new artwork, this version took a second pass at tuning the physics. The addition of the turret also added the ability for the player to right themselves when they get flipped over. On the whole, this new version seemed like a lot of fun to play. Even though there were no enemies to blast, yet, it was easy to imagine what it would be like to play an actual game from this point.
The IGF Version
In August–a month after the first version was created–we decided to put together a playable level of the game and submit it to the Independent Games Festival. The game wasn’t selected as a finalist, but the IGF did serve as a very useful deadline. The contest rules require that your game be roughly in “beta” form with one playable level of content. I had about 5 days that I could spend on the game, in between other projects, but it felt like a feasible goal. I had a lot of energy back then.
We came awfully close to achieving our goal. The final version of the prototype has four enemies, a longer level, music, some sound effects, and slightly-refined controls. There were a few pieces of content that didn’t make it in, unfortunately, including a sweet multi-stage end boss.
It’s Judgment Play
One the big issues with physics-based game design is the issue of inertia. Naturally, any Newtonian physics engine that mimics reality will have such things as inertia, the conservation of angular momentum, and so on. But are those things necessarily conducive to a fun, responsive play experience? Not really. More often than not the limitations of reality actually get in the way.
Rolling Assault suffers in this regard. The control seemed fine in the early prototypes. It was satisfying to roll around; the wheels’ motion was aesthetically pleasing. However, as soon as we introduced very specific movement goals–dodge this missile, jump over this barrier–the sluggishness in the tank’s motion becomes apparent. The tank simply isn’t nimble enough to perform directed tasks without some degree of player frustration.
Solutions to Sluggishness
There are two obvious solutions to this problem. One is simply to remove high-fidelity movement requirements from the game’s design. This could be accomplished by putting more emphasis on accurate aiming and the game’s overall weaponry. The tank’s motion would change from a focal point to an abstracted means of scrolling the level forward. The player’s attention would instead be drawn to predictive aiming and observing enemy movement rather than the exact position of the tank. This would require completely rethinking enemy design.
Another solution is to tune the tank’s physics setup to be more responsive. One way to accomplish this is to exaggerate directional changes. For instance, if the tank is moving right and the player wants to go left, the game would provide additional impulses to overcome inertia. As soon as the tank is moving left properly, though, it would scale back the leftward impulses. This sort of anti-inertia logic is actually present in Amoeball and did help make the game feel more responsive. The complexity of the tank would require some additional tweaking–do you boost the torque of the wheels (which are already pretty slippery to begin with, since they are perfect spheres with infinitesimally small contact points)? Or do you fake it with impulses? Add torque on the main body so the player can arbitrarily control rotation mid-air? It would be an interesting design exercise, to say the least.
Play It! It’s Free!
All told, I’m pleased with how Rolling Assault came out. The game is well under a man-month of combined effort, and reasonably entertaining for how little time has been invested in it.
The one-level prototype of Rolling Assault is available exclusively at Fun-Motion. It’s a wee download, weighing in at 5 MB, and completely free. If you’ve read this far definitely check the game out. My rambling words can only do so much good without hands-on experience.
Download Rolling Assault physics game here (5 MB).
(there is no quit key, just alt-F4 when you’re done playing)
- List of Physics Games
- Excellent Marble Madness-Inspired Physics Game
- Frustration Generator: Sprinky Physics Game
- Paint the Town with “De Blob” Physics Game
- Gish, The Father of Physics Platformers