WCU Database Design & Documentation

Discuss the Wing Commander Series and find the latest information on the Wing Commander Universe privateer mod as well as the standalone mod Wasteland Incident project.
mkruer
Site Administrator
Site Administrator
Posts: 1089
Joined: Thu Jan 02, 2003 10:07 am
Contact:

Post by mkruer »

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?
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
Zeog
ISO Party Member
ISO Party Member
Posts: 453
Joined: Fri Jun 03, 2005 10:30 am
Location: Europe

Post by Zeog »

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.
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Post by klauss »

There is such thing as NULLable fields, you know. If you don't have a description, set it to NULL.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
Zeog
ISO Party Member
ISO Party Member
Posts: 453
Joined: Fri Jun 03, 2005 10:30 am
Location: Europe

Post by Zeog »

Yep, I've done such things with php and mysql. Sorry for making yet another proposal. And if later the necessity occures that three text fields are needed (name, short and long description), table layouts can be easily changed...
mkruer
Site Administrator
Site Administrator
Posts: 1089
Joined: Thu Jan 02, 2003 10:07 am
Contact:

Post by mkruer »

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
mkruer
Site Administrator
Site Administrator
Posts: 1089
Joined: Thu Jan 02, 2003 10:07 am
Contact:

Post by mkruer »

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â€
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
Zeog
ISO Party Member
ISO Party Member
Posts: 453
Joined: Fri Jun 03, 2005 10:30 am
Location: Europe

Post by 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â€
mkruer
Site Administrator
Site Administrator
Posts: 1089
Joined: Thu Jan 02, 2003 10:07 am
Contact:

Post by mkruer »

[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
chuck_starchaser
Elite
Elite
Posts: 8014
Joined: Fri Sep 05, 2003 4:03 am
Location: Montreal
Contact:

Post by chuck_starchaser »

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 :D
mkruer
Site Administrator
Site Administrator
Posts: 1089
Joined: Thu Jan 02, 2003 10:07 am
Contact:

Post by mkruer »

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
mkruer
Site Administrator
Site Administrator
Posts: 1089
Joined: Thu Jan 02, 2003 10:07 am
Contact:

Post by mkruer »

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
chuck_starchaser
Elite
Elite
Posts: 8014
Joined: Fri Sep 05, 2003 4:03 am
Location: Montreal
Contact:

Post by chuck_starchaser »

Sounds like you want to store the vertices in a database... :D
mkruer
Site Administrator
Site Administrator
Posts: 1089
Joined: Thu Jan 02, 2003 10:07 am
Contact:

Post by mkruer »

chuck_starchaser wrote:Sounds like you want to store the vertices in a database... :D
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.
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
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Post by klauss »

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 :D

@chuck: I have a solution to the hatch - that goes on the other thread.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
mkruer
Site Administrator
Site Administrator
Posts: 1089
Joined: Thu Jan 02, 2003 10:07 am
Contact:

Post by mkruer »

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
mkruer
Site Administrator
Site Administrator
Posts: 1089
Joined: Thu Jan 02, 2003 10:07 am
Contact:

Post by mkruer »

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.



Image
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
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Post by klauss »

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).

Image
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
mkruer
Site Administrator
Site Administrator
Posts: 1089
Joined: Thu Jan 02, 2003 10:07 am
Contact:

Post by mkruer »

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
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Post by klauss »

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.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
mkruer
Site Administrator
Site Administrator
Posts: 1089
Joined: Thu Jan 02, 2003 10:07 am
Contact:

Post by mkruer »

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
mkruer
Site Administrator
Site Administrator
Posts: 1089
Joined: Thu Jan 02, 2003 10:07 am
Contact:

Post by mkruer »

Just a Quick Update:
Image
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
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Post by klauss »

Hm... to support this, I'm thinking, I'll have to abstract out model retrieval into plugins as well.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
mkruer
Site Administrator
Site Administrator
Posts: 1089
Joined: Thu Jan 02, 2003 10:07 am
Contact:

Post by mkruer »

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
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
mkruer
Site Administrator
Site Administrator
Posts: 1089
Joined: Thu Jan 02, 2003 10:07 am
Contact:

Post by mkruer »

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.
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
Privateer Ferrius
Venturer
Venturer
Posts: 538
Joined: Tue Mar 21, 2006 12:54 am
Location: Delta Prime
Contact:

Post by Privateer Ferrius »

For some reason or another, the table is just coming up as a red X for me, and I take it that's not what you intend.
Cmdr. Micheal Ferrius (Ret.)
Retired Confederate Pilot

For Hire!
Post jobs to the BBS!

Tengoku de omachi shite imasu
Post Reply