This document introduces the major themes of the project from a developers point of view. This is aimed at those who may wish to build and modify the code or those wishing to gain insight into the construction of a larger piece of code. But as usual to really grok the code you need to compile and successfully change it so… feel free.
It will make use of existing libraries and toolsets as much as possible rather than writing from scratch. Game assets will be autogenerated rather than hand-crafted where possible to speed up development.
It will allow others to build and extend the code base with as little difficulty as possible. So there is a focus on architecture, patterns, documentation and trying to explain design decisions. It would be assumed anyone following this path would be a competent developer in Java.
For myself it is an exercise to gain some experience in tools such as Maven and JMonkeyEngine to apply and test some thoughts about software design. it should also provide a framework for trying some ideas around using AI/expert systems in gameplay.
With this focus on the mechanics of building a game, the gameplay itself is deliberately not terribly innovative so as to reduce risk and complexity. The focus on making the game intuitive and giving the feel of a grand strategic game without the long hours or steep learning curve.
The code can be downloaded from the bitbucket repository
This is a git repository which can be cloned (duplicated) onto your own machine.
Diagrams are drawn with Dia Diagram Editor, its free and simple enough for the task. Diagrams are in the src/site/dia folder and used extensively in the technical design document
Contains how the game design document is actually implemented.
Code comments may use some common (for developers?) shorthands and some sci-fi shorthands: