Acceleration, physics, and other ship enhancements/rebalance

Development directions, tasks, and features being actively implemented or pursued by the development team.
Post Reply
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: Acceleration, physics, and other ship enhancements/rebal

Post by klauss »

Deus Siddis wrote:
klauss wrote: But if you do, since you'll remove .civvie variants, make sure to update faction_ships.py and ship_upgrades.py
...
So, if you remove .civvie ships, the distinction between civilian and military factions has to be done there. In ship_upgrades.
What is in ships_upgrades.py that is specific to .civvie craft? I don't see anything that directly involves them in there.
Nothing. Hence the problem. Currently, .civvie units are used as base for civilians, so any additional upgrades ship_upgrades does are, well, additional. Furthermore, it doesn't seem to do main weapon loadouts (only turrets). So, if faction_ships only instanced .blanks, then no ship would have weapons, and if you fixed ship_upgrades to add weapons, civilians would be no different from militaries (which is another bug).

So, that has to be compensated by coding, if you remove the units.csv variants. I'd prefer the distinction being made by scripts than by units.csv.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
Deus Siddis
Elite
Elite
Posts: 1363
Joined: Sat Aug 04, 2007 3:42 pm

Re: Acceleration, physics, and other ship enhancements/rebal

Post by Deus Siddis »

klauss wrote: Furthermore, it doesn't seem to do main weapon loadouts (only turrets). So, if faction_ships only instanced .blanks, then no ship would have weapons, and if you fixed ship_upgrades to add weapons, civilians would be no different from militaries (which is another bug).
But that's why we have unsuffixed ships as well as .blanks, right? We need the unsuffixed ships anyway for armed and outfitted cargo wingmen, so all military craft can be unsuffixed models with their preset weapon load-outs and most civilian craft can be .blanks with their dynamic upgrades and unarmed-ness.

Adding dynamic weapon installation to ship_upgrades is a worthy goal, but it's out of the scope of cleaning up units.csv and should be a separate task. Plus while I have an understanding of Python, I'm still very unfamiliar with VS' modules and engine interface and a lot of this stuff isn't super well documented IMHO. I can change values or remove items from lists, but adding all new functionality like that might be beyond me at the moment.
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: Acceleration, physics, and other ship enhancements/rebal

Post by klauss »

Deus Siddis wrote:
klauss wrote: Furthermore, it doesn't seem to do main weapon loadouts (only turrets). So, if faction_ships only instanced .blanks, then no ship would have weapons, and if you fixed ship_upgrades to add weapons, civilians would be no different from militaries (which is another bug).
But that's why we have unsuffixed ships as well as .blanks, right? We need the unsuffixed ships anyway for armed and outfitted cargo wingmen, so all military craft can be unsuffixed models with their preset weapon load-outs and most civilian craft can be .blanks with their dynamic upgrades and unarmed-ness.
Totally unarmed? Isn't that extreme?
Deus Siddis wrote:Adding dynamic weapon installation to ship_upgrades is a worthy goal, but it's out of the scope of cleaning up units.csv and should be a separate task. Plus while I have an understanding of Python, I'm still very unfamiliar with VS' modules and engine interface and a lot of this stuff isn't super well documented IMHO. I can change values or remove items from lists, but adding all new functionality like that might be beyond me at the moment.
I imagine... I just noticed this as we were discussing i.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
Deus Siddis
Elite
Elite
Posts: 1363
Joined: Sat Aug 04, 2007 3:42 pm

Re: Acceleration, physics, and other ship enhancements/rebal

Post by Deus Siddis »

klauss wrote: Totally unarmed? Isn't that extreme?
Or half and half. Half of civilian craft are suffix-less and the other is .blanks. Or some other ratio or even all of civilians can be suffix-less... Plus didn't you say ship_upgrades.py outfits all .blanks with the "laser" weapon by default? If so then they wouldn't be totally unarmed.

My only agenda for this next patch is to cull everything except the suffix-less and .blank variants and equalize their base stats so that the only difference between a suffix-less and a .blank of the same class, is the former has a standard load-out of upgrades and weapons while the latter has whatever ship_upgrades.py dynamically gives it.

Then at some time in the future, someone should amend ship_upgrades.py to support more weapons and put only equipment from faction N on faction N's ships.
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: Acceleration, physics, and other ship enhancements/rebal

Post by klauss »

Deus Siddis wrote:
klauss wrote: Totally unarmed? Isn't that extreme?
Or half and half. Half of civilian craft are suffix-less and the other is .blanks. Or some other ratio or even all of civilians can be suffix-less... Plus didn't you say ship_upgrades.py outfits all .blanks with the "laser" weapon by default? If so then they wouldn't be totally unarmed.
Ah, good point.
Deus Siddis wrote:My only agenda for this next patch is to cull everything except the suffix-less and .blank variants and equalize their base stats so that the only difference between a suffix-less and a .blank of the same class, is the former has a standard load-out of upgrades and weapons while the latter has whatever ship_upgrades.py dynamically gives it.

Then at some time in the future, someone should amend ship_upgrades.py to support more weapons and put only equipment from faction N on faction N's ships.
Sure, especially if civvies don't end up totally unarmed, sounds like a good plan.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
Deus Siddis
Elite
Elite
Posts: 1363
Joined: Sat Aug 04, 2007 3:42 pm

Re: Acceleration, physics, and other ship enhancements/rebal

Post by Deus Siddis »

So I removed all the junk ships from units, faction_ships and master_part_list and the game hasn't exploded and stderr has only the ordinary horde of error messages. It is amazing how much less junk there is to sort through now in units' vessel section. The next step is to eliminate all the non-equipment differences between suffixless and blank ships.

I have also come up with another proposed improvement that I would like to roll into this patch. It is to make the rebalanced suffixless ships the ones that are for sale at shipyards. That way you start with a ship that a has a reasonable set of starting upgrades, instead of bottom of the barrel junk equipment that you always sell off or a 'batteries not included' blank. Start with a competently outfitted ship and then customize it to your liking. Should make the game more accessible too, by not forcing newbes to understand all the intricacies of the upgrade system the first time they buy a new ship.
Deus Siddis
Elite
Elite
Posts: 1363
Joined: Sat Aug 04, 2007 3:42 pm

Re: Acceleration, physics, and other ship enhancements/rebal

Post by Deus Siddis »

Okay Klauss I have another question for you and possibly a bug.

I don't understand where the engine is pulling the upgrade masses from, but it's not units.csv. Take reactors for example, in units each reactor has a mass and moment of intertia of value 10; each class of reactor has that same value in the dataset. But in game reactors obviously have very different mass which increases with the size of the reactor.

Where is the mass of a particular upgrade stored? How does the engine come up with these masses that are so inconsistent with what is in units.csv?
Hicks
Bounty Hunter
Bounty Hunter
Posts: 153
Joined: Sat Oct 22, 2011 9:17 am

Re: Acceleration, physics, and other ship enhancements/rebal

Post by Hicks »

try the master parts list
Deus Siddis
Elite
Elite
Posts: 1363
Joined: Sat Aug 04, 2007 3:42 pm

Re: Acceleration, physics, and other ship enhancements/rebal

Post by Deus Siddis »

Hicks wrote:try the master parts list
You are right, thanks.

And this is totally insane, the physical stats of an upgrade should all be kept in one place. Klauss, when the units data gets refactored the applied mass and volume values for ships and upgrades should be stored in units.csv (and later its descendants when it gets broken up).
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: Acceleration, physics, and other ship enhancements/rebal

Post by klauss »

Deus Siddis wrote:
Hicks wrote:try the master parts list
You are right, thanks.

And this is totally insane, the physical stats of an upgrade should all be kept in one place. Klauss, when the units data gets refactored the applied mass and volume values for ships and upgrades should be stored in units.csv (and later its descendants when it gets broken up).
I believe there was a reason for using MPL - but I can't remember which. I'll grope a bit.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
Deus Siddis
Elite
Elite
Posts: 1363
Joined: Sat Aug 04, 2007 3:42 pm

Re: Acceleration, physics, and other ship enhancements/rebal

Post by Deus Siddis »

I have discovered another bug in the units system- the game merges upgrades into a ship's stats so that they can no longer be sold off. So if I define a llama as having a reactor02 upgrade in the "Upgrades" column of units.csv, then when you boot up the game the reactor's mass and energy generation stats will be merged into the llama stats and you won't be able to sell the reactor or see that the ship was equipped with it.

This is blocking my efforts to make ships fully upgrade-based.
klauss wrote: I believe there was a reason for using MPL - but I can't remember which. I'll grope a bit.
I think the reason is, there's already a mass column in MPL for trade items, so they decided to "reuse" it for upgrades (but apparently not ships). What should happen is trade items should be split off into their own file which holds all the information relevant to them in one place. And then the mass column should be removed from MPL and the volume column should be moved over to units.csv.
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: Acceleration, physics, and other ship enhancements/rebal

Post by klauss »

Deus Siddis wrote:I have discovered another bug in the units system- the game merges upgrades into a ship's stats so that they can no longer be sold off. So if I define a llama as having a reactor02 upgrade in the "Upgrades" column of units.csv, then when you boot up the game the reactor's mass and energy generation stats will be merged into the llama stats and you won't be able to sell the reactor or see that the ship was equipped with it.

This is blocking my efforts to make ships fully upgrade-based.
What do you mean you can't sell it? AFAIK, as long as the stats merge is un-doable, it should be sell-able.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
Deus Siddis
Elite
Elite
Posts: 1363
Joined: Sat Aug 04, 2007 3:42 pm

Re: Acceleration, physics, and other ship enhancements/rebal

Post by Deus Siddis »

klauss wrote: What do you mean you can't sell it? AFAIK, as long as the stats merge is un-doable, it should be sell-able.
But it isn't; try it.

Any upgrade that is put in the ship's Upgrade column will be irreversibly merged with the ship. You can't sell it and you can't see that it is installed but its effects are permanently applied to that ship. And you can apply another upgrade of the same type on top of it even if only one is allowed. The game obviously isn't remembering any upgrades installed via the Upgrades column.

This doesn't happen with weapons. Weapons assigned in units.csv will be treated as separate parts that can be sold off. But not upgrades.
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: Acceleration, physics, and other ship enhancements/rebal

Post by klauss »

Deus Siddis wrote:
klauss wrote: What do you mean you can't sell it? AFAIK, as long as the stats merge is un-doable, it should be sell-able.
But it isn't; try it.

Any upgrade that is put in the ship's Upgrade column will be irreversibly merged with the ship. You can't sell it and you can't see that it is installed but its effects are permanently applied to that ship. And you can apply another upgrade of the same type on top of it even if only one is allowed. The game obviously isn't remembering any upgrades installed via the Upgrades column.

This doesn't happen with weapons. Weapons assigned in units.csv will be treated as separate parts that can be sold off. But not upgrades.
Ah... I remember now. I think you have to add it to the Cargo column too.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
Deus Siddis
Elite
Elite
Posts: 1363
Joined: Sat Aug 04, 2007 3:42 pm

Re: Acceleration, physics, and other ship enhancements/rebal

Post by Deus Siddis »

klauss wrote: Ah... I remember now. I think you have to add it to the Cargo column too.
That is a really convoluted way to achieve such a basic result. Especially when each ship needs a cell under Cargo that looks like this or worse--

Code: Select all

{skyscope1;upgrades/Sensors/Common;200;1;0.01;1;1;1;@upgrades/skyscope_alpha.png@Refurbished Part;0}
{capacitor02;upgrades/Capacitors/Standard;200;1;4;4;1;1;@upgrades/capacitor.png@Refurbished Part;0}
{reactor02;upgrades/Reactors/Standard;200;1;2;3.5;1;1;@upgrades/reactor.png@Refurbished Part;0}
{add_spec_capacitor01;upgrades/SPEC_Capacitors;200;1;5;4;1;1;@upgrades/reactor_capacitance.png@Refurbished Part;0}{quadshield02;upgrades/Shield_Systems/Standard_Quad_Shields;200;1;2;8;1;1;@upgrades/shield.png@Refurbished Part;0}
{armor02;upgrades/Armor;200;1;20;0;1;1;@cargo/plasteel.png@Refurbished Part;0}
... and with each item needing to match what is in the cell under Upgrades but translated into a completely different format. With features like these who needs bugs.

Why can't upgrades be treated the way weapons are? You add them in one column (Upgrades), the engine remembers that they are separate items, and then when you go to sell them it automatically searches master_part_list for the appropriate sell price, picture and such?

What is in the Upgrades column needs be treated this way. Would this be a small enough change that it can be made a priority for the next release?
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: Acceleration, physics, and other ship enhancements/rebal

Post by klauss »

Deus Siddis wrote: ... and with each item needing to match what is in the cell under Upgrades but translated into a completely different format. With features like these who needs bugs.
Lol... yeah, VS could do that automatically I guess.
Deus Siddis wrote:Why can't upgrades be treated the way weapons are? You add them in one column (Upgrades), the engine remembers that they are separate items, and then when you go to sell them it automatically searches master_part_list for the appropriate sell price, picture and such?
Because upgrades modify ship stats, so the stats need to be updated when adding upgrades.

I had a plan to have two sets of stats in the code, the blank stats, sans-upgrades, and the upgraded one. Units.csv would then only have the blank stats, and everything would work wonderfully. When you change the upgrades list, the upgraded stats would be re-computed (this includes damaged upgrades), and we'd have no bugs.

I never got around to doing it though.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
Deus Siddis
Elite
Elite
Posts: 1363
Joined: Sat Aug 04, 2007 3:42 pm

Re: Acceleration, physics, and other ship enhancements/rebal

Post by Deus Siddis »

klauss wrote: Because upgrades modify ship stats, so the stats need to be updated when adding upgrades.
But they really shouldn't be ship stats at all should they? The columns that ships use and the columns a particular category of upgrade use should be mutually exclusive, with the exception of mass, moment of intertia, volume and price.

Ships should just have stats for hull durability, engine forces/torques and angular/linear speed governors, cargo space, mounts, etc. It shouldn't have armor stats, because we have armor upgrades for that and it shouldn't have reactor stats because we have reactor upgrades for that. Right?
I had a plan to have two sets of stats in the code, the blank stats, sans-upgrades, and the upgraded one. Units.csv would then only have the blank stats, and everything would work wonderfully. When you change the upgrades list, the upgraded stats would be re-computed (this includes damaged upgrades), and we'd have no bugs.

I never got around to doing it though.
We need this system sooner rather than later.

On the engine side of things, VS isn't too far away from being a fun game. It is missing key features in places yet there is a lot it already does fairly well. But you can't tell this just by playing it because it's 'game balancing' is so piss poor. Fortunately this sort of thing can be fixed entirely on the content / data side with not much changed in the engine. And the broad strokes patches I have been putting out should show at least a glimmer that this is the case.

Unfortunately, doing the actual fine balancing that will make the game truly fun and polished, will take forever if modding improvements like what you suggested above don't make it on to the priority list. Because balancing is highly iterative work- "change x, change y, test, change x back, change z..." So if you are balancing a ship against others via the upgrades it carries, then each time you make one of these changes, it will mean a lot of hiding rows and columns and scrolling and searching because there are so many unused columns and ship dot variants and nameless variables in lists that you have to look up, etc., then changing multiple variables to change one installed upgrade and subsequently introducing bugs. And given the highly iterative nature of balancing where each change is more of an experiment than a step forward... we never get anywhere. The game doesn't move beyond it's tech demo feel and the user base does not recover.
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: Acceleration, physics, and other ship enhancements/rebal

Post by klauss »

Deus Siddis wrote: We need this system sooner rather than later.
Quickest mod that would ease your burden, would be to automatically insert the upgrade into the cargo list.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
Deus Siddis
Elite
Elite
Posts: 1363
Joined: Sat Aug 04, 2007 3:42 pm

Re: Acceleration, physics, and other ship enhancements/rebal

Post by Deus Siddis »

klauss wrote: Quickest mod that would ease your burden, would be to automatically insert the upgrade into the cargo list.
That would be most helpful. Could it be done in time for 0.5.1r2?
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: Acceleration, physics, and other ship enhancements/rebal

Post by klauss »

Deus Siddis wrote:
klauss wrote: Quickest mod that would ease your burden, would be to automatically insert the upgrade into the cargo list.
That would be most helpful. Could it be done in time for 0.5.1r2?
Probably...
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
safemode
Developer
Developer
Posts: 2150
Joined: Mon Apr 23, 2007 1:17 am
Location: Pennsylvania
Contact:

Re: Acceleration, physics, and other ship enhancements/rebal

Post by safemode »

what's the current state of the patch? It's in py3 branch and I'd like to keep it in sync with here.
Ed Sweetman endorses this message.
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: Acceleration, physics, and other ship enhancements/rebal

Post by klauss »

safemode wrote:what's the current state of the patch? It's in py3 branch and I'd like to keep it in sync with here.
Well, I'm merging py3, so pretty much in sync ;)
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
safemode
Developer
Developer
Posts: 2150
Joined: Mon Apr 23, 2007 1:17 am
Location: Pennsylvania
Contact:

Re: Acceleration, physics, and other ship enhancements/rebal

Post by safemode »

this patch isn't in mainline.. that's what i meant by in sync. I want the py3 branch to have the current re-balance and unit mods that are being done in this thread.
Ed Sweetman endorses this message.
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: Acceleration, physics, and other ship enhancements/rebal

Post by klauss »

safemode wrote:this patch isn't in mainline.. that's what i meant by in sync. I want the py3 branch to have the current re-balance and unit mods that are being done in this thread.
Well... it will be in sync by the time I'm finished merging, that's what I meant. I'm having trouble getting the PyInit_VS thing fixed, I think I have merged all revisions related to that, and I still get the error.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
safemode
Developer
Developer
Posts: 2150
Joined: Mon Apr 23, 2007 1:17 am
Location: Pennsylvania
Contact:

Re: Acceleration, physics, and other ship enhancements/rebal

Post by safemode »

klauss wrote:
safemode wrote:this patch isn't in mainline.. that's what i meant by in sync. I want the py3 branch to have the current re-balance and unit mods that are being done in this thread.
Well... it will be in sync by the time I'm finished merging, that's what I meant. I'm having trouble getting the PyInit_VS thing fixed, I think I have merged all revisions related to that, and I still get the error.

I'm not sure why the merging is a problem. Just overwrite the trunk branch with all the changes since py3 was split and you'll be good.
Ed Sweetman endorses this message.
Post Reply