Escape Velocity

edited in Projects
I thought I would do a postmortem on a prototype I have been tinkering with in the hopes that A ) others may have insights into the design challenges I struggled with and B ) it might give other people interesting ideas.

image

Web Build

What is?
Escape Velocity started as my entry into this years Global Game Jam. It is a very simple game. The player controls a centipede like creature which accelerates along a closed circuit. The player has only one button which when pressed will launch the creature from the circuit. The creature will either hit and kill another player or end up on another circuit.

The game is essentially a deathmatch. First to 8 kills wins. Kills are obtained by hitting another player side-on. With every kill the creature becomes longer, making successful players more vulnerable while providing a clear visual indicator of the number of accumulated kills.



Why is?
I wanted to experiment with how many people can share a single keyboard and create interesting social/physical interactions between players. I was inspired by Fingle:). Later I became curious about how many people can play on a single pc sharing the keyboard and multiple gamepads. The current iteration theoretically supports up to 20 players, however I have not tested with more than 10 and suspect it will become laggy.


What went wrong
Writing my own line intersection tests.
For some reason unity does not provide any functions to perform simple 2D or 3D line intersection tests. I spent a great deal of my global game jam time implementing my own and fighting floating point bugs. If anyone knows of a lightweight, simple and robust library that provides these functions I would love to know about it!

Visual noise
Although the mechanics in Escape Velocity are pretty simple, the game itself is quite frustrating and difficult to follow. Players join the game by selecting a key and the double tapping it. Its quite difficult to associate the key you just pressed to an avatar on screen. When everyone joins at once its chaos. Although I tried to keep the aesthetic clean and simple, clearly displaying more than 6 players concurrently is a challenge.

image

So What went right
Music by Creative630
@Creative630 created an awesome soundtrack for me during the jam which encouraged me to push on with the game, even when nothing else was working.

Rage Spline
I love building things with splines, and had been keen to try RageSpline for a while. With it I was able to mock up assets and levels in seconds. Its simple and really straightforward to use. Documentation could have been more thorough, but the source code is well structured with well named variables, making it easy to extend any functionality I needed.

I finished it!
... kinda. Finished is a pretty strong word. But the game has a title screen, a level structure, and a basic game loop, which is more than I can say for a lot of my past games. I really want to hone the skills with finishing projects since its pretty damn difficult, but very gratifying.

image

I found that the upper limit for players sharing a keyboard is about 8 people due to both physical space and certain keys blocking the signals of others. I think that the design space of ‘many players one device’ is really interesting. I’m keen to explore it further. I think my next attempt will likely have much slower gameplay that can scale to support 10 to 20 players. I’d love to know about other games that follow this design.
Thanked by 2Tuism hanli

Comments

  • Woo! I really like this :D

    Not just the postmortem, but I like where you went with the game. The tail trails show how fast players are moving at a glance, the score filling in the tail AND making top scorers easier to hit? Smarts! I like the on-track elements too. About the only thing that I'd like on top of all of this is a constant key-leap/turn direction. If you wanted to cross a line in the other direction, you'd have to just tap the key and have a little bit of "re-join amnesty" so that controlling the players became a little easier to predict.

    Awesome game, gratz!
  • Awesome concept and execution! One touch death match gaming at its best! Like @dislekcia said the design is super smart, love it! :D

    Must say the controls are pretty confusing - pressing the button at all will make your jump off, if you hold it it will rotate in one direction, if you leave it it'll go in another... But sometimes they flip around? If you keep tapping it it can potentially go in a kinda straight sort of swim?

    I don't feel like I'm in control... Maybe it'll just take a few plays but I don't know what to expect when I hit the button.

    Not sure how to make it better, maybe if you press a key you'll leave the track, if you leave it you'll join the next one you touch. That to me makes absolute sense, like a slingshot (that also means needing more round tracks and fewer straight tracks to mix up the trajectories)

    But that might just be a completely different game. Another thing is to maybe... When a new player spawns, an arrow/line joins the new character on-screen with roughly where the key is on the keyboard in relation to the screen - so if an "A" was pressed there'd be an arrow running to the bottom of the screen, pointing roughly where A is (to the left). This would work best with a full screen set up, and may eliminate a bit of confusion? It's not perfect, but it gives a gist of things.

    Keep it rocking, it's smart :)
  • Yeah, this game has really come along. The gameplay changes seem really smart to me as well.

    The aesthetic is even prettier than at the jam. I love the animated title screen with little wormies going around, and the sound effects feel good. The tasteful feedback of changing the border to the color of the winning wormy is smart.

    Having seen the title screen it makes me wonder whether a single player could be possible. I know that isn't the thrust of the game, but if there were a lot of AI controlled wormies traveling around and you gobbled them up and the game progressed a little like Flow, or like Forget Me Not, that could be kinda cool I think.

    I think the jumping onto other paths could feel a bit better. I think, maybe.

    Things I might try do is remove the big speed cost to joining another track, I find myself staying on the same path a lot when playing, in order to gather speed and then in order to be the fastest wormy on my track (as changing track means an established wormy may overtake and destroy me). Also, just after I've collected a bunch of speed boosts sometimes I change track and then end up losing my speed boost.

    I think changing path, and either going in the opposite direction, or smoothy crossing to a parallel path could be a little more predictable. In particular in the square levels I might suggest trying out putting paths at discreet intervals. If the paths were exactly the same distance away from each other that holding your button would turn you off your path and land going the other way on another path that might make predicting collisions with other wormies easier (because the relative point that you hit the other track at would be consistent), and make making reverse direction maneuvers feel badass (because players would always get them right).

    Also... WORMHOLES! Like this :

    image
  • edited
    Or rather (without wormholes) (but with more intersections that might cause *lucky* hits or *unlucky* losses... maybe):

    image
  • edited
    I think one of my favorite things about this game (at least what it was like when we played it at the game jam) was how there were elements of skills to it that weren't super-obvious at first.

    Joining a new track meant you took a speed hit relative to the angle you hit the track at. This meant that you could shunt tracks and remain fast if you got the join angle as close as possible, which felt awesome. This also meant that the "swimming" that @Tuism mentions could be lengthened by repeatedly switching tracks and hitting at a right angle to slow down as much as possible, then leaping off-track again and swimming.

    Is the increasing score counter for swimming still in? That was pretty awesome, but I don't know if it's compatible with the lower score cap now... Maybe make the time you need to swim depend on what your current score is? Show that via a slowly filling in circle around the lead shape, then people can make bee-lines for anyone swimming that's about to score (because you'd have to make it back to a track, obvs!) AND it forces high-score leaders to swim slower, which I really like :)

    So yeah, please don't remove the skill elements of the game, I love that those are there.
  • edited
    The speed hit from hitting tracks at odd angles is in this version still. It's certainly core to the skill of the game, though the feedback is a little weak for the speed loss (possibly contributing to some people's feeling of lack of control)... Maybe a red dot (or some indicator) on the line where you are going to intersect that gets more positive looking the closer the intersection angle.

    (I mean having a thing that gave feedback prior to the connection to the new line the better your angle, so people could learn the rule better).

    I think it was suggested that when you get a shunt onto another track/path perfectly there could be a reward (or even speed boost). I think Merrik might have suggested that.

    Again about the discreet steps between lines in the level design: I checked again, in the current levels sometimes you simply can't hit the new line right. Some of the lines are too close together and so switching paths means you always get screwed if you try to cross there.

    I'd suggest when making levels try figure out what shapes produce nice feeling shunts. Obviously you can include some tricky shunts as well, but the current levels feel like they've got a few too many tricky shunts.

    I think if you have some simpler levels, that are less chaotic, with more predictable distances between the lines, you might get some more meaningful player interactions. (In the first iteration of this game the player who didn't press anything at all won a lot, though I think this current iteration is a lot better).

    But as the primary complaint in the current build is: that players don't feel in control, and that the collision rules don't seem clear (particularly head on collisions) - some early *teaching* levels may be in order (and seeing how the game changes when people are given simpler levels where they have more control would be a useful experiment).

    image
  • Thanks for all the insightful feedback.and encouragement! I was feeling quite defeated by the design, but I’m keen to try another iteration now.

    disleksia said:
    bout the only thing that I'd like on top of all of this is a constant key-leap/turn direction. If you wanted to cross a line in the other direction, you'd have to just tap the key and have a little bit of "re-join amnesty" so that controlling the players became a little easier to predict.
    I’m not quite sure what you mean, could you rephrase? this is my interpretation:

    image
    Tuism said:
    maybe if you press a key you'll leave the track, if you leave it you'll join the next one you touch.
    That's what I originally had, it might be worth trying again. It would simplify things and put a greater emphasis on timing.
    Tuism said:
    When a new player spawns, an arrow/line joins the new character on-screen with roughly where the key is on the keyboard in relation to the screen
    That's a pretty nifty idea, though I also want to support gamepads.
    Blackships gave a great suggestion of making the worms glow when their button is pressed.
    BlackShipsFilltheSky said:
    Having seen the title screen it makes me wonder whether a single player could be possible.
    I think I'm going to focus my energy on the multiplayer design for now.
    disleksia said:
    Is the increasing score counter for swimming still in
    I ditched the score system in favour of ‘first to 8 kills’ since a lot easier to convey progress. I definitely want to find a way of encouraging ‘hang time' off the rail.

    Two possibilities are:
    A ) slowly fill in circle around the lead shape as disleksia suggested, and receive another segment if you make to the another rail
    B )Build up a charge that is converted to speed when you hit the rail.
    BlackShipsFilltheSky said:
    I think it was suggested that when you get a shunt onto another track/path perfectly there could be a reward (or even speed boost)
    I agree, that the punishment is frustrating, but if I give a boost for a perfect re entry, it can potentially be exploited by looping in the same place.

    image
    BlackShipsFilltheSky said:
    sometimes you simply can't hit the new line right.
    There should definitely be minimum distance, as well as gaps that are perfectly spaced.
    BlackShipsFilltheSky said:
    some early *teaching* levels may be in order
    I really want it to be as pick -up-and-play as possible, but I'm not sure how to get to that point. Perhaps a tutorial level is a necessary evil. I could just have hints at the bottom of the level. A respawn interval may also give players a chance to look around and see what other players are doing.
    BlackShipsFilltheSky said:
    players don't feel in control, and that the collision rules don't seem clear
    I really do need to make attacking other players less random and more fun.
    I’m toying with the idea of implementing local time warps that slow down players when they get close one another. Kinda like how Peggle slows as you are about to hit the last peg. Some of the most fun I've had is during a super slow dog fights with another player
    Thanked by 1Nandrew
  • Time sloweddown dog fights might be super cool. Also it might help make the colliding rules more apparent.
    Merrik said:
    I agree, that the punishment is frustrating, but if I give a boost for a perfect re entry, it can potentially be exploited by looping in the same place.
    Don't prematurely avoid potential exploits. Exploiting a system is the same as mastering it, it's fun, it rewards repeat plays. And it's only bad when it becomes a dominant strategy. Test it if you think it might be fun (and not definitely dominant). You can always remove it, or tone it back some, or limit it's effect to only working when not re-entering the track on the same point.
    Merrik said:
    I really want it to be as pick -up-and-play as possible, but I'm not sure how to get to that point. Perhaps a tutorial level is a necessary evil.
    It is pretty pickup and play at the moment. It is only one button after all. The big things in it's way is unclear rules of player collision (in some circumstances), maybe some fairly harsh punishment for imperfect control, some difficulty identifying avatars when there are lots of players, and levels that are quite complex, which makes it hard to experiment when you first play (especially if you were to jump into level 3 on your first play).

    And those are mostly things that can be solved without a tutorial.

    I might suggest doing something like what Bari-Bari-Ball does before every level starts, i.e. rapidly explain the goals and then let players have fun.
  • Any and all posts without helpful graphical annotations are now utterly inferior. Wow.

    Also, yes, that is exactly what I was talking about regarding fixed turn direction and rejoin amnesty. Although obviously the line-crossing could be done much faster by a player who just tapped the key.

    The boost exploitation could be fixed by either: Requiring players to launch from 1 track to another in order to boost properly, but this would mean that you wouldn't be rewarded for cutting corners like a pro; Or making tracks only accelerate you a little bit and boosting would take you above "track max" which meant the track would slow you down as you moved along it, so boosting in place would be a strategy, but it would make you vulnerable/predictable. Think Sonic spinning in place to speed up. Also, tactical boosts and corner cuts would become really useful for catching other players and colliding to score.
  • I may have missed this in a previous post (wow, comprehensive thread detail!), but what about forcing player shake-ups via environmental popups? Not power boosters (because I think it would always be a little unfair to players who happen to be on the other side of the screen), but maybe every couple of seconds, somewhere on the screen, a booby trap gets laid across one of the track segments, forcing players to redirect themselves and shake up play.

    You could also perhaps implement some sort of deliberate rubber-banding: give the traps a bias towards track segments occupied by the score leader, or the guy with the highest speed / longest non-switch.

    Also, Blackships' wormhole idea sounds interesting, what about level wrap, though?
Sign In or Register to comment.