Tuesday, February 15, 2011

Future thoughts, new methods.

Lately I've been devoting my free time to work on my conversion of Black Shadow into a 3d voxel based game using the Build engine, or more specificly Eduke32.  The rendering method is still the original one though done by Ken.

Now working with build, I think the greatest revelation is been working with palettes and the CON scripting.  Its given be a bunch of possibly ideas for creating the engine for The Crawl once I finish Black Shadow.

I've learned quite a few things on how the build engine operates and handles actors, counting, and frame animations which can prove very useful in creating the engine for TC.

Currently the method I used to create the AI in previous demos left much to be desired in terms of flexibility.  However I got some experiencing working with A* pathfinding that also gave me some good ideas.  I may never actually use it and do something similar though.

Getting to the point, I'm not actually considering a scripting system for this, but a detailed editor and just saving the data as numbers to save space and memory.  I'll be basing it off how Ken developed the build script, just using byte data.

Another thing is I'll be planning to used a fixed palette like in 8bit, however the game would still operate in 16/32bit screen modes.  The idea would be, like the build engine, have a fixed palette so shading and color blending calculations are reduced to look-ups.  However instead of having a 256 color limit, it would be 1024, although I haven't decided on the amount of shade variations it should have.  I believe build used 8 points per shade, I could use 4 for smoother transition.

Anyway this is all speculations, but working with the Build engine has given me a good amount of ideas on what direction to take when creating The Crawl's engine and editing system.  I'd like to make the engine pretty flexible.  If possible I'd like to eventually create it all in GLBasic, but getting voxel rendering at the level of Build or Evaldraw in opengl is a challange.  Maybe theres something I can learn from the build source instead of working with evaldraw or voxlap. The benefit of using Glbasic is portability, as in I could have it accessibly to Linux, Mac, Mobile as well as windows systems.