-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Core Glossary
Our core glossary should give a brief overview on the components of our engine and how we plan to implement them. The descriptions are short on purpose. For more info, consult the docs or join our developer chat.
Every component is marked with a status which shows how far it has progressed so far.
- Planned: The feature is planned, but we have yet to decide what design pattern we are going to use.
- Design: In this phase, the design pattern for our component has been chosen and we are discussing how it will be integrated into the engine.
- Under Construction: We are implementing the feature right now.
- Testing: The main implementation is done and we are getting rid of leftover bugs.
- Finished: Our component is fully functional and ready to be used. However, further improvements are always welcome.
Sometimes there is a Responsible field, which lists the people from our team who are actively working on the component. If you are new and would like to participate, feel free to ping them in the developer chat.
Everything concerning the data used for gameplay, including graphics, sounds, unit stats, scripts and interface elements.
Status: Finished
Responsible: jj
The runtime gamedata is handled by nyan, a typesafe hierarchical key-value database with inheritance and dynamic patching. During a game, nyan takes care of the objects in the game world as well as unit upgrades and updates. nyan is maintained by us and is written specifically for RTS games like Age of Empires 2.
Further Reading
Status: Finished
Responsible: jj
Definition data for units, buildings, techs, etc. is written in the nyan description language. The nyan language is object-oriented, human-readable, allows inheritence and easy modification of existing objects through a mechanism that is called patching. The main focus is readability and moddability.
Further Reading
Status: Design
Responsible: heinezen
The interface that exposes engine features to modders and game developers. Our API consists of several nyan objects for which the engine defines specific behavior. The API is an entity-component-system with generic unit objects (GameEntity
) that are defined through abilities and boni objects.
Further Reading
Status: Planned
We plan to adopt a pathfinder based on flow-fields to better deal with a high number of units.
Further Reading