I’ve been redoing the deployment screen for the game today. I’m a bit unsure of how this bit should work. basically the flow of the game is this:

  1. Select Scenario
  2. Select ships to form a fleet for this battle (with limits)
  3. Deploy ships in formations and issue basic orders
  4. Run battle

The deployment screen is basically where you say “The Enterprise should get no closer than 5,000 meters to the enemy cruisers and blast away, while fighter wing 3 protects it, meanwhile bomber squad 2 will charge in and attack the enemy frigates”

So you need to do lots of fiddling. The current interface is shown below (click to enlarge)

The fleet is on the right, you drag them onto the map to position them within your deployment zone (light rectangle). eventually, approx enemy deployments will be shown on the map too. The sliders on the left is where you adjust the rules of engagement for each ship. This is all very fiddly because do I allow you to set multiple waypoints? And do I make the maps bigger so positions are more tactical? if I do, the ship icons will get horribly small on minimum res (1024×768). Do I abandon support for 1024×768? or allow this screen to zoom or scroll?

hmmmmmmmmmm

9 Responses to “Deployment Interface”

  1. Yacine says:

    Looks good. What GUI system do you use? A 3rd party lib or something home-grown?

  2. CaesarsGhost says:

    ahve you ever played GalCiv2? or Sins of a Solar Empire? Supreme Commander?

    Do that. :-D Zoom out to little icons instead of the ships… let us see the whole picture.

  3. Karl Katzke says:

    You’re probably going to need to fold/accordion some of the stuff, and use a grouping principle for the map as opposed to seeing each ship.

    For instance, you’ve got the Enterprise group at the top and the Decatur group at the bottom. On the full zoomed out map, you have the groups and the waypoints that the groups move to. When you move your mouse over one of the groups and scroll in, you can see the actual ships and their assignments marked — i.e. fighter group 3, 4, and point defense frigate Beta are assigned to cover the Enterprise, which is indicated by a red dashed line. Fighter group 3 is launched from the carrier Omega, which is indicated with a fuzzy green line. Omega will follow the Enterprise at 10 km to stay under her point defense envelope.

    Then you set rules for the entire group. You’d probably need to have a folding if/then dialog as opposed to sliders… i.e. “If enemy ships close, ( ) Hold ground, ( x ) back off to keep range, ( ) retreat to [ Decatur ]”

  4. Daniel Lew says:

    It sounds like the overall issue is finding a way for users to program complex AI, yet at the same time not overwhelm people.

    The only user coding AI that stands out in my mind was the Gambit system in FFXII, which was “simple” enough for people to grasp (well, not that simple), but had to sacrifice nested if-then AI to make it manageable for users. It did provide a basic interface that went something like this:

    -Specify an action to take.
    -Specify a target for the action.
    -Specify when to do X. (The “when” often times includes a target of its own, but in the case of FFXII it was combined into a single when – when allies < 50% health, when enemy < 50% health, etc.)

    I might look into how that works, if you’ve never tried the game before. (The gambit system doesn’t really shine until many hours into the game, though, so you might want to just find a friend who has a good save file.)

  5. Tim Callaghan says:

    This seems like it will be a really good game. Have you considered the possibility of having “scripting” logic for the ships to control behavior? Something akin to core wares or C-robots?

  6. Javaguy says:

    The deployment screen and level of control looks brilliant but I could imagine people being intimidated by such detail. The ability to select from and set a few predefined “preset” behaviours would seem good, with target priorities as an option, leaving them all at 50% (or whatever) if the user doesn’t want to set them. You could even leave some of the sliders to an “advanced” tab.

    I think an awful lot of people still use 1024×768 and a few of them won’t know it and may buy your game without realising it wouldn’t work on their monitor so I’d personally avoid dropping support for it.

    Will you be supporting widescreen resolutions, by the way? :) (hopes)

  7. cliffski says:

    wide-screen is a definite priority. I’m developing on dual monitors, the main is 1920 x 1200, and I want it to look good on that, plus good on my sony laptop, which is way smaller, but widescreen.

  8. Steven Barker says:

    When others commenters suggested allowing a scripting interface so that players could design their own AI, I immediately thought of a Free Software game called Galaxy Hack that I had messed around with several years ago. The fleet design and hands off gameplay are very similar to what you look to be working on for GSB. Galaxy Hack had AI programming as it’s main challenge (which undoubtedly limited its audience).

    Even if you don’t intend to expose the AI scripts to players, you might want to check out some of the scripts written by players of Galaxy Hack to see what sort of capabilities they had arrived at.

  9. Tim Callaghan says:

    You make a good point regarding programmable AI, it would seriously limit the audience (perhaps it could be optional, but might not be something that could be done in a reasonable amount of time). I was just being selfish! :)