Important MessageYou are browsing the archived Lancers Reactor forums. You cannot register or login. |
**Tutorial** - Realistic Battleship settings
Here you find the different tutorials on editing and MODing Freelancer
CaliginousSeraph: did you delete the Restart.fl file in the My Games/Accts/SinglePlayer folder? I found that if I deleted all the saved games, ran Freelancer again and then quit out straight away it created a new Restart.fl file. Then I transferred some of my saved games back into the folder and the game would load up ok. I think if you try putting the old Restart.fl file back into ur saved games folder it wil make the game start crashing again.
I have found after some extensive testing that the flipping is a result of these values and not the nudge. Changing the values to these should solve it. Fighters will smeer themselves and small asteroids will bounce of you. Stations and large asteroids though, are unmovable and you will bounce of them.
steering_torque = 1200000000, 1200000000, 1200000000
angular_drag = 1400000000, 1400000000, 1400000000
rotation_inertia = 1600000000, 1600000000, 1600000000
steering_torque = 1200000000, 1200000000, 1200000000
angular_drag = 1400000000, 1400000000, 1400000000
rotation_inertia = 1600000000, 1600000000, 1600000000
1. The "nine mystic values"
--------------------------------
in every line, the values for all 3 components x,y,z of the according term are given.
steering_torque
....the torque you apply when you hit the control stick.
angular_drag
...some sort of resistance, preserving the ship from spinning faster and faster.
This is the force which also slows and finally stops your spinning ship. Since i do not know where it acts (the force), it's only a guess.
rotation_inertia
...as the name implies. This is the "mass" you have to move with your torque.
Now the formulas you need, to calculate your movement:
angular_acceleration = steering_torque / rotation_inertia
angular_velocity = steering_torque / (constant * angular_drag)
Notes
-------
-the thing with the constant in angular_velocity is the problem...it's not yet defined. You have to find out by yourselve. Count the seconds the BS needs for a 360° turn...then you can calculate the constant
- the angular velocity means the velocity you can reach. In the beginning it will be slower...you first have to accelerate.
- if you want your ship to behave different for the three room directions you have to calculate for each direction independently. Or write it in vectors from the beginning
-consider that my formulas give angular velocity/acceleration
-> rotation_frequency = angular_velocity / 2*PI
Example
----------
steering_torque = 1200000000, 1200000000, 1200000000
angular_drag = 1400000000, 1400000000, 1400000000
rotation_inertia = 1600000000, 1600000000, 1600000000
I take 10 for Radius (just for example)
for x-axis:
angular_acceleration = 43 degree/sec^2 ....that's quite inert...like a BS should be
angular_velocity = 4.275 degree/sec ...that's not enough. In this case the BS would need 80 seconds for a 360° turn, the constant has not the right value.
2. The Spinning Problem
-----------------------------
Like the steering_torque, a ship which hits you causes a torque to your BS:
collision_torque = radius * force (maybe force = nudge_force ?!?)
and because:
angular_acceleration = collision_torque / rotation_inertia
it starts spinning. To avoid this, change the rotation_inertia...this makes the ship inert...to keep it controllable you have to increase the steering_torque...
This is from the first version of the BS:
steering_torque = 250000000.000000, 250000000.000000, 250000000.000000
rotation_inertia = 2540999936.000000, 25806999552.000000, 683700032.000000
angular_drag = 4000000000.000000, 4000000000.000000, 4000000000.000000
as you can see, the z-component of rotation_inertia is very small, just 6*10^8.
This was the problem...(no one reported that the ship started spinning in x or y direction, only z)
3. Nudge Force
-----------------
Imho this is the force which acts when the ship hits another object.
why should this be correct? Because otherwise the game has to calculate it everytime out of mass and velocity by using a delta-function for the kick. That's to much work for such a small aspect of the game...so it uses fixed values.
But maybe I'm totally wrong with this.
4. Camera View
-------------------
I think the camera point of view makes problems. The geometry of the mouse steering point does not fit any more. Maybe that's why larger ships tend to roll...someone an idea?
....i hope it helps. Just some thoughts. No warranty that my interpretation of the physical model is correct.
--------------------------------
in every line, the values for all 3 components x,y,z of the according term are given.
steering_torque
....the torque you apply when you hit the control stick.
angular_drag
...some sort of resistance, preserving the ship from spinning faster and faster.
This is the force which also slows and finally stops your spinning ship. Since i do not know where it acts (the force), it's only a guess.
rotation_inertia
...as the name implies. This is the "mass" you have to move with your torque.
Now the formulas you need, to calculate your movement:
angular_acceleration = steering_torque / rotation_inertia
angular_velocity = steering_torque / (constant * angular_drag)
Notes
-------
-the thing with the constant in angular_velocity is the problem...it's not yet defined. You have to find out by yourselve. Count the seconds the BS needs for a 360° turn...then you can calculate the constant
- the angular velocity means the velocity you can reach. In the beginning it will be slower...you first have to accelerate.
- if you want your ship to behave different for the three room directions you have to calculate for each direction independently. Or write it in vectors from the beginning
-consider that my formulas give angular velocity/acceleration
-> rotation_frequency = angular_velocity / 2*PI
Example
----------
steering_torque = 1200000000, 1200000000, 1200000000
angular_drag = 1400000000, 1400000000, 1400000000
rotation_inertia = 1600000000, 1600000000, 1600000000
I take 10 for Radius (just for example)
for x-axis:
angular_acceleration = 43 degree/sec^2 ....that's quite inert...like a BS should be
angular_velocity = 4.275 degree/sec ...that's not enough. In this case the BS would need 80 seconds for a 360° turn, the constant has not the right value.
2. The Spinning Problem
-----------------------------
Like the steering_torque, a ship which hits you causes a torque to your BS:
collision_torque = radius * force (maybe force = nudge_force ?!?)
and because:
angular_acceleration = collision_torque / rotation_inertia
it starts spinning. To avoid this, change the rotation_inertia...this makes the ship inert...to keep it controllable you have to increase the steering_torque...
This is from the first version of the BS:
steering_torque = 250000000.000000, 250000000.000000, 250000000.000000
rotation_inertia = 2540999936.000000, 25806999552.000000, 683700032.000000
angular_drag = 4000000000.000000, 4000000000.000000, 4000000000.000000
as you can see, the z-component of rotation_inertia is very small, just 6*10^8.
This was the problem...(no one reported that the ship started spinning in x or y direction, only z)
3. Nudge Force
-----------------
Imho this is the force which acts when the ship hits another object.
why should this be correct? Because otherwise the game has to calculate it everytime out of mass and velocity by using a delta-function for the kick. That's to much work for such a small aspect of the game...so it uses fixed values.
But maybe I'm totally wrong with this.
4. Camera View
-------------------
I think the camera point of view makes problems. The geometry of the mouse steering point does not fit any more. Maybe that's why larger ships tend to roll...someone an idea?
....i hope it helps. Just some thoughts. No warranty that my interpretation of the physical model is correct.
Rolling is actually caused by the ship type. ex: type = CAPITAL
The control system is mouse compatible with only FIGHTER and FREIGHTER types anything else from transport to station is not fixed to run with mouse support thereby the rolling. Keyboard flight is ok which is why the AI can fly these ships without the roll. Direct fixed directional values unlike highly variable ones that the mouse can give
The control system is mouse compatible with only FIGHTER and FREIGHTER types anything else from transport to station is not fixed to run with mouse support thereby the rolling. Keyboard flight is ok which is why the AI can fly these ships without the roll. Direct fixed directional values unlike highly variable ones that the mouse can give
I will give you guys what i got, this will let players dock with wanderers rh_battleship. Good luck getting any further though. The game crashes since no base for it can be loaded.
[Ship
ids_name = 237005
ids_info = 66503
nickname = rh_battleship_player
LODranges = 0, 500, 1000, 3000, 20000
msg_id_prefix = gcs_refer_shiparch_Rheb
mission_property = can_use_large_moors
type = STATION
DA_archetype = ships\rheinland\rh_battleship\rh_battleship-2.cmp
material_library = ships\rheinland\rh_capships.mat
material_library = fx\envmapbasic.mat
envmap_material = envmapbasic
LODranges = 0, 900, 1200, 3500, 4000, 20000
hold_size = 1000000
hit_pts = 80000
cockpit = cockpits\liberty\rh_battleship.ini
camera_offset = 80, 380
camera_angular_acceleration = 0.050000
camera_horizontal_turn_angle = 23
camera_vertical_turn_up_angle = 5
camera_vertical_turn_down_angle = 30
camera_turn_look_ahead_slerp_amount = 1.000000
fuse = r_battleship_body_fuse, 0.500000, 1
fuse = rh_battleship_burning_fuse02, 0.000000, 17325
explosion_arch = explosion_rh_battleship
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
linear_drag = 1.000000
mass = 100000.000000
nudge_force = 360000.000000
strafe_force = 3000000
nanobot_limit = 1000
shield_limit = 1000
steering_torque = 1200000000, 1200000000, 1200000000
angular_drag = 1400000000, 1400000000, 1400000000
rotation_inertia = 1600000000, 1600000000, 1600000000
nudge_force = 3000000000.000000
strafe_force = 3000000
nanobot_limit = 1000
shield_limit = 1000
mass = 100000.000000
nudge_force = 3000000.000000
HP_bay_surface = HpBayDoor01
HP_bay_external = HpBayDoor02
docking_sphere = berth, HpDockMountA, 2
docking_sphere = moor_medium, HpDockMountB, 5.000000
docking_sphere = moor_large, HpDockMountC, 5.000000
docking_camera = 0
solar_radius = 400
shape_name = NAV_smallstation
HP_tractor_source = HpTractor_Source
num_exhaust_nozzles = 1
hp_type = hp_turret_special_10, HpTurret_R1_01
hp_type = hp_turret_special_10, HpTurret_R1_02
hp_type = hp_turret_special_10, HpTurret_R1_03
hp_type = hp_turret_special_10, HpTurret_R1_04
hp_type = hp_turret_special_9, HpTurret_R2_01
hp_type = hp_turret_special_9, HpTurret_R2_02
hp_type = hp_turret_special_9, HpTurret_R2_03
hp_type = hp_turret_special_9, HpTurret_R2_04
hp_type = hp_turret_special_8, HpTurret_R3_01
hp_type = hp_turret_special_8, HpTurret_R3_02
hp_type = hp_turret_special_8, HpTurret_R3_03
hp_type = hp_turret_special_8, HpTurret_R3_04
hp_type = hp_turret_special_8, HpTurret_R3_05
hp_type = hp_turret_special_8, HpTurret_R3_06
hp_type = hp_turret_special_7, HpTurret_R4_01
hp_type = hp_turret_special_7, HpTurret_R4_04
hp_type = hp_turret_special_7, HpTurret_R4_05
hp_type = hp_turret_special_7, HpTurret_R4_06
hp_type = hp_turret_special_7, HpTurret_R4_07
hp_type = hp_turret_special_6, HpTurret_R4_02
hp_type = hp_turret_special_6, HpTurret_R4_03
shield_link = l_freighter_shield01, HpMount, HpEngine01
hp_type = hp_freighter_shield_special_10, HpEngine01
hp_type = hp_freighter_shield_special_9, HpEngine01
hp_type = hp_freighter_shield_special_8, HpEngine01
hp_type = hp_freighter_shield_special_7, HpEngine01
hp_type = hp_freighter_shield_special_6, HpEngine01
hp_type = hp_freighter_shield_special_5, HpEngine01
hp_type = hp_freighter_shield_special_4, HpEngine01
hp_type = hp_freighter_shield_special_3, HpEngine01
hp_type = hp_freighter_shield_special_2, HpEngine01
hp_type = hp_freighter_shield_special_1, HpEngine01
Also here is the modified ship cmp file rh_battleship-2.cmp
I just removed the baydoor.
Also, i named the ship rh_battleship_player, so either change this or change the other ini's for this to work.
Edited by - troop5 on 26-03-2003 04:18:50
[Ship
ids_name = 237005
ids_info = 66503
nickname = rh_battleship_player
LODranges = 0, 500, 1000, 3000, 20000
msg_id_prefix = gcs_refer_shiparch_Rheb
mission_property = can_use_large_moors
type = STATION
DA_archetype = ships\rheinland\rh_battleship\rh_battleship-2.cmp
material_library = ships\rheinland\rh_capships.mat
material_library = fx\envmapbasic.mat
envmap_material = envmapbasic
LODranges = 0, 900, 1200, 3500, 4000, 20000
hold_size = 1000000
hit_pts = 80000
cockpit = cockpits\liberty\rh_battleship.ini
camera_offset = 80, 380
camera_angular_acceleration = 0.050000
camera_horizontal_turn_angle = 23
camera_vertical_turn_up_angle = 5
camera_vertical_turn_down_angle = 30
camera_turn_look_ahead_slerp_amount = 1.000000
fuse = r_battleship_body_fuse, 0.500000, 1
fuse = rh_battleship_burning_fuse02, 0.000000, 17325
explosion_arch = explosion_rh_battleship
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
linear_drag = 1.000000
mass = 100000.000000
nudge_force = 360000.000000
strafe_force = 3000000
nanobot_limit = 1000
shield_limit = 1000
steering_torque = 1200000000, 1200000000, 1200000000
angular_drag = 1400000000, 1400000000, 1400000000
rotation_inertia = 1600000000, 1600000000, 1600000000
nudge_force = 3000000000.000000
strafe_force = 3000000
nanobot_limit = 1000
shield_limit = 1000
mass = 100000.000000
nudge_force = 3000000.000000
HP_bay_surface = HpBayDoor01
HP_bay_external = HpBayDoor02
docking_sphere = berth, HpDockMountA, 2
docking_sphere = moor_medium, HpDockMountB, 5.000000
docking_sphere = moor_large, HpDockMountC, 5.000000
docking_camera = 0
solar_radius = 400
shape_name = NAV_smallstation
HP_tractor_source = HpTractor_Source
num_exhaust_nozzles = 1
hp_type = hp_turret_special_10, HpTurret_R1_01
hp_type = hp_turret_special_10, HpTurret_R1_02
hp_type = hp_turret_special_10, HpTurret_R1_03
hp_type = hp_turret_special_10, HpTurret_R1_04
hp_type = hp_turret_special_9, HpTurret_R2_01
hp_type = hp_turret_special_9, HpTurret_R2_02
hp_type = hp_turret_special_9, HpTurret_R2_03
hp_type = hp_turret_special_9, HpTurret_R2_04
hp_type = hp_turret_special_8, HpTurret_R3_01
hp_type = hp_turret_special_8, HpTurret_R3_02
hp_type = hp_turret_special_8, HpTurret_R3_03
hp_type = hp_turret_special_8, HpTurret_R3_04
hp_type = hp_turret_special_8, HpTurret_R3_05
hp_type = hp_turret_special_8, HpTurret_R3_06
hp_type = hp_turret_special_7, HpTurret_R4_01
hp_type = hp_turret_special_7, HpTurret_R4_04
hp_type = hp_turret_special_7, HpTurret_R4_05
hp_type = hp_turret_special_7, HpTurret_R4_06
hp_type = hp_turret_special_7, HpTurret_R4_07
hp_type = hp_turret_special_6, HpTurret_R4_02
hp_type = hp_turret_special_6, HpTurret_R4_03
shield_link = l_freighter_shield01, HpMount, HpEngine01
hp_type = hp_freighter_shield_special_10, HpEngine01
hp_type = hp_freighter_shield_special_9, HpEngine01
hp_type = hp_freighter_shield_special_8, HpEngine01
hp_type = hp_freighter_shield_special_7, HpEngine01
hp_type = hp_freighter_shield_special_6, HpEngine01
hp_type = hp_freighter_shield_special_5, HpEngine01
hp_type = hp_freighter_shield_special_4, HpEngine01
hp_type = hp_freighter_shield_special_3, HpEngine01
hp_type = hp_freighter_shield_special_2, HpEngine01
hp_type = hp_freighter_shield_special_1, HpEngine01
Also here is the modified ship cmp file rh_battleship-2.cmp
I just removed the baydoor.
Also, i named the ship rh_battleship_player, so either change this or change the other ini's for this to work.
Edited by - troop5 on 26-03-2003 04:18:50
Hey Wnaderer, I tried the Osiris files that you sent me. Great work. I am sure you know the prolbems with them already but I just wnated to mention that
1. No BShip shield for sale
2. Guns are already mounted
3. Problems with the speed (it continullay jumps from 89 to somewhere near 150).
4. And the turning is like that of a fighter
You don't have to send me any more files because I have the FL mod manager but if you need someone to test something out feel free to contact me. My email is in my profile.
Thanks for the files!
1. No BShip shield for sale
2. Guns are already mounted
3. Problems with the speed (it continullay jumps from 89 to somewhere near 150).
4. And the turning is like that of a fighter
You don't have to send me any more files because I have the FL mod manager but if you need someone to test something out feel free to contact me. My email is in my profile.
Thanks for the files!
OKI DOKI...
Battleship mod works great
But after modding and making the small train and teh large train flyable, purchasable, equipable etc... i realised taht the large train handles more like a battleship should (IMHO) than the osiris mod... maybe should chang the values for the battleship Osiris to paralell those of teh large train?? what do you think?
from {OSIRIS MOD}
steering_torque = 1200000000, 1200000000, 1200000000
rotation_inertia = 1600000000, 1600000000, 1600000000
angular_drag = 1400000000, 1400000000, 1400000000
linear_drag = 2.000000
nudge_force = 25000000000.000000
strafe_force = 3000000
to :
steering_torque = 190000.000000, 190000.000000, 90000.000000
angular_drag = 900000.000000, 900000.000000, 900000.000000
rotation_inertia = 600000.000000, 600000.000000, 600000.000000
nudge_force = 150000.000000
strafe_force = 2000000
from {large Train}
- All we see or seem, is but a dream within a dream. -
Battleship mod works great
But after modding and making the small train and teh large train flyable, purchasable, equipable etc... i realised taht the large train handles more like a battleship should (IMHO) than the osiris mod... maybe should chang the values for the battleship Osiris to paralell those of teh large train?? what do you think?
from {OSIRIS MOD}
steering_torque = 1200000000, 1200000000, 1200000000
rotation_inertia = 1600000000, 1600000000, 1600000000
angular_drag = 1400000000, 1400000000, 1400000000
linear_drag = 2.000000
nudge_force = 25000000000.000000
strafe_force = 3000000
to :
steering_torque = 190000.000000, 190000.000000, 90000.000000
angular_drag = 900000.000000, 900000.000000, 900000.000000
rotation_inertia = 600000.000000, 600000.000000, 600000.000000
nudge_force = 150000.000000
strafe_force = 2000000
from {large Train}
- All we see or seem, is but a dream within a dream. -
Ledgend: Re: No cap shield for sale...
did you change your st_equip.ini & st_good.ini files & market_misc files so you could buy it as in the tutorial?
you need to add the line;
MarketGood = shield01_mark10_cap, 0, -1, 10, 10, 0, 1
to the base where you wish to purchase the shield in market_misc.ini
did you change your st_equip.ini & st_good.ini files & market_misc files so you could buy it as in the tutorial?
you need to add the line;
MarketGood = shield01_mark10_cap, 0, -1, 10, 10, 0, 1
to the base where you wish to purchase the shield in market_misc.ini
I haven't used the small train mod, but if you're implying the Osiris isn't sluggish enough, the answer is NO
C'mon ... the thing handles like a wallowing space pig already. There are probably real life battleships that outturn the thing (not likely, but possible). It's already skirting the boundries of playability ... don't make it worse
C'mon ... the thing handles like a wallowing space pig already. There are probably real life battleships that outturn the thing (not likely, but possible). It's already skirting the boundries of playability ... don't make it worse
Return to Freelancer Editing Tutorial Forum