Update

Published November 11, 2005
Advertisement
Things are moving along, but lately more on the business side of things.

As I posted in the Help Wanted section, we are in the midst of a 3-month demo project, and in need of coding and artwork help.

On the code side, I would like assistance with the GUI and the animation code. Mainly I expect the animation code to use or be similar to the D3DX animation controller to blend between several animations.

For the GUI, it could either use the d3d gui library, or something custom, but it's just for in-game use, so doesn't have to have all the features needed for the level editor, although a tree view would be nice for inspection & changing of object properties at runtime.

I am looking for serious people whom I can rely on - increasingly difficult to find, because many people are really stretched, and some sort of personal issue can often interfere with the project.

This doesn't mean you need 10 years experience to contact me, but I want dedicated, reliable people, and I am willing to pay for it.

On a technical node, I have added 'facets' to the game object class. These were originally just for the triggers, but I realized that it would be a smart generalization for other things as well.

Right now I have text config files, .csv data files, and .cpp code that handles object properties, from physical things like mass, to rendering options like shadow casting & receiving. The csv files are nice b/c you don't have to recompile code when you add new properties, but you would have to add code to use the properties for something.

Now I have added facets, which are simply named object properties. I have done similar things before, but this is the first time I have done it in this way. Now I plan to consolidate these systems somewhat, so that the .csv files are not queried at runtime, but rather are used to set facet values. Also, I should add the ability to save an object's facets to .csv format.

Each facet is stored in a map in the game object class, and has a string name, a type identifer, the owner id, and a union of values like int, float, vector, matrix, etc.

So the facets can store object properties, including their own storage, so you don't have to mirror regular data members like I often do with the .txt or .csv style properties. You also don't have to keep > 1 version in synch, and all facets are saved & loaded automatically, so it reduces code bugs.

It also makes it easier to keep saving & loading from breaking with newer versions, because if almost all the data is stored in facets, there are no problems with adding new fields to a class changing the length of the object, etc.

I know most modern engines have some equivalent of this, but I didn't see the need for it for my purposes until recently.

It also is a step towards simple scripting, which I may add to the editor for triggers.
Previous Entry Grating
Next Entry Still here...
0 likes 3 comments

Comments

NeverSayDie
Stumbled across this journal a month or so back, and I've been reading it on and off since - makes for good reading, posts are well written and interesting. That's an impressive project you've got here, that lighting/material system especially seems to bring out the atmosphere in the screenshots you've shown. Best of luck with the project, hope it goes well for you.
November 12, 2005 09:28 PM
superpig
Ayayay... I'd really, really, really like to step forward to your HW and offer my services, as this looks like such an awesome project and I'd love to be involved in it, but uni leaves me with such little time. [sad]
November 13, 2005 06:26 AM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement

Latest Entries

1.2 Almost ready...

1112 views

Sound Paths

1331 views

Stately Progress

1133 views

State Lines

1283 views

Pulsing

866 views

Return to The Ship!

1007 views

Cameras & Boxes

1124 views
Advertisement