Game Design, Programming and running a one-man games business…

Spaceship speed

I’m having balancing issues with some of the existing game mechanics. One of the things that I use to differentiate weapons is their tracking speed. Some smaller weapons track fast but do less damage, and vice versa. Basically the tracking speed is compared to the targets current speed, and this gives some multiplier for the ‘hit chance’.  Obviously big cruisers are slower than small fighters.

So far so lovely.

The problem is that in general, you want your ships to position themselves at a certain optimum range, and pound their enemies from a distance. In the case of the big cruisers, that means move into range, sit there and go zap until you or the enemy dies. The problem is, the minute you sit still, tracking speed becomes irrelevant. This means that when fighting against cruisers, tracking speed is basically no big deal, and the weapon with the highest damage-per-second, range and penetration of armor/shields wins.

The solutions are many and varied:

1) Have an optional ship ai-behavior of ‘keep moving’ where your ship basically spins in circles at a certain range (clunky and difficult to get a reasonable turning circle)

2) Always assume the ship is at max speed for hit purposes (might look silly)

3) Introduce a new mechanic to compensate (maybe ECM resistance?) and ignore tracking speed for weapons aimed at the bigger ships.

4) Just make greater use of balancing the existing mechanics to still make the choices interesting

I’m currently drawn mainly to 3) and 4). Any thoughts?


11 thoughts on Spaceship speed

  1. Is shield strength uniform or can it be diverted to forward, aft, starboard and port sides?

    Perhaps when attacking another big ship, there can be an option to “Orbit Target at Maximum Firing Range” wherein the shield strength is diverted to the side most exposed to the target and the attacking ship moves around the target at a certain speed conducive to targeting and evasion (I leave that to you)?

    As for fighters attacking a sitting duck, well, they call it a “sitting” duck for a reason. There shouldn’t be any reason for a ship captain to order a full stop unless you’re in diplomacy or investigative modes which a game named “Gratuitous Space Battles” is unlikely to include. In battle, the shinola has hit the fan and it’s time for evasive maneuvers.

    One result of the “Orbit Target at Maximum Firing Range” with shield strength diversion means there’s a trade-off. You can pound the target and remain somewhat protected but you expose your flank to enemy fire by other big ships that wander onto the scene or enemy fighters.

    Also, is there an option to sacrifice a ship by ramming the enemy? That would be an awesome (if costly) option, particularly if the resulting explosion wiped out all fighters within a specific radius.

  2. Tracking speed seems like a great concept for the little zoomy ships that would be hard to hit, but it’s difficult to imagine missing a great big cruiser even if it’s moving at max speed. So I would say leave tracking not having much of an effect on the big ships and compensate with some other stat, either an existing one or that ECM thinger. So basically my highly constructive thoughts are, yeah, 3 or 4. Although maybe four would be better because it sounds like there are a lot of stats to get your head around already.

  3. Reminds me a lot of Freespace 2. All the capital ships had huge beam cannons which would never, ever be able to hit a small fighter, but they used to rip other capital ships a new one. I’m not sure how your game is setup, though… it was incredibly difficult to kill the bigger capital ships with a bunch of smaller fighters. The capital ships just had a ton of health, so it didn’t matter that it was easy to hit them. In other words:

    1. Capital ships kill other capital ships.
    2. Fighters could disable parts of, but rarely destroy, capital ships. (Parts being weapons, communication, etc.)
    3. Capital ships have smaller weapons to fight off fighters.

    Not sure if this will help at all, just some random thoughts from another game.

    (As an aside, if a fighter was ever unlucky enough to accidentally be in the path of one of the big beam cannons… ZAP!)

  4. Freespace 2 is really good game. Maybe you should give it a try with the Freespace Open “mod”, Cliffski? You could get some new ideas from that game if you haven’t played it already.

  5. This may be completely unhelpful, but having read a rather good biography of Nelson in the past year or so, I finally understood what he did differently — ship positioning and tactical independence. Simply put, the design of the vessels naturally concentrated fire-power on the port and starboard sides ensuring that when you turned to concentrate fire was of the utmost importance.

    This led on to his faith in the captains under his command learning to trust their individual judgement as to when to turn in. Essentially, once you committed to turning into the enemy formation, you were guaranteed to put your own vessel at massive risk — a sitting duck, if you like. On the upside, do it right and you broke the enemy formation and f-cked up any of their cunning tactics.

    I’m not sure how it would work with futuristic weapons (remembering playing the early Microprose flight sims and launching missiles at enemies that weren’t even visible — reality doesn’t always seem terribly _realistic_, does it)? But it does make me think of the bit in Empire Strikes Back, when the two Star Destroyers collide — we all cheered in the cinema back then as rabid ten-year-olds!

    In a nutshell, would it work if weaponry tended to be concentrated on certain places on the ships, and collisions between friendly craft were a real risk at damage-dealing ranges? Ships then have to keep moving to find the best positioning, which may also cause massive problems for the formations they are attacking?

    Rambling. Drunk. Sorry. Still really looking forward to GSB, whatever you decide!

  6. “In the case of the big cruisers, that means move into range, sit there and go zap until you or the enemy dies.”
    But would that actually happen? Doesn’t it only occur if both sides use weapons with identical optimal ranges? If they use different weaponry, they’ll both be moving anyway – to manouver into their optimum or manouver out of the enemies optimum.

  7. Thinking about it, isn’t it the Angular velocity that should be compared to tracking speed?
    So the distance to the target would be important too.
    At close range tracking speed is the limiting factor for accuracy,
    at long range it is projectile speed.

    Don’t know if there is a good game mechanic in this,
    but sounds like another instance of optimal range and the
    possibility to avoid slow guns by closing in.

  8. If you havn’t played freespace, you can pick it up on gog.com for about $6 if I remember correctly. Well worth it just to take a look at the effects (Although I suppose you could do that on youtube.)

    http://www.youtube.com/watch?v=-mVtDhK8D9c&feature=related — Great gameplay video. (Anyone who played the game will be upset at me for reminding them of this mission BTW)

  9. I think the issue might be more meaningful if you considered the rate of change of the firing angle rather than simply the target’s speed. That would mean that a distant ship is always going to be relatively easy to track, as is a ship coming straight at you. A ship that is very close and moving at high speed across the line of fire could only be hit by a very fast turret. The following pseudocode shows how you could calculate the angular rate:

    RelativePos = TargetPositionVector – ShooterPositionVector
    RelativeVel = TargetVelocityVector – ShooterVelocityVector
    FuturePos = RelativePos + RelativeVel*GameTickLength

    RequiredTrackingRate = arccos((RelativePos · FuturePos) / (|RelativePos|*|FuturePos|))

    (It should be possible to optimize away the arccosine and square roots if you pre-calculate the cosine squared of each weapon’s maximum tracking rate. You also could use a stored copy of the ships’ previous positions, rather than calculating a future one using the velocity.)

    This would encourage the use of some realistic tactics, like bombers making high speed attack runs rather than charging in and stopping at optimal range. I guess that means I favor your #1 solution, at least for the ships that it makes sense for. If the weapons that would be used by one capital ship to attack another have a long enough ranges relative to the speed the ships can go, then maneuvering the bigger ships won’t be nearly important as it will for faster fighters with shorter range guns.

  10. I like #1 and maybe #4

    Although tactics-wise it’s best to keep at optimal range while also keeping your guns on target historically stopping in the middle of a battle to fire would be suicide as moving is still your best method for avoiding incoming fire.

    Also I think stopping would look wrong to the player since most space battles are roughly based on Earth navel battles.

    You’ve played Total War : Empires, I would suggest looking at their method as well. The ships in that are constantly moving to avoid fire, trying to keep in optimum firing range while avoiding getting too close. It’s a rock-paper-scissors balancing act imo

    Iain

  11. They released Freespace 2:s source code long time ago, so I take it Freespace 2 is free and 1 is not? (Not sure) If this is true, you should imo download Freespace 2 and then download Freespace Open mod which allows you to play original + different campaigns (including Freespace 1 campaign), thou im not completly sure if one needs to own Freespace 1 to be able play its campaigns in Freespace 2 + mod FSO.

Comments are currently closed.