Important Message

You are browsing the archived Lancers Reactor forums. You cannot register or login.
The content may be outdated and links may not be functional.


To get the latest in Freelancer news, mods, modding and downloads, go to
The-Starport

Game-Balanced Missiles- SOLVED.

The general place to discuss MOD''ing Freelancer!

Post Thu Apr 21, 2005 10:12 pm

Game-Balanced Missiles- SOLVED.

I originally put this into my Modular XML project-thingy, which is becoming almost bloglike in its sprawl... and then decided that it was important enough to deserve its own thread. I have, basically... determined the hows and whys of missiles in FL... and this article describes why they don't work "right" in stock FL... and a working, tested solution... and commentary on what this could mean for game-balancing efforts by modders.

Edited by - Argh on 4/21/2005 11:12:20 PM

Post Thu Apr 21, 2005 10:13 pm

Ah... missiles. Lovely, totally game-balanced Missiles.

Yes, I used the words, "game-balanced" and "Missiles" in the same sentence- don't laugh though, I'm serious.

Every serious FL player has, for quite some time now, recognized that missiles are a real issue with FL's game balance. For example, Cannonballs seem to do more damage to some fighters, and less to others, and they seem to kill players' weapons off rather easily. For example, Hammerheads flown by the AI often die after one hit from a Cannonball, even though (at least in my codebase) it's set at 5000 damage.

After watching these very strange things happen for awhile... I realized what's going on here, and have finally solved this issue. Here's the scoop:

1. Missile explosions transfer their damage to any game objects that are in their radius.

2. Detection is made by each sub-part of a ship. Each sub-part is also a sub-SUR of the main SUR... and each group can (and does) pass on an "I got hit" flag to the code that handles damage.

3. Because of the way that sub-parts transfer damage to the "central" object... when a missile with a large area-effect goes off... multiple parts all register damage, which is then applied to the central part's hitpoints.

In short... while transferring damage from, say, a wing to the main body of a ship works OK for shots (which have no area effect), it works very poorly against anything with area-effect weapons. After doing some serious experiments, I have determined that this effects ALL weapons with an area effect- not just missiles. Mines, for example... are also perfectly capable of destroying a ship in one hit. Missiles tend to do better because of where they detonate- they head straight for the centerpoint of a ship's SUR.

IOW... the more subgroups a ship has... the more damage an explosion's going to do to it! This assumption, which I made after observing that ships that get hit on the "main body" collision group don't seem to suffer nearly as much damage as ships that get hit on subgroups (they generally vaporize, even when hit with far less damage than their hitpoints). Which explained why missiles seemed to be so wildly variable in their damage... and gave me a working theory to test.

So, to test this assumption, I did something very, very simple. I turned the root_health_proxy settings on the Hammerhead from "true" to "false", adjusted the detonation distance of the Cannonball to 0... set its radius to 0.25... and went out to whip some butt in my trusty co_elite2...

The results were astounding. Very simply, if the missile hit a subgroup... then the subgroup would die, but the ship's hitpoints would remain the same. No "big boom"... but subgroups were, of course, coming off- after all, they'd just taken 5000 damage (ouch).

Best yet... if the main body got hit... it no longer went "boom". I had already turned the armor buffing off, to ensure accuracy of my game-balancing work, so I can assure you... the Hammerhead had the same hitpoints that everybody else does (actually, playerships get a big bonus on the hitpoints of their parts, but that's another issue, and will be dealt with- I intend to get rid of that crutch).

It took two hits to do enough damage... which, at 5000 apiece, is exactly right- the Hammerhead has 7900 hitpoints. But that might take 3 or more missiles to achieve against even the AI, because a missile would hit a subgroup near the center of the ship very often.

So... voila! Missiles don't have to be unbalanced pieces of crap... and while it may seem kind've funny to end up with the solution in Shiparch, it really makes perfect sense... after all, that's what gets effected by the buffing in Constants

But... there is a catch (funny how that works, right?). We have to make their explosion radii very small, so that they don't transfer damage to every subgroup of a ship. Otherwise... missiles will still tend to "strip" a ship's weapons (they have seperate SURs, and will detect the hits and suffer damage), and blow off multiple parts.

Of course, me being me, this led me to strange ideas for future reference.

Among other things, under this new balance... we could make weapons that were specifically intended to strip things- call them "fragmentation weapons" or whatnot. Whereas missiles like the Cannonball would reign supreme in damage and/or guidance categories, but would have almost-nonexistant areas, fragmentation weapons would do damage over a wide area, but with less damage. So one type would be good for destroying an enemy's subgroups and weapons (which, naturally, have fewer hitpoints, and don't benefit from nanos)... and the other would be better for killing them outright. Interesting concept, eh?

**************************************************************************************************

Are there any drawbacks to making each "simple" group no longer transfer damage to the main hitpoints?

Well... yes.

1. Doing so increases the total hitpoints of most ships by at least 30-50%, and in a few cases... by a lot more than that. This will have to get figured into the final balancing act for ships in general (which, I can assure you, is going to be a real toughie).

2. It also tends to give advantages to certain ships, which have large areas that are seperate groups. This also (somehow) has to get figured into the balancing-act. The good news there is that the sub-groups tend to be where the weapons are (heh, heh) or are small cosmetic things (like the fins on the Bloodhound), where losing them to a missile is unlikely... and if it happens, so what? IRL, weapons occasionally do things like blow off something useless without hurting the vehicle... and, in fact, most modern armored vehicles, like tanks, use armor concepts that take advantage of this concept.

3. There are some ships, specifically the big ones... which would look incredibly stupid if they lost a subgroup, but were somehow functional. Thankfully, these are the very same ships that don't need to worry about this, because missiles will only very rarely effect more than one subgroup in a hit, with their small areas.

We can probably rig up Fuses for the fighters that have any real advantages to their subgroups... or simply adjust their hitpoints to whatever makes sense.

But... the last disadvantage is the biggie... and, I'm afraid, will not be easily gotten around.

The big disadvantage is that custom ships will be a lot trickier to balance, because they do not have subgroups, and therefore gain none of the advantages/disadvantages. This means that missiles will always effect their hitpoints directly... and fairly... but it also means that they will never, ever get a "lucky break" from a missile. I dunno what that's worth, in game-balance terms, but I'd say 10% more hitpoints than an average ship of the same class would be a pretty good starting-place...

Post Fri Apr 22, 2005 7:06 am

This concept is really interesting, and totally logical.

Great work Argh.
But now, here's something that players will mostly tell you :
CBs cost 7000$+ each shot and 90% of these are deviated by Counter-Measures. If we need of 3 CB shots to kill someone, well Guns will have an enormous advantage over the missiles...

But then I really think that this correction will be used into my mod, to make fights last longer! Missiles will have much more damage points to kill the ship in one shot, but you'll need to fire a direct shot to kill someone Or you can blow all his parts off and look at him flying around with nothing left hehe

Post Fri Apr 22, 2005 10:55 am

I think one of the many issues with missiles is what they cost, for what they do. I'm not sure where my final balance-ramp is going to be- calculating costs in terms of damage-per-second/energy * cost slope isn't going to work really well for missiles, because they don't figure into the same calculation.

The other thing that you have to keep in mind, imho... is that at the high end of player-vs-player combat (which is one of my main focus areas, since it was heavily neglected in DA's game design)... costs really don't matter. When two guys with $10 mil apiece decide what they're going to fly, and what they're going to be armed with... does a $6000 missile make any difference, really?

So I basically have to look at costs seperately from effectiveness in PvP, and mainly look at costs when the weapons are being used to kill the AI at different Encounter levels... and adjust them accordingly.

That said, my current pricing schemas are still looking pretty good, at least for the "armor-piercing" missles- the "fragmentation" variety will probably have to have their costs and/or damage levels adjusted, as the high-end ones are currently well-capable of blowing off most people's guns o_0 But that's very easily fixable by changing the amount of hold space they use, too... and so on and so forth- there are plenty of good balance tools available that didn't get used

Post Fri Apr 22, 2005 12:14 pm

Woot! Grep rocks.

I just re-adjusted all the hitpoints on the guns and other equipment, so that you can take up to 2 hits from the highest-end "fragmentation" missile before you lose your equipment. I'll adjust critical ship areas (such as the wings on Corsair fighters) so that they have improved survivability to some extent as well, although adjusting these without buffing their overall hitpoints to absurd levels is going to get a little tricky... it's better than having both wings fall off from a single missile hit- I'm pretty sure players will agree, when I've removed the crutch of extra hitpoints from ship parts

Post Fri Apr 22, 2005 3:54 pm

Argh, you would be surprised
I used about 2M per hour, which means in 10 hours 20M are away...
I know ppl who easily use 4M if not 6M (Dual Missiles, CBs or FireStalkers) per hour.

Missiles are costy. The problem is not there though. The problem is with the CMs. Don't you think 90% is a little high?

Post Fri Apr 22, 2005 5:21 pm

I think that I'm going to have to test things awhile longer before I can judge better. Right now, based on what balance is in place, I'd have to say that yes, 90% is looking too high. But there are other factors, too... such as the fact that missiles do some very odd aiming and placement behaviors. Haven't quite decided how to sort all of that out just yet.

Post Sat Apr 23, 2005 6:54 am

if you find anything that could help solving the weird behaviors of missiles (I think about missiles that turn on themselves but that still fly in right line, or that simply never aim at all), post these here I think everyone would like to know about this

also if you need help I can help hehe (I need of better missiles for a mod I am making : Ships are more manoeuvrable, so missiles must do the same to follow hehe...

FF

Post Sat Apr 23, 2005 11:34 am

Certain behaviors of missiles are hard-coded, and probably cannot be fixed. For example, missile guidance stops working nearly as well if the user isn't viewing the missile on the screen. This may or may not be tied to the muzzle_cone_angle in Constants... haven't really looked at that yet.

Turning issues with Missiles are due to a couple of things:

Also, the positions of the engine fire and the missile's true center aren't right. I've been rather tempted to rebuild my test-case missile so that the center of the CMP is at the back of the missile, so that turning is entirely accurate, but even moving the hpexhaust back to where it's not obscuring the missile turned out to be a pretty good fix.

Post Sat Apr 23, 2005 12:57 pm

i think you've got it wrong,seems to me that "seeker_fov_deg = 35"(this is a regular missiles fov) in the munitions entry should dictate how far the mouse can deviate from its target,and cruise disruptors regularly follow targets off screen and hit with decent accuracy and their field of view is 90 degrees.

and while we're speaking of game balanced missiles what about scaling them appropriately or even better making separate models for different sizes,this way the capital ship uber torp is destructible

Post Sat Apr 23, 2005 7:04 pm

I made a post, previously, describing the process of making new missile models. It's really not terribly hard, especially if you're just making the projectiles- projectiles just have to be ordinary CMPs. For the special project I'm doing now, I've already included some new missiles and stuff.

Post Sat Apr 23, 2005 10:57 pm

I'm curious, since I've been playing with this property lately - have you noticed anything that seems to correlate to the "toughness" attribute of weapons on ships being struck? I'm assuming that the lower-toughness weapons such as Tizonas will be more likely to go boom, but I haven't got a clue about whether this really does mean something has a chance of catastrophic failure.

Post Sun Apr 24, 2005 6:28 am

Toughness is a damage modifier. It's effectively a buff for hit_pts, insofar as I can tell- anything hitting a toughness 2.0 object, for example, will take damage X 0.5.

I've set all of the toughness entries to 1.0, because I haven't found anything interesting to do with it yet. I suppose that you could use this to make things with really low hitpoints that still took a lot of damage, but I just don't see the point- repair costs are based on the initial price X damage % anyhow.

Post Sun Apr 24, 2005 11:38 am

I always had fun making missiles (and for PvP this would be vicious) that had a time delay after firing where they would just sit dead for a few seconds before flying off after a target. Makes em come out of nowhere :-) However another problem associated with this, is that in most of my trials the missiles just simply exploded when the engines ignited.

Post Sun Apr 24, 2005 1:43 pm

You have to set the lifetime correctly, to take into account the time spent sitting, as well as the motor's lifetime and any time spent drifting to a target.

Return to Freelancer General Editing Forum