This is currently in pre-alpha state: basic networking is complete, but APIs and the overall engine design are still being decided on. Don't expect anything playable yet.
Building the client-side code requires Node and Gulp to be installed. Then:
npm install gulp build
build.js should be written to
will be included in subsequent server builds.
With Maven installed, run:
A package will be written to
target/deconstruction-engine-x.y.war, suitable for upload to a compatible webapp container (such as Tomcat). Make sure the client has been built as described above first.
What is this?
It's an experiment to see how far some basic abstractions can be taken, and to see if some or all implicit restrictions of traditional game engines can be alleviated through design.
The essentials of the design:
Entity: some object in the game world, made up of:
Controllers: implement some behavior
Views: provide rendering instructions for an entity in a zone
Zone: a collection of
World: a collection of
Player: controls an
The definitions above are more or less literal: a zone exists to do the best possible job of containing entities, and nothing more; an entity exists to provide behaviors and views. Specializations of these base classes exist, but are still composed primarily of these base concepts.
For fun, mostly.