First off it should be known that in general, I've got no clue how to make a full 3D game so, like always I'll be making stuff up as I go along. When doing somthing new you need a good mix of learning and braveness; take the time to read up and understand how things should be done, but don't be afraid to write some not-so-perfect code.
I've got a couple of major systems that I need to implement, I'm trying to leverage as much turn-key free middleware as possible:
3D Graphics:
This is a big one, thankfully I already have an engine which is using Direct3D9 and shaders, so that is a bit of work already done. The bigger challenges will be dealing with map format, model format, materials, and rendering.
I've tentatively decided to go with COLLADA for models after some talks with people. For 'Actors' in this engine we'll be using skinned meshes, first by directly importing the collada format, and later perhaps a converted binary format.
I'll probably be using the D3DXMesh object and it's Animation Controllers, since i've heard they're implemented very well.
For terrains I'll probably be using a heightmap again, but I am not positive yet, there will also be a need for general static geometry such as walls and non-important furniture.
Physics:
I want physics to play a huge role in the gameplay of my adventure games, being able to manually knock down a brick wall with a sledge hammer instead of a simple (use hammer on wall) is what will help to make my game shine; I'm still evaluating which library to go with. I looked at the ODE documentation and it seemed straight forward, but it definetly had a 'dated' feel, must have been the C interface *shrug* I've been told that PhysX (previously novodex) is the best out there, however the pesky need to install a software driver is going to keep me away from that for now, plus I don't need crazy physics. I've been told tokamak is a much better choice than ODE due to simulation quality at an expense of performance, due to small scenes that adventure games have I would probably have no problem, and higher accuracy physics would be a plus.
Audio:
I've battled with audio systems for a long time now, they're just a pain to implement. I'm currently using a 2D/3D DSound system for streaming ogg files, and it works 'okay', I had planned to use XACT instead, however the use of ADPCM only rained on my parade, 25MB a song instead of 4MB? I don't think so, we do a huge business from downloaded copies of our games, so keeping in the 200-600 MB range would be nice. I was informed by Saruman that FMOD recently changed their licence for indies, to 100 bucks a title, this is quite palettable for me, so I will have to check out what FMOD can do, it might just save the day.
Control Scheme:
For now we'll be keeping to a radial menu verb system, with the addition of using items with physical properties on other physics elements. Unlike in the current version of Malathedra we won't be using node-network based movement, instead you'll be able to move anywhere that you don't collide with somthing. I've tentatively decided to use a point-to-point linear seeking scheme with obstacle avoidance using the OpenSteer library, this should give a fairly natural apperence, and shouldn't be an issue due to small scenes, but worst case scenario I could snap a grid over the scene and use A* to return a point path which opensteer could then follow; but i'll try to keep to simplicity.
In summary, things are going good, I see some good staying power forming again, and I'm keeping my journal generally up to date. I'm sure most of you are bored to tears with it so far due to no pictures, but I'll get some up as soon as there is anything worth seeing.
Take a breath boy. Step back a bit. Assess your situation and your plans. Make sure you're not doing things for their own sake.