Physics Games and Physics-Based Game Downloads

Frustration Generator: Sprinky Physics Game

Thursday, June 22nd, 2006 by Matthew in Physics Games,Virtools
1 Star2 Stars3 Stars4 Stars5 Stars (Rate this game! 103 votes, average: 2.41 out of 5)

Sprinky is an attempt at creating a physics game where the player controls a spring like object. The game itself is quite playable, at least in the sense of a working prototype with multiple levels. The physics play mechanic, though, falls short of my expectations. The learning curve is too brutal, and the kinesthetic feel is distinctly clumsy. I’ll try to explain some of the design decisions involved in the making of Sprinky to shed some light on prototyping a physics mechanic.

Designing the Physics Rig

The inspiration for Sprinky was, quite obviously, to mimic the behavior of a real-life Slinky. My friend Steve Swink had actually created a Slinky-like contraption in Virtools, but I wanted to try another method for controlling its motion. The problem with designing physics-based control schemes is that it’s difficult to make the motion appear muscular in nature. It’s easy enough to apply external impulses or torques to objects, for things like jumps and turns. The resulting motion looks odd, though, as if driven by a puppeteer. I wanted to limit the object’s physical exertions to its own contractions and expansions.

Havok powers the physics engine in Virtools (well, more specifically the engine is Ipion, a company/engine Havok bought out years ago). To accomplish the sense of an internally-influenced physics rig, I used springs on the left and right sides of the sprinky.

Sprinky Design Screenshot
(Sprinky Physics Rig)

Moving the mouse up and down extends and contracts the length, and moving the mouse left and right alters the ratio of lengths between the left and right side. The result is a realistic sense that the sprinky is applying force to the world around it, rather than having arbitrary external forces applied to it.

This first physics test is playable with the Virtools Web Player. The source CMO is available for any Virtools developers out there, too.

Adding Gameplay Elements

The next step was to add some flavor to the gameplay. I decided to go a very simplistic route in designing the rules for interacting with the environment. There are five types of object flags in the game: normal, ice, rubber (all variants on friction), and two types of game-over-if-touched flags (one for if any piece of the sprinky touches, and one for if any of the middle pieces of the sprinky touch).

The flat-poly prototype with the test levels is playable with the Virtools web player. The end result is a surprising amount of flexibility in designing courses. It’s possible to ramp up the game’s difficulty by using combinations of the two game-over flags. The actual difficulty in playing the courses arises from the failings of the core mechanic, though, so let’s talk about that.

Damned Hard

It’s obvious to anyone who’s played Sprinky for even a few minutes: The game is hard. And frustrating. While it is possible to complete all of the levels, sure, you have to be something of a masochist to actually enjoy the experience. It’s very hard to learn how to control the sprinky, partly due to some problems with the physics design.

Before we get into specifics, I do want to say that I think there is something to be said for the nebulous quality of how “well-tuned” a physics mechanic is. The quantifiable components that go into tuning a physics mechanic can be vague. Is a spring constant of 0.13 more or less enjoyable than 0.12? There is definitely an element of gestalt at work that can be difficult to componentize.

Mouse-Flip Problem

One design problem with Sprinky’s controls was how to handle the sprinky flipping over. If the player does a 180 flip, should left and right still correspond to the sprinky’s left and right, or should they correspond to the world’s orientation? This problem is nonexistent in games like Ski Stunt Simulator, since the avatar has an obvious top and a bottom.

One available solution was to color-code the sprinky or otherwise indicate which end should be up. It seemed counter to the goal of using a Slinky-like object in the first place, though. After all, one of the distinguishing features of a Slinky is its ability to walk end over end.

The solution I implemented was to flip the mouse X axis when the sprinky itself flips over. The crippling downside to this occurs when you lie near horizontal, though. The mouse cursor will constantly flip. It’s very hard to right yourself in the game when you fall over because of this.

Sprinky Screenshot Screenshot of Physics Games
(Sprinky Game Screenshots)

Unresponsive Movement

Generally, the sprinky feels unresponsive. This is due to a few factors. Primarily, the rig has a lot of jitter and bounce in it. Movement takes awhile to pass through all of the joints and springs, causing wave and jitter motion. It feels more like you’re guiding the sprinky than directly controlling its actions. As a result it’s very hard to get accurate movement and to really connect with its motion. The kinesthetic feel is completely missing because of the lag between moving the mouse and waiting for the rig to catch up and stop oscillating.

What to Change

This all begs the question: What would I change if I were to spend more time on Sprinky? This may sound odd, but the first thing I would do is completely scrap the current rig and rebuild it. In my experience it’s very difficult to massage numbers on a physics control setup that “feels” bad until it feels good. It’s much faster to rebuild everything. If I don’t manage to get that juicy physics-based feeling within the first day of development I’ll start over with a different approach. It’s just too easy to lose all objective reference as time goes on.

All Tarted Up

My friend Creath Carter created some fantastic artwork for Sprinky (he also did the artwork for Rolling Assault). The sexed-up version of the game was entered into the Independent Games Festival 2004. The art version of the game is available exclusively on Fun-Motion. Feel free to chime in with your thoughts on how to fix the control system, too. I’d love to hear people’s opinions on what exactly is so hard.

Download Free Sprinky Game (4.3 MB)

Related Posts:

12 Responses to 'Frustration Generator: Sprinky Physics Game'

Subscribe to comments with RSS or TrackBack to 'Frustration Generator: Sprinky Physics Game'.

  1. c--b said,

    on June 23rd, 2006 at 12:15 am

    Very neat game, I remember playing the playtest a good while ago on the flashbang website; personally I think it was a little easier to control in that.

    Also, for those that might ask the song playing in the video is called ‘silver cactus’ by ‘i, cactus’.

  2. Matthew said,

    on June 23rd, 2006 at 12:19 am

    I noticed that, too–that the earlier version seemed easier to control. Just one of the dangers of constantly changing numbers, I guess. It’s so easy to lose your objective bearings. I’m not even sure what I changed now (the project is years old).

    Good call on the music, I forgot to mention that. The whole album is available free at

  3. spydevil said,

    on June 23rd, 2006 at 1:53 am

    This game rocks!! First its hard because of hard control, but when you get to it, the game will rock!! Keep up good reviews!! i check this site 10 times in day. And dont forget ski stunt level editor!!

  4. Bobo00711 said,

    on June 23rd, 2006 at 4:48 am

    The game not work!!!
    It say an error when i lunch the file!

    What can i do!!!??
    This game look awesome!!! ='(

  5. Beakless said,

    on June 23rd, 2006 at 10:34 am

    Unfortunatley the game is more about looks than it is about a good physiscs game, at least thats the impression when i played it.

    It’s no all bad though, i actually had some fun after a while of playing this. But by that time my brain was reduced to a sloppy mush trying to get the hang of it. :-)

  6. Bobo00711 said,

    on June 23rd, 2006 at 11:41 am

    That was a virus, i have 3 computer, so i have tested it on another.

    This game sux a little, it’s too hard!!! Bad phisic game =(

  7. Steve Swink said,

    on June 23rd, 2006 at 4:07 pm

    I can still beat the second snow stage, huzzah! This test and my weird physics worm test turned out remarkably similar:

    It seems like there’s got to be some fun gameplay in there somewhere, but it’d be a lot of work to find it, methinks. Nice article. Vive la Sprinky!

  8. Dosou said,

    on June 25th, 2006 at 1:31 pm

    I fell off of the stage on the first proto. :D

  9. Sean said,

    on June 26th, 2006 at 7:14 pm

    I have an idea for the control sceme…

    The spring should basicaly look as if it is trying to stretch out towards the cursor. And it each of the corners would be a node, and the closest node will be attracted to the mouse, and the second closest node would be attracted some-what. So there will be no fliping of the controls and stuff.

    See if it is posible to do this.


  10. Skrying said,

    on June 28th, 2006 at 1:35 am

    The big problem is the controlls. Frankly to me a mouse is a terrible method to control it. Using keyboard arrows or WASD would work much better and allow better control. The issue with the mouse is that everyone has a different mouse, everyone has a different sensativity setting also. Making reactions with the mouse either far to fast or slow. With the keyboard the respone time would be much more even and controlled.

    I wouldnt imagine coding in keyboard controlls, and leaving the mouse controll for those who want it.

    The controll issue also happens to be my big issue with the Ski Simulator also, mouse for controlls in these types of games = bad, at least IMO.

  11. Kohits said,

    on November 20th, 2006 at 8:52 pm

    I agree withe what sean said. a control scheme like that would be very easy to control. the artwork is very nice though. but the slinky is WAAAAY to hard to control. I think a dramatic change in control scheme would definitely help it.

  12. alto said,

    on February 7th, 2007 at 3:24 pm

    Maybe click to expand, unclick to contract, or vice versa. That way one end of the slinky could be the “head”, that you move around and point with the mouse. It would add a bit more control over direction and power.

Leave a Reply