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

Flight Physics... Serious Errors in Current Assumptions... v

The general place to discuss MOD''ing Freelancer!

Post Mon Oct 18, 2004 10:53 am

Flight Physics... Serious Errors in Current Assumptions... v

EDIT

Please read through the entire post before commenting... as revealed below, my experiments contained some flaws, and the results discussed below have some errors in them. That said, this article does point out some areas of the FL flight model that weren't previously well-explored, and should be somewhat useful for modders who're interested in tweaking flight models

I just got done looking through the assumptions that are in the Flight Stats sticky, which can be read here

Since I'm working with a lot of these concepts right now, and doing a lot of experimentation with changing values and then testing the results... I have come to the conclusion that many of the assumptions in the article are wrong, and do not match experimental results... and the mod community should do more experiments to verify what I've observed. I have experimentally observed several serious inconsistencies between my results and what the article says it's explaining about the physics of Freelancer.

I know that the authors were trying to help... but for the article to be helpful, it has to be reasonably accurate. I also know that the authors did their work for free, and I appreciate their effort- seriously, it takes time and mental energy to do something like that, and I think it's great that they tried to explain these things. But in this case, I think that the whole community would be better-served if we corrected the things that are just plain wrong.

Here's a list of my observational findings, where they differ sharply with the "Flight Stats Explained" article.

1. Assumptions about the relationship between Mass and acceleration.

The authors of the document assume that Mass has a relationship with Max_Thrust variables, when the Freelancer engine is determining how things accelerate/decelerate.

I tested these assumptions, and I'm sorry to say that the writers of that document are completely wrong Mass has no effect whatsoever on the speed of acceleration of ships in the Freelancer engine.

It's easy to prove that my statement here is correct, so please try this yourselves. Simply take a default ship (say, the starting ship)... and go into SHIPARCH.INI and set its Mass to something ridiculous... say... 1000000. Yup, a million, or 10,000X more Mass than it had before... now that ship should accelerate very slowly, according to the authors' math. It won't. In fact, its flight behavior will be unchanged.

All Mass seems to *actually* do is provide an integer when the Freelancer engine is trying to figure out how much force to apply when two mobile objects collide. It doesn't even factor into the damage done when you ram something. Try ramming your Million-Mass Fighter into a space station... if Mass affected this calculation, then you'd just die instantly... you won't. The damage done *does* take velocity into account... and *does* combine velocities, if both objects have velocities > 0. And, of course, there's the COLLISION_DAMAGE_FACTOR. But Mass doesn't do *jack* here. Sad, but true... I was counting on being able to play with Mass in my mod... now I'm going to have to re-think a bunch of things


Edited by - Argh on 10/19/2004 6:00:18 PM

Post Mon Oct 18, 2004 10:54 am

2. Assumptions about the way Freelancer calculates straight-line acceleration.

The authors state, very neatly, the relationship between the variables Max_Force and Linear_Drag in their article, explaining how the "top speeds" of both main engines and thrusters work. The final math is correct- divide Max_Force by Linear_Drag, and you get the top speed of the ship (which in the default game is 80 for every ship).

However, their conclusions about how things are working in terms of acceleration are dead wrong. If they were right... every ship's engine INI would be EXACTLY the same, and only the Mass of each ship would need to differ, because then the physics of it all would work out perfectly- the Mass would translate into inertia, so ships with more mass would accelerate more slowly than ships with less. Obviously, this ain't the case- the Million-Mass fighter still out-accelerates a freighter at about a thousandth of its mass. Obviously... something is seriously wrong here, and Mass doesn't play a role.

What they didn't discover (apparently because they made some assumptions about Mass that just aren't true, and then kept referring to it), is that the Freelancer engine doesn't care about Mass at all, when it's figuring out acceleration curves. Instead, it's using some sort of scaling algorithm.

THEORY: The absolute values of Max_Thrust and Linear_Drag determine the rate of straight-line acceleration. Higher numbers for both variables results in a faster straight-line acceleration to top speed, regardless of what Mass is (as I stated before, it doesn't do ANYTHING, so far as I can tell). Lower numbers results in a slower rate. To verify this experimentally... try the following two experiments:

A. Build a ship with a Mass of 0, as in the collision damage experiment. Make sure it has NO EQUIPMENT- no thrusters, guns, shields... anything that *might* influence the experiment (not that it seems to matter, based on my own experiments). I am assuming that you're hacking the default starter ship, which uses the ge_gf1_engine_01 engine here.

Now, go to the engine_equip.ini file, and set the max_force and linear_drag for the ge_gf1_engine_01 engine to 1000 and 10, respectively. This gives us a top speed of 100.

Try this ship out in the game. What you'll very quickly see... is that this ship, while having a top speed of 100 (higher than default) accelerates *very* slowly. Mass has been eliminated as a culprit... so what's going on here, eh? Let's move to experiment no. 2...

B. Now, change those two values to 100000 (one million) and 10000 (ten thousand). Try it out in the game. Notice that you accelerate much faster. But you don't accelerate nearly instantly to 100- this is because the engine has a built-in limitation based on keyboard input, so it's not applying the steps of acceleration until it registers another "keystroke". And your ship "shakes" once you hit 100- that's because the engine *is* trying to keep you at 100 speed at the acceleration rate scale that you've set, once you're at the maximum speed. Since turning reduces speed (more on this later on)... this "shaking" is the result of this nearly-instaneous speed increase from 99 to 100... it's happening so fast that your ship literally "jumps" a noticeble distance between drawn frames. Yuck!

Now... this is where it gets fun... try strafing with the settings in Experiment B. Notice that your strafe hardly does anything! Hmm... do you think that Linear_Drag setting might be having an effect on the Strafe_Force setting in the ship file? Try putting the engine's settings back to the settings described in Experiment A... and you will see that stafe is incredibly over-powered when the scale is low.

Now try docking with something, with the settings described in Experiment B. You'll see your ship sloooooowly crawl into a dock. Try it with the settings in Experiment A... and you'll see your ship *never* dock, because the default Nudge_Force is so over-powered that your ship will *never* correctly align with the docking hardpoint! Now ... you can start to see why Digital Anvil was so concerned about keeping everything the same speed, and keeping the differences in acceleration between flying things a lot less than you'd think they could've... it's because if you aren't super-careful, things start breaking... fast.

And try setting up different relationships in the Thruster... and you'll see that in both experimental conditions... the same relationships apply to Thrusters, too!

Edited by - Argh on 10/18/2004 11:56:03 AM

Post Mon Oct 18, 2004 10:54 am

RESULTS: Basically, the programmers at Digital Anvil have a lot to answer for here, in my opinion. They made the Linear_Drag act as if it were Mass, straight-line *and* multivector drag- multivector drag being the force that subtracts velocity from a given vector when the ship turns to a new one, so that you don't have to apply force in the opposite direction in order to halt drift on a given vector. IOW... the Linear_Drag in the engine files controls a HUGE amount of the flight characteristics of a ship! This is just plain *lazy* programming here. They didn't need to do it this way- they spent oodles of effort making notations about Mass all over the game's files... and then they didn't use it for jack squat!

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

3. Assumptions about how turning works.

The authors of the Flight Stats article are mainly right in these parts... but where they're wrong, they're seriously wrong.

Basically, now that we have a better understanding of how Linear_Drag controls huge amounts of acceleration/deceleration in EVERY VECTOR CHANGE, our understanding of what "turning" means needs to change accordingly.

Turning can be defined in two ways: as a change in vector, or as a change in position. Obviously, these two definitions aren't mutually-exclusive, but it's important that we keep in mind that when most people think of "turning my ship", they're thinking of *both* rotating the ship and re-positioning it (hopefully nearer to the intended target of the manuever).

Well, basically... if we're just talking about vector changes... everything the authors wrote seems to be true, thus far. I'm going to make some experiments to verify all of this, but I think it's safe to say that their assumptions there are right, except where they mention Mass. Once again... Mass has NO EFFECT on turning speed or radii. Try the Million-Mass Fighter... it should turn like a brick, right? It doesn't. Instead, turning (defined here as "vector change" ) is solely controled by the Steering_Torque, Angular_Drag and Rotation_Inertia values. Mass has nothing to do with it... whatsoever.

So in their example, where they're comparing the Eagle and Sabre... yes, the Eagle changes its vector more quickly... but Mass doesn't have anything to do with it. What's funny (in a grim way) is that they reached the right answer, but kept insisting that Mass was a factor. It ain't.

Now, when we define turning as "a change of vector and position"... which is how most players intuitively think about turning... things get a lot hairier. The authors of the original document didn't really get into that much, but here's the skinny:

A. Since we now know that the Linear_Drag of the engine is what the Freelancer engine is using to determine drag on all vectors of travel, we now know that in order to have Linear_Drag cancel out the velocity on the previous vector, it's gotta be high enough to do this reasonably quickly. So there is an effective lower limit there somewhere... where if you set it lower than this, the ship will act like it's in zero-g conditions a little *too* well, and won't be steerable by most folks (applying thruster to kill velocity on a given vector is pretty alien to most people... there's a reason why NASA's astronauts have to train so hard to do it for real).

B. If we set Linear_Drag too high, then it'll kill the previous velocity too quickly... resulting in a ship that can "turn on a dime", if the ship's Steering_Torque is high enough in relation to the two other factors.

This is a game-balance issue, obviously... we want players to be able to steer (and for the docking AI to be able to dock the ships), but we also want enough "slop" in the system to produce reasonably-realistic results. Since so much behavior actually hinges on the Linear_Drag value, though... we're stuck with bad choices.

C. The bad choices are:

C1. Make all values pretty close to what DA used, and end up with ships that handle in similar ways. This is fine, if you're building a regular "add some ships and stuff to the FL universe" mod.

C2. Go towards the "slop limit", and make both Max_Thrust and Linear_Drag relatively low numbers. This will result in ships that steer more "loosely", and seem to "skid" a bit. I'm probably going to do this in my mod, because I'm trying to loosely simulate the way that aircraft move.

C3. Go towards the "tight limit", and make both values higher than the highest stuff DA used. This will result in ships that have very "tight", sharp turning radii and swift vector corrections. This will be less-realistic than FL (which wasn't aiming for reality, but for fun flying), and might be suitable for racing mods or other things where having ships that can "pull a u" in less than their own length at high speed might be ultra-cool.

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

SUMMARY

In this article, I've re-explored a lot of the assumptions that have been previously made about the physics of Freelancer. Basically, a lot of the assumptions made up until now have been *wrong*:

1. Mass doesn't mean crap. The FL engine doesn't use Mass to determine anything all that important about the way ships handle.

2. The Linear_Drag of the engine (not the ship) is probably the most important variable in the whole darn game, when it comes to ship physics. The relationship between Linear_Drag and Max_Thrust is used by some sort of scaling algorithm (which I don't yet know the value of) to determine ship top speed, acceleration/deceleration, and vector-based drag (which is essentially deceleration).

3. Since turning behaviors are dependent in great part upon vector-based drag, you MUST affect the scaling/top speed of your ship's physics in order to really tweak real turning behaviors. Simply changing the Steering_Torque to a higher/lower value will change the time it takes for the ship's nose to point towards the desired vector... but it won't change how quickly the ship begins accelerating past zero... towards the new vector. That's controlled by Linear_Drag, so you'll have to figure out how to juggle these two factors to get the behavior you want.

Lastly... the amount that velocity is "lost" due to turning is directly dependent on the relationships described here. So a ship with a Max_Thrust of 1000 and Linear_Drag of 10... will lose much less velocity than one with higher values, because that low Linear_Drag will take a lot longer to eat the velocity up.

That's basically it, folks. Try all of these experiments out... and see what I'm saying here. Meanwhile... I've gotta rethink a whole BUNCH of things about how my mod's physics are going to work...

Edited by - Argh on 10/18/2004 11:56:36 AM

Edited by - Argh on 10/18/2004 12:17:50 PM

Post Mon Oct 18, 2004 10:55 am

Side-jaunt

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

THEORY: The relationship of Mass and collision damage to the Freelancer engine is simple: Mass * Speed * COLLISION_DAMAGE_FACTOR.

EXPERIMENTAL RESULT: This has been *proven* false through experiment. If my Million-Mass Ship experiment didn't convince you that Mass isn't being used for much... try the experiment described below.

To test my theory experimentally, set up a ship with a mass of 0 (don't forget to lose all equipment, and set the Mass of any sub-groups to 0, too, for good measure). Set the cruise speed to 1001 in CONSTANTS.INI, don't equip a shield, and give the ship 500 hitpoints. It's also helpful (but not required) to have already hex-edited your Freelancer.exe so that it'll display cruise speeds above 300 accurately (if you don't know what I'm talking about here... don't try this at home, as it involves altering your EXE by hand... not for the timid).

Now open up the game (preferably through a clean server, not a savegame) and get going to a full cruise speed of 1000 (the 1 is almost always dropped, or not displayed, as it's a float)... and ram a space station. You will take 500 points of damage, and blow up. Up your hitpoints on the ship to 1000, and try it again.

Damage from ramming things seems to be calculated like this: ( Speed * 1 * COLLISION_DAMAGE_FACTOR ). That's all there is to it... Mass doesn't even factor into it.

I know that this bit about Mass's non-relationship to impact damage may seem like a useless side-jaunt here... but basically what I'm trying to point out is that Mass doesn't seem to be used by the Freelancer engine... for much at all. Sad, but true.

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

Edited by - Argh on 10/18/2004 11:55:28 AM

Post Mon Oct 18, 2004 11:39 am

wow, that`s very interesting .. mate, thanks for sharing your experiences !!

Post Mon Oct 18, 2004 12:26 pm

nice post Argh, well done.
however i disagree in one point due to my experiments with flight physics.

this point is: mass. you say it doesnt affect anything in movement.

try this:
give any fighter a mass of 10000 and a max_force of its engine of 300000 (for 500 max speed)

you will accelerate to 500, though i experianced it to be slower than in vanilla FL from 0 to 80 - with ur theory both would take the same time, right?

with the settings above you will experiance more real-physics like flight behaviour. you are able to turn around, but you will still float into the same direction until the ship slowly adjusts its movement o the direction you are pointing.

(i read ur post quickly so no offense if u already handled this - i might have overseen it - im a bit short of time...)

Fjord

---------------------------------
Infinity TC Mod Leading Developer

Post Mon Oct 18, 2004 12:39 pm

Gawd, I hate the way replies are destroying this post by cutting it up

I love the replies, it's just the Forum being weird... aaaanyways...

What you're seeing there, FJord, is the way that Linear_Drag works. The settings that you're describing there have to do with the relationship between Linear_Drag and Max_Force.

Go to the engine's file, and set things like this:

Max_Force = 300000
Linear_Drag = 600

This gives you a top speed of 500.

Now change the mass to whatever you want... high, low... from 0 to 1 million. It won't change a thing.

Now, let's do another one:

Set the Max_Force to 900000, and the Linear_Drag to 1800. Once again... the top speed is 500. But it'll accelerate much more quickly. Change the mass to whatever... it won't change a thing.

And... let's look at the low end... just to see what I'm saying here. Set Max_Force to 500 and the Linear_Drag to 1. Once again... 500 top speed. But the acceleration will be TERRIBLE, no matter what Mass = in the SHIPARCH.INI

Edited by - Argh on 10/18/2004 1:41:44 PM

Post Mon Oct 18, 2004 12:57 pm

Yes, this is a very good post. Real life experience many times tells us that things that should be a certain way are actually not that way.

Dev

Post Mon Oct 18, 2004 1:03 pm

Well, in the spirit of productive debate, allow me to kindly shoot you down.

"Mass has no effect whatsoever on the speed of acceleration of ships in the Freelancer engine." I have no idea how you came to this conclusion, but whatever you did seems to have misled you dearly. However, I did play along with your suggestion and simply changed shiparch.ini so that the starflier's mass became a million; expectedly, it accelerated and decelerated like an ant pushing a lead brick.

If you'd like some other evidence from what you've pointed out, consider the case of a ship of mass 0 (actually more like 15 or 20, since the engine, powerplant, and tractor beam all have mass). Changing the engine so that it provides 1000 thrust and 10 linear drag will of course give you a top speed of 100; however, the ratio of thrust to mass is around 50, as compared to the roughly 400 that it would be on a normal starflier. Thus, you can expect to accelerate much more slowly than you normally would. Now, changing the thrust to 1000000 and linear drag to 10000 will still give a top speed of 100, but the ratio of thrust to mass becomes 50000, meaning you will accelerate as fast as you can push the throttle forward (and this is indeed what you observed).

As for strafing, I presume that in both of these cases you left the strafe_force variable untouched at 20000, so when you used the 1000/10 setup for the engine you can expect to move laterally 20 times faster than you can forward; similarly, when you used the 1000000/10000 setup you can expect to move laterally 1/50 as fast as you could forward.

Finally, turning your ship does indeed involve the linear behavior of your ship as well as the angular behavior. To see this, you can just go back to the original example of taking a stock starflier and making its mass a million; when you turn your ship, you will ROTATE at the traditional starflier rate, but you will keep going in pretty much your original direction, much like if you had killed your engines in a normal game. In other words, though the linear and angular stats of the ship work together to create the overall turning behavior, they are independent of one another.

Bottom line, I'm still unsure how you could reach the conclusion on mass that you did, because I sure as hell can't. Mess around with stuff some more, you should find that mass does indeed influence flight dynamics as we said it does. It could be that you're altering the wrong variables for the ship (unlikely, I know), or maybe you're messing with the wrong ship... heck, I don't know. But mass really does count for something in this game.

Post Mon Oct 18, 2004 1:44 pm

All I can say to you is...

Do the experiments described below. You will very quickly see that mass doesn't do jack- it's Linear_Drag and Max_Force in the engine that does the work. This was the biggest surprise I have had yet while modding FL... and I went to great lengths to document it below. Please, feel free to replicate my experiments.

I'm using FL 1.0, with SDK 1.3 installed, and I'm running it in FLServer. I check every change in a new server instance. I know that what I've written below is true- I tested it over a dozen times with different variants, because it didn't make any sense

Now... maybe... just maybe... my FL is unique somehow... its defective

I think you should just try the experiments, and you'll soon see what I'm saying.

If you set your mass to 0, for example, and hack the mass of every other componant... you'll see what I'm talking about here... that's where things get really whacky. Maybe Mass is doing something useful here that I'm just missing... it's the relationship between Max_Thrust, Linear_Drag, and the rest of the flight characteristics, though that bears watching.... here, take a look at this... just to make sure I'm not making any errors:

[Engine
nickname = ge_gf1_engine_01
ids_name = 263671
ids_info = 264671
volume = 0.000000
mass = 0
max_force = 10000
linear_drag = 100
power_usage = 0
reverse_fraction = 0.200000
flame_effect = gf_li_smallengine01_fire
trail_effect = gf_li_smallengine01_trail
trail_effect_player = gf_li_smallengine01_playtrail
cruise_charge_time = 5
cruise_power_usage = 20
character_start_sound = engine_ci_fighter_start
character_loop_sound = engine_ci_fighter_loop
character_pitch_range = 10, 65
rumble_sound = rumble_ci_fighter
rumble_atten_range = -5, 0
rumble_pitch_range = -25, 25
engine_kill_sound = engine_ci_fighter_kill
cruise_start_sound = engine_ci_cruise_start
cruise_loop_sound = engine_ci_cruise_loop
cruise_stop_sound = engine_ci_cruise_stop
cruise_disrupt_sound = cruise_disrupt
cruise_backfire_sound = cruise_backfire
indestructible = false
outside_cone_attenuation = -3
inside_sound_cone = 60
outside_sound_cone = 180

That's the engine. Top speed of 100.

[Simple
nickname = cv_dmg_port_wing01_cap
DA_archetype = Ships\civilian\cv_starflier\cv_dmg_port_wing.3db
material_library = ships\civilian\cv_ships.mat
mass = 0.000000
LODranges = 0, 100, 1500

[Simple
nickname = cv_dmg_starboard_wing01_cap
DA_archetype = Ships\civilian\cv_starflier\cv_dmg_starboard_wing.3db
material_library = ships\civilian\cv_ships.mat
mass = 0.000000
LODranges = 0, 100, 1500

[Simple
nickname = cv_dmg_mid_wing_cap
DA_archetype = Ships\civilian\cv_starflier\cv_dmg_mid_wing.3db
material_library = ships\civilian\cv_ships.mat
mass = 0.000000
LODranges = 0, 100, 1500

[Ship
ids_name = 237015
ids_info = 66527
ids_info1 = 66528
ids_info2 = 66608
ids_info3 = 66529
ship_class = 0
nickname = ge_fighter
LODranges = 0, 60, 120, 250, 500, 1000
msg_id_prefix = gcs_refer_shiparch_starflier
mission_property = can_use_berths
type = FIGHTER
DA_archetype = ships\civilian\cv_starflier\cv_starflier.cmp
material_library = ships\civilian\cv_ships.mat
material_library = fx\envmapbasic.mat
envmap_material = envmapbasic
cockpit = cockpits\civilian\civilian.ini
pilot_mesh = generic_pilot
nanobot_limit = 10
shield_battery_limit = 10
mass = 0.000000
linear_drag = 1.000000
hold_size = 20
fuse = intermed_damage_smallship02, 0.000000, 275
fuse = intermed_damage_smallship03, 0.000000, 138
max_bank_angle = 35
camera_offset = 13, 42
camera_angular_acceleration = 0.050000
camera_horizontal_turn_angle = 20
camera_vertical_turn_up_angle = 5
camera_vertical_turn_down_angle = 30
camera_turn_look_ahead_slerp_amount = 1.000000
hit_pts = 1100
explosion_arch = explosion_cv_fighter
surface_hit_effects = 0, small_hull_hit_light01, small_hull_hit_light02, small_hull_hit_light03
surface_hit_effects = 150, small_hull_hit_medium01, small_hull_hit_medium02, small_hull_hit_medium03
surface_hit_effects = 300, small_hull_hit_heavy01, small_hull_hit_heavy02, small_hull_hit_heavy03
steering_torque = 25000.000000, 25000.000000, 58000.000000
angular_drag = 15000.000000, 15000.000000, 35000.000000
rotation_inertia = 3800.000000, 3800.000000, 1000.000000
nudge_force = 30000.000000
strafe_force = 20000
strafe_power_usage = 2
bay_door_anim = Sc_open baydoor
bay_doors_open_snd = cargo_doors_open
bay_doors_close_snd = cargo_doors_close
HP_bay_surface = HpBayDoor01
HP_bay_external = HpBayDoor02
HP_tractor_source = HpTractor_Source
num_exhaust_nozzles = 1
shield_link = cv_fighter_shield01, HpMount, HpShield01
hp_type = hp_gun_special_3, HpWeapon03
hp_type = hp_gun_special_2, HpWeapon01, HpWeapon02, HpWeapon03
hp_type = hp_gun_special_1, HpWeapon01, HpWeapon02, HpWeapon03
hp_type = hp_fighter_shield_special_3, HpShield01
hp_type = hp_fighter_shield_special_2, HpShield01
hp_type = hp_fighter_shield_special_1, HpShield01
hp_type = hp_thruster, HpThruster01
hp_type = hp_mine_dropper, HpMine01
hp_type = hp_countermeasure_dropper, HpCM01

[CollisionGroup
obj = port_wing_lod1
separable = true
parent_impulse = 120.000000
child_impulse = 60.000000
debris_type = debris_small_ship
separation_explosion = explosion_small_ship_breakoff
mass = 0.000000
dmg_hp = DpPort_Wing
dmg_obj = cv_dmg_port_wing01_cap
type = Port_Wing
hit_pts = 138
root_health_proxy = true

[CollisionGroup
obj = star_wing_lod1
separable = true
parent_impulse = 120.000000
child_impulse = 60.000000
debris_type = debris_small_ship
separation_explosion = explosion_small_ship_breakoff
mass = 0.000000
dmg_hp = DpStarboard_Wing
dmg_obj = cv_dmg_starboard_wing01_cap
type = Starboard_Wing
hit_pts = 138
root_health_proxy = true

... and there's the ship.

No equipment mounted, other than the engine, which you can see also has a mass of 0. Play with its flight behavior... see for yourself. If I've made an error here, let me know... none of this was intuitive to me, either, and I was quite surprised by the results.



Edited by - Argh on 10/18/2004 2:49:23 PM

Edited by - Argh on 10/18/2004 3:10:44 PM

Dev

Post Mon Oct 18, 2004 2:35 pm

"Now... maybe... just maybe... my FL is unique somehow... its defective"
I'm going with this theory. I still don't know how you're getting what you are; I did EXACTLY what you did and got what I expected. If you take what you have posted and increase the mass of the ship's hull to a million, the starflier will accelerate very, very, very slowly, as it should. If you leave the mass as is, the starflier accelerates rather quickly (though not infinitely so, since you still have the power generator and the scanner contributing mass).

As a debugging test, try altering things so that all of the linear drag is on the ship's hull rather than the engine (i.e., the engine provides thrust of 10000 and drag of 0 while the hull provides drag of 100 rather than the usual 1). If your top speed jumps from 100 to just shy of infinite, there's a problem with recognizing your changes to shiparch.ini, which could be why it would seem as though altering the mass of the ship doesn't do jack.

Post Mon Oct 18, 2004 2:37 pm

Okie doke, I'll try that out next. Who knows? Maybe I just goofed something up here

Hmmm... I set the ship's Linear Drag to 10000, and the Max_Thrust of the engine to 100000, and its Linear_Drag to 0... and it's not a 100:1 ratio, right? The ship should have a top speed of 10, then.

It didn't. Top speed worked out to around 600 or so, but it was so unstable that it kept flipping back and forth and acting really weird. There's no WAY it should be 600... what the heck is going on here? Does Linear_Drag in a ship's file just not work right? And acceleration was very quick... I probably scaled through 600 speed in half a second... try it out, somebody, and see if it happens to you... who knows, maybe it's time to do a clean reinstall again... lol... all that effort with experiments, wasted... ah, the joys of science

But the acceleration, at least, fits my theoretical model- the numbers are higher, and irrespective of the final speed ratio, the speed of acceleration is quite high. This just keeps getting weirder, when I'm working with this zero-mass ship.

Maybe I should just do a clean reinstall, and try this from the top... and make sure I'm getting this right.



Edited by - Argh on 10/18/2004 3:44:18 PM

Edited by - Argh on 10/18/2004 3:46:42 PM

Edited by - Argh on 10/18/2004 3:50:21 PM

Post Mon Oct 18, 2004 8:41 pm

i did experiance changes when i increased mass (see my last post), however, changeing the mass of weapons on the ship did NOT affect it in any way. my guess goes into the smae direction for all the other equipment, but i will need to test that.
what i wanted to reach was the bigger guns -> more mass -> less acceleration
the mounting status played no role, i tried it both equipped and unequipped, and i would have noticed a mass increase of 100000

now you could say: great, im right, mass doesnt affect movement.

but when i ONLY changed the mass of the ship, it was very noticeable.

ill run more tests on the topic. keep it running, its interesting and i also want a bit clearness in this.

Fjord

---------------------------------
Infinity TC Mod Leading Developer

Post Mon Oct 18, 2004 11:05 pm

well my LF ships in my ship pack has the same engine entries... and the only thing that differs is the mass... and their movements are unique...


FIREBASE Technologies

Post Mon Oct 18, 2004 11:53 pm

@Argh:

your experiments with max_force and liner_drag of 10000, 1000 and 100, 10 could be explained with mass as well.
you set the mass to 0 for ur experiments which caused some misbehaviour.
FL doesnt like 0 values at some places(like cruise charge time for example).
try again with mass 1.

turn around the experiment, leave the same engine stats, increase mass.
i think the mass of 0 led to some weird behaviour. ill run tests on this when im back @home.
if we have found out whats wrong with us or you, then we can make an updated flight physics tutorial/overview, maybe with some examples for several different settings (fighters, capships, arcade or real-physics flight model, ...)

Fjord

---------------------------------
Infinity TC Mod Leading Developer

Return to Freelancer General Editing Forum