Theory Team

Game mechanics, particularly those relating to the underlying simulation, are decided by the Theory Team. If you are reading this thread, you have likely decided to dedicate your talents as a game designer to the theory team for the ambitious project that is Thrive! If so, then welcome aboard! This thread is designed to best ease you and other new game designers into the process of developing the game, and providing you with all the relevant information you need.

Overview


Team lead(s): Seregon, tjwhale

Forum category: http://forum.revolutionarygamesstudio.com/c/theory

Types of work: Prototyping, gameplay design, mathematics

The work of the Theory Team is to bridge the gap between concepts and implementable prototypes. This means that, for example, if the goal is to have a procedurally generated solar system then this needs to be broken down into specific algorithms (for example mass of the sun, number of planets, size and location of the habitable zone etc).

The goal is to make these algorithms as scientifically accurate as possible while they are constrained by the hardware limitations of the players computers, the amount of time we have to build and analyse the models that underpin them and the overall requirement that the game should be fun. For example when modelling the weather on a planet how much detail do you need? Are we having a full Navier-Stokes + Temperature model for both oceanic and atmospheric flows? This is the most accurate choice but is much too intensive computationally. Are we having a lower dimensional reduction of these equations while still trying to maintain most of the dynamics, using inertial manifolds, for example? This is going to be a huge amount of analytical work. Are we just going to have a random number generator make the weather in each area? This is the easiest approach but is the least interesting for the player.

Deciding which models to use and how they will be implemented is the core role of the theory team. We work very closely with the programmers to make sure that they are happy the models we produce are implementable and robust.

Current Tasks


The theory team is regularly needed for designing the upcoming game features, and here are some of the main ones being worked on right now. Take your pick of what interests you.

CPA system (compounds, population dynamics and auto-evo)
This is one of the core systems of the first half of the game and governs which cells and species you will see running around in the microbe, multicellular and aware stages. A big open problem here is modelling predatory interaction between procedurally generated species.

Solar system and planet generator
Defining the planet on which the player can play. This involves the star and the planet as well as many different biomes, weather, ocean circulation, compound availability (in the ocean, atmosphere and lithosphere), plate-tectonics and non-linear interactions between the biosphere and the planet.

Aquatic locomotion
Defining how fast a player designed microbe or multicellular creature can move in an aquatic environment.

This list isn't fixed. If you can think of a feature you'd like to start working on that we didn't mention just let us know. There are also innumerable ideas you could try to prototype if you wanted.

Online Resources


Prototypes on GitHub

https://github.com/Revolutionary-Games/thrive-prototypes

An offshoot from our main GitHub repository where programmers and theorists can create prototypes for specific features or later stages. See the README first.

Procedural Planet Generation

http://thrivegame.wikidot.com/procedural-planet-generator

A simplified outline of the process for generating planets.

Tutorials


Crash Course in Population Dynamics

http://thrivegame.wikidot.com/crash-course-in-population-dynamics-abridged

Copied from our old development forum, a collection of posts by Seregon covering the basics of population dynamics and how it will be simulated.

CPA Algorithm Overview

http://forum.revolutionarygamesstudio.com/t/cpa-algorithm/145

An outline of the CPA algorithm written in psuedo-code.

FAQ


How do I join the Theory Team?

See Application Process.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License