Skip to content
Nick McDonald edited this page Jan 20, 2020 · 1 revision

Territory Wiki

I have never have made a wiki for a project before, but since it is so big I think it is about time.

If you are interested in reading articles about the project, please go to my blog and look at the articles marked territory. In chronological order, you can see how the project was conceptualized and constructed, with code samples and explanations, as well as videos and images!

https://weigert.vsos.ethz.ch/tag/territory/

Motivation

This is a proc-gen world test with a wide variety of aspects for me to test different algorithms and methods to generate complexity. In that sense, it is just a sandbox.

This means complexity for a number of things:

  • Agent Behavior (NPCs, Animals, Groups)
  • Coupled Natural Systems (Weather, Geology, Vegetation, etc.)
  • Emerging Systems (Economies, Conflicts, Alliances, etc.)

One key thing is that the "simulation" is visually appealing, or I will get bored with it very quickly.

Also, for certain emergent behavior, you need lots of underlying degrees of granularity. So it's a bit of a super project. But I hope that it doesn't become a bloated behemoth and is still well segmented into systems. Modularity is key!

Another goal is to improve my C++ skills and learn about a variety of things, such as 3D rendering, machine learning, modular systems, world-generation, numerics, etc.

Code Structure

To read and understand the code, refer to the code structure wiki page.

Core Elements

This project has a number of core elements. These are:

  • "Game" Engine
  • World Generation
  • World Population
  • Helpers

Which each act as super systems that interact with each other. These should all get their own wiki articles in the future.

To-Do

I keep a master to-do list on the wiki too.