Revisiting the Command UI

The command UI – the interface you use to give orders to your fleet, while also piloting your flagship – has always been tricky to get right, and has gone through a few incarnations since the first release. The combat gameplay merges a top-down shooter with some RTS elements, and both place high demands on your attention. You have to be able to control your fleet, while still participating directly in the combat  - this is the goal the UI has to achieve.

The very first version of the UI used the standard RTS model – control groups, right-click to order ships around, etc. It didn’t work very well – there’s a strong incentive  to keep checking on how your ships are doing, so that you can adjust if they’re doing something you don’t like. Optimal gameplay was, then, constantly interrupting the flow of combat to open up the map, check on your fleet, and tweak their orders.

The next version – the one that’s in the current release – solved that problem by limiting how many orders can be given to ships (via “command points”) and adding the concept of “assignments”. Instead of ordering ships about, you’d create tasks – capture this, defend that, rally a carrier here. The ships would then work out the details on their own. You could also give a few direct orders if you saw the ships doing something undesirable.

This worked much better – you could create an initial set of assignments at the start of the battle, and then just focus on the combat, only occasionally adjusting them. Because you couldn’t give unlimited orders, you were freed from the burden of having to constantly give orders to feel like you’re playing optimally.

The new approach had some issues, though. When it worked (the AI doing the right thing in “working out the details”), it worked well. When it didn’t, it could be frustrating trying to fix it using the limited direct orders.

The bigger problem was (and, I suppose, still is) accessibility. RTS-like controls are the go-to assumption when one sees a map with units on it – but they didn’t work. If you clicked on a ship, hoping to tell it to do something – you couldn’t!  You’d be presented with a context menu that let you create assignments that target that ship – i.e., you could tell your fleet to escort the ship you just clicked. You couldn’t tell that ship to escort something else, not without creating that assignment first (and then using a direct order from the context menu to assign the selected ship to it – a somewhat clunky process).

Telling the game what you want done – i.e. creating an assignment – is reasonable, in the context of commanding a fleet. An admiral wouldn’t tell every frigate in the fleet exactly what to do – that’s the job of his subordinates. But being reasonable, as it turns out, doesn’t get you far when going against UI convention. Games don’t typically ask “what do you want done”, they ask “how do you want to do… eh, whatever it is, I don’t actually know/care.”

The new version – that’ll be in the next release – aims to combine the best aspects of the two approaches.
Read the rest of this entry »

Fleet Control

One of the goals for the next version of is to improve the way you give orders to your fleet. It’s a delicate balance – the orders you give should shape the battle, but spending too much time looking at the map and giving orders detracts from the experience of flying your flagship.

The original (and as of the latest release, 0.34a, current) version of the fleet control interface was very RTS-like. At first glance, it seemed like a good idea – why reinvent the wheel, if there’s an already widely-known way to control multiple units? Unfortunately, as the combat gameplay took shape, it became more and more clear that the RTS model is a bad fit for Starfarer.

Why, you ask? There are two main reasons.

One, it set the wrong expectations for the level of control you have over your ships. RTS units are typically instantly obedient drones. Starfarer ships, on the other hand, have to be smarter than that to make interesting opponents in direct combat. The trouble is, it’s hard to make them obey orders to the degree that’s suggested by the RTS control scheme. Either they obey immediately and possibly get killed for their efforts, or they take their time and carry out orders when the tactical situation allows – and appear to be ignoring your commands in the meanwhile.

Two, it allows – and sometimes requires – too much micromanagement. You can keep track of every fighter wing and order it to go to a carrier for repairs any time it takes too much damage (they do so on their own, but sometimes an earlier, explicit order ensures a wing will survive). You can manage the composition of groups in detail – possibly getting a little more efficiency in the process. You have to manage the groups to begin with, when you deploy the fleet. To play optimally, you have to keep going to the map to evaluate the situation and give orders here and there several times a minute.

You can do well just giving a few general orders, but knowing that optimal play requires more micro than enjoyable is hardly ideal.

So what’s the solution? First, let’s rephrase the problem – in the RTS control scheme, you tell your units how to do things. Go here, shoot this, group with these other units. The units have no concept of your larger goals. Instead, why not tell your ships what to do, and let them figure out the details? If you were the commander of a fleet, that’s exactly what you’d be doing – delegating, and reserving your attention for the things that matter.

Now, let’s dive into the gory details.
Read the rest of this entry »

Forum Blog Media FAQ Features Digg it! Del.icio.us! Share this on Facebook Reddit Stumbleupon it! Technorati Tweet it! Download Starsector for Linux Download Starsector for Mac Download Starsector for Windows