It is looking very good. There's always room for minor tweeks and changes, anyway.
Quote: "The usual hold back,right now, is a Character Modeler/Animator "
Just use DarkMatter models as placeholders until your own are done. Sure, it's generic, but they'll do the job. Think of them as low paid Mexican actors that are shooting all of the extra scenes until Antonio Banderas gets there.
Without character models, your development will be held up. And I have to say, using cubes (not that you are, but it's common) as characters does not prepare your game for having them. I've seen impressive cube demonstrations that are pure crap when you actually use a model.
Quote: "Cash's 3D GUI is a very desirable Inventory concept"
Hopefully I've got much more desirable than just that.
The problem that I see is that everything I do is built around my UDT core. My interface, for example, is currently only portable to my game, because of the structure.
One big thing is that I don't use object numbers. I don't know if you do or not, but object numbers are so limiting. Any one of my entities can have several objects bound to them - the main model, a weapon, an emmitter, a bounding box, higher stories on a house, etc.
Here's a sample of the creation of a building. I haven't encapsulated it into a function like I've done characters and items yet, but I will as that will allow me to script world creation.
This code loads three building parts, and creates three bounding boxes. They're all bound to the same building #, and handled accordingly during execution.
`Load the building parts
obj=getFreeObject()
buildings(1).story1=obj
load object "MediaBuildingsgeisha1.x",obj
obj=getFreeObject()
buildings(1).story2=obj
load object "MediaBuildingsgeisha2.x",obj
obj=getFreeObject()
buildings(1).story3=obj
load object "MediaBuildingsgeisha3.x",obj
`position building stories
position object buildings(1).story1, 6164,get terrain ground height (world(1).object,6164,8241),8241
position object buildings(1).story2, 6164,get terrain ground height (world(1).object,6164,8241),8241
position object buildings(1).story3, 6164,get terrain ground height (world(1).object,6164,8241),8241
`create and position bounding boxes for the building
buildings(1).bound1=buildingBound(buildings(1).story1, 0, 0, 0)
buildings(1).bound2=buildingBound(buildings(1).story2, 0, object size y(buildings(1).story1), 0)
buildings(1).bound3=buildingBound(buildings(1).story3, 0, object size y(buildings(1).story1)+object size y(buildings(1).story2), 0)
`Make buildings into collidable meshes
CollisionTypePRO( buildings(1).story1, TYPE_WORLD )
CollisionTypePRO( buildings(1).story2, TYPE_WORLD )
CollisionTypePRO( buildings(1).story3, TYPE_WORLD )
I need to finish my first demo before anything can happen anyway, but it's something to consider.
Keep up the good work! I look forward to more. Your environment is wonderful.
Come see the WIP!