Without further ado, the magic of Subversion changelogs will reveal what I've been slacking err working hard at since my last (and distant) blog post.
/Usual disclaimer of being too busy goes here, but it's been 'crunch' time at work (2 games released in same month!) Yadder yadder.
- Implemented a whole new system of debug variables to make runtime tweaking automatic and much easier. Should save me weeks in the long run.
- Added a physics & game model material system and linked it in with Blender physics prim specification and export. The Collada spec is still rather grey about user-specified data so I've bunged the info in the object name string with the requisite switch id. Now if only Blender allowed names longer than 23(?!) chars... hmmm maybe time for a little edit to the Blender source..?
- Added damage system for physics object collisions and tied it in with object subsystems (via a multitude of archaic model primitive mappings.) Newton gives some information about collisions but AFAICS there's more work to extract useful data from them.
- Started work on vehicle autopilots (again!) as a precursor to orders/docking/launching etc. This had already been written for the old ‘non-physical’ movement system – now it’s a whole lot harder to tie in with the physics. Initial experiments using PID controllers looks promising. Nothing quite so demotivating as rewriting whole chunks of stuff again though :(
- Added static damage decals via the particle system. Need more work but the basics are in there now. Also need to attach them to moving objects in the future - link them in with the dynamic damage point thingies.
- Added scripting functionality to allow the user to easily set up the world island map and resource network.
- Added a 'mod' mechanism to hopefully allow the user to setup most aspects of a game via Lua script. The first C2 Mod has been made already: it kicks you off in the archipelagos from the original game :)
- Refactored, amongst other things, my World class (it was resembling a big bad 'God class') - needed some loving care before proceeding.
- Implemented some more optimised and lower detail shaders so we can run on somewhat lesser gfx cards ;)
- Experimented with some different normal maps for the sea - Perlin noise mainly, which looks ok, but still looking for that illusive 'crumpled tin foil' effect which can apparently be realised with 'Fractal F1 Worley noise'. Apparently.
Phew, rather longer list than I expected really.