Welcome to the Terasology Wiki!
This is a wiki for those interested in contributing to the development of the project.
Use the sidebar to arrive at the most central topics this wiki covers.
See What is Terasology for some more background information.
Joining the Community & Asking for Help
Our main place of communication is on our Discord Server.
Make sure to check in, introduce yourself and what you're interested in with regards to Terasology
For any playing related issues, leave us a note in the
Troubleshooting workspace setup, compile / test issues or other development related issues can be raised in the
#terasology channel or by opening an issue on this repo.
Our forum is currently mainly used to track progress of our GSoC student projects. However, it has a lot of more or less actionable ideas for improvement and a bunch of history of our current gameplays floating around, so feel free to roam around a bit and get inspired
Interested in getting involved with working on the game? Make sure to check out the Contributor Quick Start for setting up your first workspace and starting the game from source. It also has useful links on how to start with your first contribution.
Terasology is build from many building bricks, that together turn into a game.
The engine forms the core, and resides alongside the default facade and subsystems in (MovingBlocks/Terasology).
This core is backed by several in-house libraries, such as(MovingBlocks/gestalt) providing the entity system and module management, or our own UI library (MovingBlocks/TeraNUI). The actual game content is added by modules on top of that.
All Terasology modules reside in the Terasology Github organization.
These pages offer more advanced insight into how specific features of the game are architected and why.
- Project Sturcture - a high-level overview of the code base
- Entity System Architecture - describes the structure and usage of the entity system.
- Events and Systems - describes how new game logic can be hooked in
- Block Architecture - development overview of our Block system. (pending changes needed to make the game work in an applet again)
- Block Shapes - defining 3D meshes via definitions in JSON!
We have several ways to get the word out on updates, likewise, there are several ways to contact us.
Discord - New development/game topics will be posted in
#announcement, and any questions answered.
- GitHub (Engine) - "Watch" the official project here to be able to easily spot core commits and changes.
- GitHub (Modules) - "Watch" the module repos to be able to keep track of game content fixes / changes.
- Forum - Find the progress reports of ongoing and past GSoC projects along with a lot of gameplay ideas and lore
- Twitter - We'll tweet regularly about significant commits or new discussion topics posted, so "Follow" us for updates.
- Facebook - If you prefer to keep updated via Facebook you can "Like" us on there to keep up.
- Jenkins RSS - If you really want to know when something has just been built ;-)