diary of an indie game developer

 

Modern 2-D Spaceship Controls

Classic 2-D space games such as Star Control were keyboard-centric: WASD for turning and thrust, plus other buttons to shoot, dock, and so on.

It’s been a decade or so, and it’s time to update 2-D spaceship controls: it’s time to use the mouse.  Here are some requirements:

  • Navigate anywhere.
  • Control speed.  I don’t mean reverse thrust: maybe you have to turn around and thrust in the other direction.  With enough skill, though, I should be able to stop near that planet, or go faster, or slow down.
  • Communicate and dock with other objects.  Land on a planet, hail a ship.
  • Inertia.  I should be able to rotate in a particular direction without affecting my current thrust.
  • Shoot.  What’s a game without shooting?

Some options, in case that’s too easy:

  • Turreted fire.  While pointed in one direction, I can shoot whatever turreted weaponry I have at my command in any arbitrary direction.
  • Location-targeted secondary abilities.  This may be a dupe of turreted fire.  Think Diablo 2, with the ability to place a trap anywhere on the screen.
  • Targeted abilities.  I want to launch my tracking missile at that ship over there.
  • Multiple types of fire.  As mentioned above, I’ve got some regular guns, and perhaps some turreted guns, and missiles.  And mines and shields and boosters and all sorts of goodies.

The goal is to accommodate all of the required features and enough cool optional ones, while making an interface that’s comfortable and easy to learn.

Disclaimer 1: I’ve been thinking about this for a while, and I don’t believe there’s an easy solution.  Some compromises in requirements or ease of use may be required.

Disclaimer 2: If anyone proposes an awesome solution, anyone who reads this is free to use it in any space game they may or may not be working on.

8 Responses to “Modern 2-D Spaceship Controls”

  1. Geoff Says:

    Out of curiousity, did you ever pay Escape Velocity (or its 2 sequels)? EV nova may be the only PC compatable one (ambrosia was one of the very limited mac-exclusive game developers for a bit).

    http://www.ambrosiasw.com/games/ev/
    http://www.ambrosiasw.com/games/evo/
    http://www.ambrosiasw.com/games/evn/

    Now, I don’t remember the controls, but it was a keyboard + mouse system. I was reminded of it because ships had “attach points” where you could mount various items (cargo bays, ram scoops - but who needs those when you can put weapon systems on?) - including turret weapons. I remember there was some way to get your turrets to hit a target while you swung the rest of the ship about to get your main weapons focused on them. Plus there were several other ideas you talk about - hailing ships/planets and docking come to mind. Anyway, you may want to check it out.

    -geoff

  2. TheOtherErik Says:

    Check out Time Pilot and its sequel with MAME. They manage to do some of this well with just a joystick and button.

    I don’t know how you can do everything you want with a keyboard & mouse, because you’ve got multiple analog goals and only one analog input. If you could accept keyboard control for movement, you’re 90% of the way there.

    However, I’ve always thought the Asteroids-style “tank controls” were pretty much the worst interface ever, anywhere. The fact that they live on (in the Resident Evil series, for example) is an affront to the interactive medium.

  3. Paul Forest Says:

    So let’s review the verbs once more, using Star Control lexicon.
    1. Turn
    2. Thrust (let’s skip reverse for the time being)
    3. Fire a forward-fire weapon (Ur-Quan Dreadnought Primary)
    4. Fire an auto-aiming weapon (Arilou Skiff Primary)
    5. Anything else domain-specific (activate special, inventory, activate item, etc). Let’s skip these for now.

    How would you describe these verbs at a higher level? You might use terms like:
    * Move toward a set of static or moving objects
    * Move away from a set of such objects
    * Do a strafing attack (keep momentum in one angle but fire at another angle). In FPS games this is highly effective as circle-strafing. In Star Control games, pulling this off may as well make winning automatic.
    * gravity whip, split attacks between multiple targets, etc etc

    So one completely different approach is to use higher level controls, rather than the low-level ones. Think of the player’s controls as the same as a specific crew member on a space-y show like Star Trek. Are you the admiral giving orders to many ships in the fleet? A captain giving a high-level order like “don’t let them hit our left flank where the shields are down?” Or are you a just a pilot, taking orders from a superior? Or are you the only person on the ship with any controls at all, like a WW2 spitfire pilot?

    Check out the controls in Space Rangers 1 or 2. It’s a kind of hybrid between the high-level and low-level. Namely, it’s turn-based, you click to set your destination, you click on bad guys to start firing your auto-aiming weapons at them. So here it’s kind of like a captain’s role, rather than a pilot’s. I don’t remember the exact controls in Armada Online but I think it was higher level like Space Rangers.

    Further along that line of having higher level control, you have your RTS games. Contrast with your typical Star Control fare, where it’s all manual, all the time.

    So there are examples of games that meet this criteria, dig around, they’re out there. :)

  4. Gordon Says:

    This isn’t strictly on-topic (I can’t write as eloquently as the others here about the mechanics of ship controls in games), but speaking of spaceship games:

    http://infosthetics.com/archives/2007/05/torrent_raiders_bit_torrent_game.html

    The video in particular is intriguing. I’m still trying to figure out exactly what’s going on.

  5. Geoff Says:

    I think I misread your initial proposal. You want to be able to do all those things with the MOUSE. I will ponder this idea some and comment again later.

  6. Matt Says:

    Escape Velocity Nova: I played a ton of EV, and really loved it (aside from some annoyances:
    http://www.independentcreator.com/2006-08-30/shelf-moments-save-systems/
    ). The mouse seemed like an afterthought, though– I think they added it on top of their previous, mouse-free EV controls. Overall, though, EV is definitely a jumping off point for what I’m thinking of.

    It’s not that I need to be able to do all of these things with the mouse, but I’d like to consider a mouse-centric interface. Some controls could remain on the keyboard.

    Space Rangers: I forgot about that, even though I just played it recently! I had dismissed out of hand the idea of “click here to go here” controls, thinking they wouldn’t work at high speeds and with inertia. Even though Space Rangers is turn-based, though, I think you might be able to do it real-time. Definitely seems worth prototyping. You could do predicted path on screen, and mouse-at-edge-of-screen-scrolling…. You’d want different buttons for move and attack, though, because in real-time it’d be easy to miss the enemy. Diablo gets away with it because you stop to attack, have no inertia, and various other reasons. Definitely something to mull, if I don’t have time to prototype. :P I should check out Space Rangers and Armada Online again, as my memories of both are hazy.

    Sideways thrust adds a potentially fun wrinkle. How come even the Arilou are stuck moving forward? Strafing would be unconventional for a space game, but could be cool.

    Alright, that’s a ton more for me to play with and think about.

  7. Matt Says:

    Just played some crazy “desktop toys” thing the other Erik sent me. Interesting: it always followed the mouse pointer, and left-click made it shoot. This method (like the Time Pilot method, if I remember correctly) makes it impossible to drift in one direction while shooting in the other, but it did make a convincing case that mouse-based steering could be fun.

    If I weren’t in the middle of a contract that’s keeping me pretty busy, I’d prototype some of these. Who am I kidding– the real problem is Final Fantasy XII. Holy crap, that game is good.

    Anyway, I hope to get off my ass and prototype some of these soon. I’ll be sure to post them.

  8. TheOtherErik Says:

    Yeah, divorcing movement direction from aiming direction is still something we’re butting heads with. That’s why Robotron was better than Berzerk; that’s why Ikari Warriors was better than Time Pilot; that’s why Max Payne was better than Resident Evil 4.

Leave a Reply