WCU Database Design & Documentation
-
- Site Administrator
- Posts: 1089
- Joined: Thu Jan 02, 2003 10:07 am
- Contact:
Note to self for i18n support.
(Table_Missile) Normalize Missile_Type Change name to Missile Class, for consistency.
(Table_Guns) Normalize Gun_Class
(Table_System) Normalize System_Alises
All Types are text, all Description are memos.
i18n support will consist one table, with IDNum+TableName as a Unique Key, Text Field, and Memo Field.
Anything else?
(Table_Missile) Normalize Missile_Type Change name to Missile Class, for consistency.
(Table_Guns) Normalize Gun_Class
(Table_System) Normalize System_Alises
All Types are text, all Description are memos.
i18n support will consist one table, with IDNum+TableName as a Unique Key, Text Field, and Memo Field.
Anything else?
I know you believe you understand what you think I said.
But I am not sure you realize that what you heard is not what I meant.
Wing Commander Universe Forum | Wiki
Wing Commander: The Wasteland Incident
But I am not sure you realize that what you heard is not what I meant.
Wing Commander Universe Forum | Wiki
Wing Commander: The Wasteland Incident
-
- ISO Party Member
- Posts: 453
- Joined: Fri Jun 03, 2005 10:30 am
- Location: Europe
I think all of the descriptions should be extracted (System_Description, Unit_Description, etc.), names for ships, systems, sectors, units and flight groups in general also (it isn't "Moon" and "Sol" in every language).
I'm not sure if a table: ID, name, description
is a good layout since objects may have a name and no description, e.g. "Moon" or flight group "Rome". A simple translation table with a tag as unique ID and just a text field might help manual administration, e.g. an english l10n would look:
unique ID, text
"fof.name", "Friend-or-Foe missle"
"fof.descr", "A Friend-or-Foe (FoF) missle has built-in..."
"class.missle", "missle"
"class.gun", "gun"
"class.fighter", "fighter"
"class.corvette", "corvette"
for other languages the text colum is repaced/separately loaded.
I'm not sure if a table: ID, name, description
is a good layout since objects may have a name and no description, e.g. "Moon" or flight group "Rome". A simple translation table with a tag as unique ID and just a text field might help manual administration, e.g. an english l10n would look:
unique ID, text
"fof.name", "Friend-or-Foe missle"
"fof.descr", "A Friend-or-Foe (FoF) missle has built-in..."
"class.missle", "missle"
"class.gun", "gun"
"class.fighter", "fighter"
"class.corvette", "corvette"
for other languages the text colum is repaced/separately loaded.
-
- Elite
- Posts: 7243
- Joined: Mon Apr 18, 2005 2:40 pm
- Location: LS87, Buenos Aires, República Argentina
-
- ISO Party Member
- Posts: 453
- Joined: Fri Jun 03, 2005 10:30 am
- Location: Europe
-
- Site Administrator
- Posts: 1089
- Joined: Thu Jan 02, 2003 10:07 am
- Contact:
The way I was working it out was that every text field eg. Name can have a description attached to it. Because each table then has only two language components, text and memos, (text is limited to 255 characters, memos are unlimited) in the language DB there only needs to be one table for the language.
I know you believe you understand what you think I said.
But I am not sure you realize that what you heard is not what I meant.
Wing Commander Universe Forum | Wiki
Wing Commander: The Wasteland Incident
But I am not sure you realize that what you heard is not what I meant.
Wing Commander Universe Forum | Wiki
Wing Commander: The Wasteland Incident
-
- Site Administrator
- Posts: 1089
- Joined: Thu Jan 02, 2003 10:07 am
- Contact:
Ok I think I got everything straightened out with the exception of three things, names conventions (easy enough) but the other two might be a little tougher to crack.
Right now you can not “buyâ€
Right now you can not “buyâ€
I know you believe you understand what you think I said.
But I am not sure you realize that what you heard is not what I meant.
Wing Commander Universe Forum | Wiki
Wing Commander: The Wasteland Incident
But I am not sure you realize that what you heard is not what I meant.
Wing Commander Universe Forum | Wiki
Wing Commander: The Wasteland Incident
-
- ISO Party Member
- Posts: 453
- Joined: Fri Jun 03, 2005 10:30 am
- Location: Europe
-
- Site Administrator
- Posts: 1089
- Joined: Thu Jan 02, 2003 10:07 am
- Contact:
[quote="Zeog"][quote="mkruer"]Although the system assumes that you can buy/upgrade smaller ships, it says nothing directly about capital ships or stations or planets. Technically these would be units too, but the problem is that the current unit table assumes the ship is “one pieceâ€
I know you believe you understand what you think I said.
But I am not sure you realize that what you heard is not what I meant.
Wing Commander Universe Forum | Wiki
Wing Commander: The Wasteland Incident
But I am not sure you realize that what you heard is not what I meant.
Wing Commander Universe Forum | Wiki
Wing Commander: The Wasteland Incident
-
- Elite
- Posts: 8014
- Joined: Fri Sep 05, 2003 4:03 am
- Location: Montreal
- Contact:
On that vein, if you want a harder bone to chew on, here's one :
With ships that have opening cockpit hatches, such as my Hellcat and Dual Joe's Hornet, we have a bit of a conondrum I'm trying to get to grips with.
Normally, ships have an outside view, with LOD's, and an inside, cockpit view, without LOD's. (I'm excluding 2D cockpits.) Now, from the inside, one can see parts of the outside. From the outside, one should be able to see parts of the inside. The elegant solution would be to model inside and outside into a single mesh, and just change camera positions; but the argument goes that this is highly inefficient, as it forces a ton of geometry and textures into the videocard that aren't being seen; so the standard is to have two models: Outside view, with like an LOD of the inside visible; and Inside view (cockpit) which includes only the visible parts of the outside.
With hatches that open, and walkable 3D bases, we have couple of new problems, tho:
1) When you approach the ship to get aboard, you can see both: Inside and Outside, in full detail; but we can't just show the two models together, as parts of the ship are duplicated in the two models...
2) The opening hatch has to be a subobject in order to be animated. The cost of displaying it as a subobject could be ameliorated by making it share the texture with... which model, now? The inside? The outside?
Neither. Or rather, both: It needs part of the inside cockpit's texture on the inside, and part of the outside texture...
I've managed to work out a solution: The outside model's texture should include the outside of the hatch, and the in-cockpit texture should include the inside of the hatch. The two sides of the hatch could map to the same one area on both textures. That's not a problem. What IS still a problem, actually two problems...
a) When the hatch is open you'd be able to see both sides... Ouch!
b) How does a subobject have two owners, AND deferr its own texture to whoever owns it at the time?
Mkruer, I think that, for your own sanity, you might not want to deal with subobjects
With ships that have opening cockpit hatches, such as my Hellcat and Dual Joe's Hornet, we have a bit of a conondrum I'm trying to get to grips with.
Normally, ships have an outside view, with LOD's, and an inside, cockpit view, without LOD's. (I'm excluding 2D cockpits.) Now, from the inside, one can see parts of the outside. From the outside, one should be able to see parts of the inside. The elegant solution would be to model inside and outside into a single mesh, and just change camera positions; but the argument goes that this is highly inefficient, as it forces a ton of geometry and textures into the videocard that aren't being seen; so the standard is to have two models: Outside view, with like an LOD of the inside visible; and Inside view (cockpit) which includes only the visible parts of the outside.
With hatches that open, and walkable 3D bases, we have couple of new problems, tho:
1) When you approach the ship to get aboard, you can see both: Inside and Outside, in full detail; but we can't just show the two models together, as parts of the ship are duplicated in the two models...
2) The opening hatch has to be a subobject in order to be animated. The cost of displaying it as a subobject could be ameliorated by making it share the texture with... which model, now? The inside? The outside?
Neither. Or rather, both: It needs part of the inside cockpit's texture on the inside, and part of the outside texture...
I've managed to work out a solution: The outside model's texture should include the outside of the hatch, and the in-cockpit texture should include the inside of the hatch. The two sides of the hatch could map to the same one area on both textures. That's not a problem. What IS still a problem, actually two problems...
a) When the hatch is open you'd be able to see both sides... Ouch!
b) How does a subobject have two owners, AND deferr its own texture to whoever owns it at the time?
Mkruer, I think that, for your own sanity, you might not want to deal with subobjects
Latest version of Cinemut Opaque
Latest version of LaGrande noodleworks (scroll down).
An evolving La Grande How-To...
The non-working, but latest, CineMut test_bike
PU (Privateer: Parallel Universe's Home). WC or Privateer Drayman for you?
WCpedia --The Wing Commander Encyclopedia-- From Angel Deveraux through Belisarius to Zachary Banfeld...
WC Nexus forum, the Moonbase Tycho of WC fans.
Latest version of LaGrande noodleworks (scroll down).
An evolving La Grande How-To...
The non-working, but latest, CineMut test_bike
PU (Privateer: Parallel Universe's Home). WC or Privateer Drayman for you?
WCpedia --The Wing Commander Encyclopedia-- From Angel Deveraux through Belisarius to Zachary Banfeld...
WC Nexus forum, the Moonbase Tycho of WC fans.
-
- Site Administrator
- Posts: 1089
- Joined: Thu Jan 02, 2003 10:07 am
- Contact:
My personal opinion and the way the Directory structure was set up, they are two different models, so all you need on you ships is a alight weight model for the cockpit from the outside. When you are on the inside, you only need that section of the ship that’s visible. One of the models with the Hornet that I posted was like that. Its not as “elegantâ€
I know you believe you understand what you think I said.
But I am not sure you realize that what you heard is not what I meant.
Wing Commander Universe Forum | Wiki
Wing Commander: The Wasteland Incident
But I am not sure you realize that what you heard is not what I meant.
Wing Commander Universe Forum | Wiki
Wing Commander: The Wasteland Incident
-
- Site Administrator
- Posts: 1089
- Joined: Thu Jan 02, 2003 10:07 am
- Contact:
You know I know exactly what needs to be done; I just really don’t want to do it :LOL: In a nutshell Kiss goodbye to SystemObjects and Units. This will be broken down into a bunch of smaller simpler tables.
I know you believe you understand what you think I said.
But I am not sure you realize that what you heard is not what I meant.
Wing Commander Universe Forum | Wiki
Wing Commander: The Wasteland Incident
But I am not sure you realize that what you heard is not what I meant.
Wing Commander Universe Forum | Wiki
Wing Commander: The Wasteland Incident
-
- Elite
- Posts: 8014
- Joined: Fri Sep 05, 2003 4:03 am
- Location: Montreal
- Contact:
Sounds like you want to store the vertices in a database...
Latest version of Cinemut Opaque
Latest version of LaGrande noodleworks (scroll down).
An evolving La Grande How-To...
The non-working, but latest, CineMut test_bike
PU (Privateer: Parallel Universe's Home). WC or Privateer Drayman for you?
WCpedia --The Wing Commander Encyclopedia-- From Angel Deveraux through Belisarius to Zachary Banfeld...
WC Nexus forum, the Moonbase Tycho of WC fans.
Latest version of LaGrande noodleworks (scroll down).
An evolving La Grande How-To...
The non-working, but latest, CineMut test_bike
PU (Privateer: Parallel Universe's Home). WC or Privateer Drayman for you?
WCpedia --The Wing Commander Encyclopedia-- From Angel Deveraux through Belisarius to Zachary Banfeld...
WC Nexus forum, the Moonbase Tycho of WC fans.
-
- Site Administrator
- Posts: 1089
- Joined: Thu Jan 02, 2003 10:07 am
- Contact:
Uh no, that’s outside the scope of the DB, however the only thing that you will/should need to store with the model, is a config document that basically says (these are all the hard points/mount points) oh and textures. All the DB is going to have is a pointer to the model.chuck_starchaser wrote:Sounds like you want to store the vertices in a database...
I know you believe you understand what you think I said.
But I am not sure you realize that what you heard is not what I meant.
Wing Commander Universe Forum | Wiki
Wing Commander: The Wasteland Incident
But I am not sure you realize that what you heard is not what I meant.
Wing Commander Universe Forum | Wiki
Wing Commander: The Wasteland Incident
-
- Elite
- Posts: 7243
- Joined: Mon Apr 18, 2005 2:40 pm
- Location: LS87, Buenos Aires, República Argentina
Matt... I'm working on a non-DB based model description, with very complex physical and graphical properties.
Perhaps that model can be ported back into the DB, when it's done.
In the meanwhile, I wouldn't worry with subunits (because subunits are awfully complex in the new model).
Good thing: they form a graph. So probably you won't have to change much on the DB - just add the edges, but "retrieving a unit's graph" would be a complex operation in that case. I'd wait until I have the full specification of model hierarchies. I just got a break from one of my jobs, so I'll probably be able to dedicate some time to it
@chuck: I have a solution to the hatch - that goes on the other thread.
Perhaps that model can be ported back into the DB, when it's done.
In the meanwhile, I wouldn't worry with subunits (because subunits are awfully complex in the new model).
Good thing: they form a graph. So probably you won't have to change much on the DB - just add the edges, but "retrieving a unit's graph" would be a complex operation in that case. I'd wait until I have the full specification of model hierarchies. I just got a break from one of my jobs, so I'll probably be able to dedicate some time to it
@chuck: I have a solution to the hatch - that goes on the other thread.
-
- Site Administrator
- Posts: 1089
- Joined: Thu Jan 02, 2003 10:07 am
- Contact:
What do you mean? I though the idea was to keep the model separate from the DB as much as possible.
I know you believe you understand what you think I said.
But I am not sure you realize that what you heard is not what I meant.
Wing Commander Universe Forum | Wiki
Wing Commander: The Wasteland Incident
But I am not sure you realize that what you heard is not what I meant.
Wing Commander Universe Forum | Wiki
Wing Commander: The Wasteland Incident
-
- Site Administrator
- Posts: 1089
- Joined: Thu Jan 02, 2003 10:07 am
- Contact:
These are the tables in question. The weapons are more or less fully worked out. The unit will be broken down into different fields such as Armor, Shields, Engines, etc... This requires a well developed structure so that any object from the smallest component to the largest structure can have its own set of variables.
I know you believe you understand what you think I said.
But I am not sure you realize that what you heard is not what I meant.
Wing Commander Universe Forum | Wiki
Wing Commander: The Wasteland Incident
But I am not sure you realize that what you heard is not what I meant.
Wing Commander Universe Forum | Wiki
Wing Commander: The Wasteland Incident
-
- Elite
- Posts: 7243
- Joined: Mon Apr 18, 2005 2:40 pm
- Location: LS87, Buenos Aires, República Argentina
What I mean is that you will have a hierarchical graph for units. A full unit (regardless of armor/engine stuff) will be able to get attached to another one. So you may have an engine-less subunit, the bridge, and an engine-full one, the engine, and a structural one (no engine, no nothing, just storage space), the hull. Let me draw something... (check for edits).
-
- Site Administrator
- Posts: 1089
- Joined: Thu Jan 02, 2003 10:07 am
- Contact:
OK yes, thats what i was going towards.
I know you believe you understand what you think I said.
But I am not sure you realize that what you heard is not what I meant.
Wing Commander Universe Forum | Wiki
Wing Commander: The Wasteland Incident
But I am not sure you realize that what you heard is not what I meant.
Wing Commander Universe Forum | Wiki
Wing Commander: The Wasteland Incident
-
- Elite
- Posts: 7243
- Joined: Mon Apr 18, 2005 2:40 pm
- Location: LS87, Buenos Aires, República Argentina
It is a bit oversimplified.
For instance, each physical link can be rigid or elastic, and be also an "articulated" link (it only links along a particular direction/rotation axis). Graphical links have "behavioral" patterns that may be bound to ship functions. Engines, for instance, would have submeshes for exhaust flames that would have specific behavioral patterns to switch them on/off/throttle. Those submeshes would be invisible to physical linkage (or, rather, have trivial rigid links).
There are also lots of properties for rigid links, like structural strength, transmission coefficients, and stuff like that, for the physics engine to use in evaluating force propagation. There is even heat/ion tranmission stuff.
For instance, each physical link can be rigid or elastic, and be also an "articulated" link (it only links along a particular direction/rotation axis). Graphical links have "behavioral" patterns that may be bound to ship functions. Engines, for instance, would have submeshes for exhaust flames that would have specific behavioral patterns to switch them on/off/throttle. Those submeshes would be invisible to physical linkage (or, rather, have trivial rigid links).
There are also lots of properties for rigid links, like structural strength, transmission coefficients, and stuff like that, for the physics engine to use in evaluating force propagation. There is even heat/ion tranmission stuff.
-
- Site Administrator
- Posts: 1089
- Joined: Thu Jan 02, 2003 10:07 am
- Contact:
Yep, each unit can have its own engine, armor shield, etc...
I know you believe you understand what you think I said.
But I am not sure you realize that what you heard is not what I meant.
Wing Commander Universe Forum | Wiki
Wing Commander: The Wasteland Incident
But I am not sure you realize that what you heard is not what I meant.
Wing Commander Universe Forum | Wiki
Wing Commander: The Wasteland Incident
-
- Site Administrator
- Posts: 1089
- Joined: Thu Jan 02, 2003 10:07 am
- Contact:
Just a Quick Update:
Note to self: Turrets need allocation units for weapons.
Note to self: Turrets need allocation units for weapons.
I know you believe you understand what you think I said.
But I am not sure you realize that what you heard is not what I meant.
Wing Commander Universe Forum | Wiki
Wing Commander: The Wasteland Incident
But I am not sure you realize that what you heard is not what I meant.
Wing Commander Universe Forum | Wiki
Wing Commander: The Wasteland Incident
-
- Elite
- Posts: 7243
- Joined: Mon Apr 18, 2005 2:40 pm
- Location: LS87, Buenos Aires, República Argentina
-
- Site Administrator
- Posts: 1089
- Joined: Thu Jan 02, 2003 10:07 am
- Contact:
Note sure what you mean, but if I can clarify. Basically what this is saying is that a unit can have different properties. Such as shield. The best example would be a skipper torpedo that has a shield. Right now there is no way to code that in the DB, but once everything is set up. Even the containers in space can have armor. That’s actually the way I am approaching it. Also clarify again, a Unit can be a subunit of a another unit, and that can be a subunit of another unit.
Item
Item_Sub_Category
Item_Category
Unit_Category
Unit_Type
System_Objects
Unit_Class
System_Obect_Type
Will all be reworked into a coherent structure doing this we should end up with fewer table
BTW do you find it interesting that WC has no centralized power in the game? Its all based upon recharge rates and not any number directly. LOL
Item
Item_Sub_Category
Item_Category
Unit_Category
Unit_Type
System_Objects
Unit_Class
System_Obect_Type
Will all be reworked into a coherent structure doing this we should end up with fewer table
BTW do you find it interesting that WC has no centralized power in the game? Its all based upon recharge rates and not any number directly. LOL
I know you believe you understand what you think I said.
But I am not sure you realize that what you heard is not what I meant.
Wing Commander Universe Forum | Wiki
Wing Commander: The Wasteland Incident
But I am not sure you realize that what you heard is not what I meant.
Wing Commander Universe Forum | Wiki
Wing Commander: The Wasteland Incident
-
- Site Administrator
- Posts: 1089
- Joined: Thu Jan 02, 2003 10:07 am
- Contact:
Interesting thing I just noticed. For the missiles, they could use the unit movement table. But I am not sure if I should. There are about 4 fields that could be shared but I think that…
NM
Anyone want to take a pot shot at coming up with a unified system for the following tables?
Item
Item_Sub_Category
Item_Category
Unit_Category
Unit_Type
System_Objects
Unit_Class
System_Obect_Type
I can upload a sample DB and you can play with it and view the data. I just need to know what format you need.
NM
Anyone want to take a pot shot at coming up with a unified system for the following tables?
Item
Item_Sub_Category
Item_Category
Unit_Category
Unit_Type
System_Objects
Unit_Class
System_Obect_Type
I can upload a sample DB and you can play with it and view the data. I just need to know what format you need.
I know you believe you understand what you think I said.
But I am not sure you realize that what you heard is not what I meant.
Wing Commander Universe Forum | Wiki
Wing Commander: The Wasteland Incident
But I am not sure you realize that what you heard is not what I meant.
Wing Commander Universe Forum | Wiki
Wing Commander: The Wasteland Incident
-
- Venturer
- Posts: 538
- Joined: Tue Mar 21, 2006 12:54 am
- Location: Delta Prime
- Contact: