0.6 plans

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: 0.6 plans

Post by klauss »

Deus Siddis wrote:What does the column Heat_Sink_Rating do, if anything? Does the engine really simulate waste heat or have the ability to or is this dead code?
I've wondered that myself. I don't think the engine simulates it, but I'm not entirely sure. It might play a minor role, but certainly not what you or I would expect.
Deus Siddis wrote:And why don't ships and stations with turrets have Collide_Subunits as True? Won't the turrets not be hit detected this way?
I'm not sure. I'd have to check the sources.
Deus Siddis wrote:
klauss wrote: Asteroid fields. Mine fields. To name two.
Seems like those objects should not be attached to each other in any way. They should be separate units altogether.
No, you want to place those fields as if they were one single unit, both in the .system files, and when you target, you want to target the field as a whole, not each singular asteroid or mine. At least from a navigation standpoint.

Granted, the system needs some refinement, but in general you want to treat the field as a whole unit, and the asteroids/mines as components.
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: 0.6 plans

Post by Deus Siddis »

Done, here's the split CSV files...
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: 0.6 plans

Post by klauss »

I see you didn't split columns for vessels... you can, you know... if you want...

Say, vessels_stats, vessels_geometry, vessels_blah. The engine will combine the columns.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
charlieg
Elite Mercenary
Elite Mercenary
Posts: 1329
Joined: Thu Mar 27, 2003 11:51 pm
Location: Manchester, UK
Contact:

Re: 0.6 plans

Post by charlieg »

Totally not helpful, but CSV is probably quite a tough to work with without a dedicated editor.

Something more like windows ini syntax would be much easier...

Code: Select all

[ship]
name=Vigilante
class=frigate
etc
I know, I know... work with what ya got. ;)
Free Gamer - free software games compendium and commentary!
FreeGameDev forum - open source game development community
Deus Siddis
Elite
Elite
Posts: 1363
Joined: Sat Aug 04, 2007 3:42 pm

Re: 0.6 plans

Post by Deus Siddis »

klauss wrote: I see you didn't split columns for vessels... you can, you know... if you want...

Say, vessels_stats, vessels_geometry, vessels_blah. The engine will combine the columns.
You're right. Delete what I uploaded before and instead use what's attached to this post. I have split the files even more based on stats-versus-art.
You do not have the required permissions to view the files attached to this post.
Deus Siddis
Elite
Elite
Posts: 1363
Joined: Sat Aug 04, 2007 3:42 pm

Re: 0.6 plans

Post by Deus Siddis »

charlieg wrote:Totally not helpful, but CSV is probably quite a tough to work with without a dedicated editor.

Something more like windows ini syntax would be much easier...

Code: Select all

[ship]
name=Vigilante
class=frigate
etc
I know, I know... work with what ya got. ;)
That would be tremendously better than working with spreadsheets. Unfortunately it is a politically unpopular idea because VS originally moved to spreadsheets from individual text files like that.

But spreadsheets are a disaster because after you scroll past the left and top most edges of the file, you can no longer tell what stat or what unit you are editing. You are lost in a grid-shaped sea of numbers, strings and arcane semicolon separated lists that would make even Neo go cross-eyed.
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: 0.6 plans

Post by klauss »

Deus Siddis wrote:But spreadsheets are a disaster because after you scroll past the left and top most edges of the file, you can no longer tell what stat or what unit you are editing. You are lost in a grid-shaped sea of numbers, strings and arcane semicolon separated lists that would make even Neo go cross-eyed.
Come on... even libreoffice has split view.

If they're bad, they're bad for the same reason ini files would be bad: flat structure, while VS needs rather deep nesting.
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: 0.6 plans

Post by Deus Siddis »

klauss wrote: Come on... even libreoffice has split view.
Well that helps. But your eyes still easily lose track of their place in the ocean of data. Which is why we are breaking up the ocean into smaller seas. And then rendering obsolete the .blank ships in the near future so that there are half as many rows in the new vessels.csv.

Speaking of which, there is some similar nonsense going on with turrets. There seems to be two entries for each turret upgrade, one for the base and the other for the gun barrels. Essentially every turret is two unique subunits, and for some reason each one has all its own entries for reactor, radar, capacitor, etc. I wouldn't be surprised if each one has its own AI as well. I wonder how much more efficient it would be if turrets had their own specialized code, instead of being another example of VS frankensteining a feature together out of subunits?
If they're bad, they're bad for the same reason ini files would be bad: flat structure, while VS needs rather deep nesting.
You mean like JSON or YAML has?
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: 0.6 plans

Post by klauss »

Deus Siddis wrote: Speaking of which, there is some similar nonsense going on with turrets. There seems to be two entries for each turret upgrade, one for the base and the other for the gun barrels. Essentially every turret is two unique subunits, and for some reason each one has all its own entries for reactor, radar, capacitor, etc. I wouldn't be surprised if each one has its own AI as well. I wonder how much more efficient it would be if turrets had their own specialized code, instead of being another example of VS frankensteining a feature together out of subunits?
Turning. It's a way of getting the proper animation out of them. Horrible. If we ever implement a better way of animating units, I'd replace that in a jiffy. But that's not possible now. You need a subunit constrained to the X axis, and that one in turn needs a subunit constrained to the Y axis (or something like that), so you get things working the right way. Overly complex if you ask me, but we don't have the manpower now to change that.
Deus Siddis wrote:
If they're bad, they're bad for the same reason ini files would be bad: flat structure, while VS needs rather deep nesting.
You mean like JSON or YAML has?
Huh.. I hadn't considered JSON. That might work.

YAML is too free-form for my taste.
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: 0.6 plans

Post by Deus Siddis »

klauss wrote: Turning. It's a way of getting the proper animation out of them. Horrible. If we ever implement a better way of animating units, I'd replace that in a jiffy. But that's not possible now. You need a subunit constrained to the X axis, and that one in turn needs a subunit constrained to the Y axis (or something like that), so you get things working the right way. Overly complex if you ask me, but we don't have the manpower now to change that.
OGRE save us.
Huh.. I hadn't considered JSON. That might work.
Also, Python has built-in support for JSON and its syntax is not hideous like XML.
Deus Siddis
Elite
Elite
Posts: 1363
Joined: Sat Aug 04, 2007 3:42 pm

Re: 0.6 plans

Post by Deus Siddis »

Here's the ticket--
Split CSV Support wrote: Support for the data of the CSV files units.csv and master_part_list.csv being split by both rows and columns into several component files to be defined in vegastrike.config in the lists "data_files_units" and "data_files_items".

Any necessary column or row missing in a component file will be interpreted as all default values (probably zeros).
Sound acceptable? Did you say schedule it for 0.5.2?
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: 0.6 plans

Post by klauss »

Yes and yes. I'm already looking into it. Just got a bit of unexpected RL obstacles this weekend.
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: 0.6 plans

Post by Deus Siddis »

Now that split CSV support is on the way, what do you think about merging units.csv and master_part_list.csv?

If they were merged then they could be split in any arbitrary way. Vessels and upgrades could have their mass and volume stored along with their other stats. Their moment of inertia value could affect the turning rates of the ship they attached to. We wouldn't have two copies of textual descriptions and mass for each item. And trade items could be stored in a separate file from vessels and upgrades.
klauss wrote:Yes and yes. I'm already looking into it. Just got a bit of unexpected RL obstacles this weekend.
What is the ETA on 0.5.2, by the way?
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: 0.6 plans

Post by klauss »

Deus Siddis wrote:Now that split CSV support is on the way, what do you think about merging units.csv and master_part_list.csv?
I don't see how this ripples, so not yet. AFAIK, they're separate, because they're indeed different entities, so merging them would be like merging a dog and a screwdriver. The only thing in common they have, is that they're both CSVs (made of atoms, in the dog analogy).

Without a deeper understanding of their works, I dare not change it anywhere near that drastically.
Deus Siddis wrote:What is the ETA on 0.5.2, by the way?
No idea. If RL keeps getting in the way, it could be a while. It will be ready when it's ready.
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: 0.6 plans

Post by Deus Siddis »

klauss wrote: I don't see how this ripples, so not yet. AFAIK, they're separate, because they're indeed different entities, so merging them would be like merging a dog and a screwdriver. The only thing in common they have, is that they're both CSVs (made of atoms, in the dog analogy).
Well basically every entry in units.csv get's sold somewhere or will eventually. And the volume and mass of upgrades should be found in units along with all their other physical stats but these values are stored in MPL (which is deceptive and inconvenient). So there is quite a lot of overlap and not a clear distinction between what should be in units and what should be in MPL.

If a merge is too drastic, what about moving some columns from one to the other?
No idea. If RL keeps getting in the way, it could be a while. It will be ready when it's ready.
Would now (pre-0.5.2) be a bad time for me to start converting vessels and installations over to a fully upgrade based design? Will it make merging changes difficult for you if I sent them in as an un-split units.csv file (since I won't be able to test my changes on the split CSV files until the 0.5.2 release)? Should I hold off on any additional physics tweaks for the same reason?
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: 0.6 plans

Post by klauss »

Deus Siddis wrote:
klauss wrote: I don't see how this ripples, so not yet. AFAIK, they're separate, because they're indeed different entities, so merging them would be like merging a dog and a screwdriver. The only thing in common they have, is that they're both CSVs (made of atoms, in the dog analogy).
Well basically every entry in units.csv get's sold somewhere or will eventually. And the volume and mass of upgrades should be found in units along with all their other physical stats but these values are stored in MPL (which is deceptive and inconvenient). So there is quite a lot of overlap and not a clear distinction between what should be in units and what should be in MPL.
It may be inconvenient, but there is a very clear distinction. Everything in MPL is a trade item. Everything in units is a unit. There's no overlap, except in the sense that some units can be bought as trade items (cargo escorts and player-flyable ships), and that upgrades appear also in units.csv because they modify units.

At the very most, I'd grant you that upgrades shouldn't be on units.csv, and in the MPL instead. Or a separate "upgrades.csv".

But, certainly, there's no overlap between "trade item" and "unit". They're two very different game entities, with only upgrades combining both concepts.
Deus Siddis wrote:Would now (pre-0.5.2) be a bad time for me to start converting vessels and installations over to a fully upgrade based design?
The engine doesn't work like that, and although you're free to work on such a CSV, the fact that the engine will not parse it will be a blocker for you. And the fact that I want to concentrate on the tasks needed for 0.5.2 will be a blocker for me.

It is kind of inconvenient to work on that now.
Deus Siddis wrote:Will it make merging changes difficult for you if I sent them in as an un-split units.csv file (since I won't be able to test my changes on the split CSV files until the 0.5.2 release)? Should I hold off on any additional physics tweaks for the same reason?
I don't get your point. Split CSV support should come to trunk before anything else...
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: 0.6 plans

Post by Deus Siddis »

klauss wrote: It may be inconvenient, but there is a very clear distinction. Everything in MPL is a trade item. Everything in units is a unit.
Right, but the mass and volume of a vessel or vessel upgrade has little to do with trade and everything to do with the physical properties of units, their upgrades and how the two are put together and affect each other. The mass of an upgrade makes a ship move slower. The volume of an upgrade determines how many can be installed on a given ship.
The engine doesn't work like that, and although you're free to work on such a CSV, the fact that the engine will not parse it will be a blocker for you.
I believe the engine has rudimentary support for it even now. As you uncovered on another thread, by adding an upgrade to both a unit's upgrade and cargo columns, it is treated as a separate, modular upgrade. It is a pain to work with because each column takes a long, unique list of variables per each upgrade, but if 0.5.3 is a year out, it might make some sense for me to get started before then.
I don't get your point. Split CSV support should come to trunk before anything else...
My understanding of SVN is poor so I apologize for the confusion I am causing here...

Let's say you merge the split CSV files into trunk a week from now. And then two weeks from now I submit a physics rebalance tweak based on the old, unsplit units.csv file from before. Does this create a lot of extra work, merging these two incompatible file changes?
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: 0.6 plans

Post by klauss »

Deus Siddis wrote:
klauss wrote: It may be inconvenient, but there is a very clear distinction. Everything in MPL is a trade item. Everything in units is a unit.
Right, but the mass and volume of a vessel or vessel upgrade has little to do with trade and everything to do with the physical properties of units, their upgrades and how the two are put together and affect each other. The mass of an upgrade makes a ship move slower. The volume of an upgrade determines how many can be installed on a given ship.
It has a lot to do with it. Trade items also have mass. In fact, upgrade mass is more related to trade item mass, than it is to unit mass.
Deus Siddis wrote:
The engine doesn't work like that, and although you're free to work on such a CSV, the fact that the engine will not parse it will be a blocker for you.
I believe the engine has rudimentary support for it even now. As you uncovered on another thread, by adding an upgrade to both a unit's upgrade and cargo columns, it is treated as a separate, modular upgrade. It is a pain to work with because each column takes a long, unique list of variables per each upgrade, but if 0.5.3 is a year out, it might make some sense for me to get started before then.
In that sense, as long as there are no required engine updates, I guess we can review the patches as they come. If it's not that redundancy what you want to remove with the patches... what is it?
Deus Siddis wrote: Let's say you merge the split CSV files into trunk a week from now. And then two weeks from now I submit a physics rebalance tweak based on the old, unsplit units.csv file from before. Does this create a lot of extra work, merging these two incompatible file changes?
Yes, it might be unusable. Anything you submit after the split, should be based on the split.
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: 0.6 plans

Post by Deus Siddis »

klauss wrote: It has a lot to do with it. Trade items also have mass. In fact, upgrade mass is more related to trade item mass, than it is to unit mass.
What about moment of inertia?
In that sense, as long as there are no required engine updates, I guess we can review the patches as they come. If it's not that redundancy what you want to remove with the patches... what is it?
The goal would be to get rid of .blank ships and ships that have built in stats. I would replace them both with ships that have no built in stats that overlap those upgrades already provide but instead come fully equipped with upgrades (and weapons).
Yes, it might be unusable. Anything you submit after the split, should be based on the split.
Hmm, I wouldn't be able to test my changes then using the latest release. I guess this will have to wait then.
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: 0.6 plans

Post by klauss »

Deus Siddis wrote:
klauss wrote: It has a lot to do with it. Trade items also have mass. In fact, upgrade mass is more related to trade item mass, than it is to unit mass.
What about moment of inertia?
I have no idea about that.
Deus Siddis wrote:
In that sense, as long as there are no required engine updates, I guess we can review the patches as they come. If it's not that redundancy what you want to remove with the patches... what is it?
The goal would be to get rid of .blank ships and ships that have built in stats. I would replace them both with ships that have no built in stats that overlap those upgrades already provide but instead come fully equipped with upgrades (and weapons).
I think that would bump into an obstacle or two, if you tried to do it without engine support. First, there's multplier upgrades. Those require some base stats. Then, there's the dynamic universe, that needs some base stats to make fully-functional NPCs. We had talked about this, it's doable, but I don't think without touching the engine side of things.

Luckily, most of the dynamic universe stuff is python, and not very complex python at that.

But that kind of exploration is what you're doing, you'll find out about the obstacles once you've hit them. So, lets get the split done, and then this. If we need engine modifications, we can push it to a later release. If not, it can go in 0.5.2.
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: 0.6 plans

Post by Deus Siddis »

klauss wrote: I think that would bump into an obstacle or two, if you tried to do it without engine support. First, there's multplier upgrades. Those require some base stats.
Then, there's the dynamic universe, that needs some base stats to make fully-functional NPCs. We had talked about this, it's doable, but I don't think without touching the engine side of things.
Luckily, most of the dynamic universe stuff is python, and not very complex python at that.
But that kind of exploration is what you're doing, you'll find out about the obstacles once you've hit them. So, lets get the split done, and then this. If we need engine modifications, we can push it to a later release. If not, it can go in 0.5.2.
So to be clear, are you saying I should shelve this idea until sometime before 0.5.2, after 0.5.2 or after 0.5.3?
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: 0.6 plans

Post by klauss »

I'm saying you should probably either wait until I've got the split CSV done, or work it blindly on the split CSVs you've already posted, but in either case expect some trouble in the process. If there is bigger trouble than we can afford, yes, we'll shelve it for 0.5.3. If the issues are easily solvable, though, it might get into 0.5.2. No reason for you to *stop* working, but you should organize yourself assuming some stuff might go south.

For instance, if all that is required are python modifications, it might take me some time to get them done, but once I do, you'll be able to use them (no new binary would be required). You won't be able to test anything until I do, 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: 0.6 plans

Post by Deus Siddis »

Alright, I will try to focus on other things until after 0.5.2 then.

Split CSV Support feature request posted, added to road map for 0.5.2.
TBeholder
Elite Venturer
Elite Venturer
Posts: 753
Joined: Sat Apr 15, 2006 2:40 am
Location: chthonic safety

Re: 0.6 plans

Post by TBeholder »

Deus Siddis wrote:What does the column Heat_Sink_Rating do, if anything? Does the engine really simulate waste heat or have the ability to or is this dead code?
Searching references gives: 1 in src/cmd/unit_generic.h (declaration), 4 uses in src/cmd/unit_generic.cpp (initialization and STDUPGRADE only), 2 in src/cmd/unit_csv.cpp (stof/tos). So yeah, not used. IIRC it was used as a multiplier to rate of fire adjusted by upgrades, but this raised more questions than answered, so IMHO it's sort of reserved until the model is expanded into area when it can be meaningful.
Deus Siddis wrote:And why don't ships and stations with turrets have Collide_Subunits as True? Won't the turrets not be hit detected this way?
Because subunits of turrets are guns (with a mesh and 1 DoF to raise)?
No idea about stations - maybe because it would be too easy to strip a fortress (with lasers)?
"Two Eyes Good, Eleven Eyes Better." -Michele Carter
Deus Siddis
Elite
Elite
Posts: 1363
Joined: Sat Aug 04, 2007 3:42 pm

Re: 0.6 plans

Post by Deus Siddis »

TBeholder wrote: Searching references gives: 1 in src/cmd/unit_generic.h (declaration), 4 uses in src/cmd/unit_generic.cpp (initialization and STDUPGRADE only), 2 in src/cmd/unit_csv.cpp (stof/tos). So yeah, not used. IIRC it was used as a multiplier to rate of fire adjusted by upgrades, but this raised more questions than answered, so IMHO it's sort of reserved until the model is expanded into area when it can be meaningful.
Alright then the Heat_Sinks_Rating column should get deleted...
Because subunits of turrets are guns (with a mesh and 1 DoF to raise)?
No idea about stations - maybe because it would be too easy to strip a fortress (with lasers)?
The Collide_Subunits column is empty for all vessels, turret bases and turret guns. It isn't used for anything besides asteroids, which seems strange since turrets are supposed to be destructible.
Post Reply