Friday, April 26, 2013

Long time, no post, let's do something about that...

The major downside to having this as a personal hobby project is that just about everything else comes first priority-wise, leading to some long breaks in the action if the perfect storm of life events and daily workload hits.  Blah.  Here's the latest:

Resource packages can now contain shader objects as well as geometry data, so now I'm one step closer to a fully-featured material system being in place.  That'll make materials themselves very lightweight objects, basically named references to individual shaders, textures, and tune-able values.  The renderer is prepped to use a material-based sorting process for minimizing changes to the render pipeline, so the sooner I finish up with the material system's pre-reqs, the happier I'll be with the graphics side (which currently just draws everything out in a linear fashion, oblivious to shared material properties).  Not a lot of impact on the current system right now because the asset count is so low, but it'll be mandatory with a full scene of objects, players, and effects.

I've escaped from the jungles of dynamic mesh topology algorithms with a fairly efficient means for rebuilding local mesh patches on the fly (to respond to new intersection events), which came about as part of the process for getting the automatic Navigational Mesh generator tool up and running in my level editor.  The idea there is that anyone building a level won't have to custom-paint their own navmesh polygons, because the editor will be able to analyze the geometry of the entire terrain and build a navmesh with minimal polygons as part of the "compile" process for the map.  It really deserves its own post soon, I had a lot of fun (and learned a lot) getting it working.  The next step is going to be hooking the patch re-triangulation portion up to the in-game world manager so that the mesh gets rebuilt as players drop in structures or walls get destroyed, etc.

Also, work is progressing well on Cryamore, if anyone was able to check out the demo at GDC last month, here's hoping you enjoyed it!