Saturday, September 04, 2010

Direction Statement

After a lot of testing of new code and ideas, I've reached a conclusion about what I want to do with D2TGP:  Starting now (actually as of a week ago), I am completely rewriting the project.  I'm doing this because I'm tired of all the legacy code from my earlier project and all the things missing that I've learned since then.  Many of these things are basically impossible to change without the code having been written differently in the first place.

I've thought about (and tried several times to be honest) back-porting some of the new ideas I have to the latest version of 1.x, but it just wasn't feasible.  Adding 3d zoom means a whole new interface is needed to handle changes in visibility and control.  Adding waypoints means I have to rewrite the entire input system to use queues of orders, which means I should add dynamic groups and rewrite pathfinding code, which means the AI need a rewrite also, etc.  It's gotten to the point where nearly everything will need to be touched.

I am now 100% sure I want to rewrite the whole thing, and doing so will allow me to build in the follow features from the ground up:
  • Multithreading for massive battles
  • Dynamic unit grouping and subordination ("flocking")
  • Network lock-stepping
  • Total Object-Oriented structure
  • Generalization to separate RTS engine from D2TGP game code completely
  • Clean easily readable code for my own benefit
You won't be seeing anything new this year; I can pretty much guarantee that.  As for when next year, I'd imagine Q1, possibly going into Q2 depending on life circumstances.  Please don't ask for a better ETA. :)  I think just about everyone knows I'm a workaholic so you can bet I'll be putting almost all my free time into this.

So for now, please continue to enjoy the last release, and have patience for bigger and better things.  Also, feel free to become a donating member at the forums, to help me buy all the Mountain Dew.