/Terasology

Terasology - open source voxel world

Primary LanguageJavaApache License 2.0Apache-2.0

Release License (Code) License (Art) Code climate maintainability Code climate tech debt Code climate issues

The Terasology project was born from a Minecraft-inspired tech demo and is becoming a stable platform for various types of gameplay settings in a voxel world. The creators and maintainers are a diverse mix of software developers, designers, game testers, graphic artists, and musicians. We encourage others to join! We encourage contributions from anybody and try to keep a warm and friendly community and maintain a code of conduct.

Community

If you want to get in contact with the Terasology community and the whole MovingBlocks team, you can easily connect with us, share your ideas, report and solve problems. We are present in nearly the complete round-up of social networks. Follow/friend us wherever you want, chat with us and tell the world.

 

                             

Installation

Minimum Requirements
System (OS) Windows, MacOS, Linux (64 bit)
Processor (CPU) dual-core CPU
Memory (RAM) 4 GB
Graphics* (GPU) Intel HD Graphics (Gen 7)
GeForce 8xxx series (or higher) or
Radeon HD 2000 series (or higher)
with OpenGL 3.3
Storage (HDD) 1 GB

* Please note, that if you have both integrated (chip) and dedicated (card) graphics, you should make sure that you're actually using your dedicated graphics when running Terasology.

Internet connectivity is required for downloading Terasology via the Launcher, afterwards playing offline is possible.

For easy game setup (recommended) you can use our launcher - download it here.

For more information about playing, like hot keys or server hosting, see the dedicated page or check out the modules.

Alternative Installation Methods

If you already have a Java Development Kit (JDK) installed, you may use a direct download release as an alternative to using the launcher. Java version 17 is required.

ßDirect download stable builds are uploaded to our release section here on GitHub while the cutting-edge develop version can be downloaded direct here from our Jenkins.

Development

Development is possible on all common platforms (Windows, Linux, MacOS) as long as the JDK is properly set up.

Requirements

Technical Requirements:

  • Java SE Development Kit (JDK) 17. The CI will verify against this baseline version.
    Using newer Java versions may cause issues (see #3976).
  • Git to clone the repo and commit changes.

Non-Technical Requirements:

Workspace Setup

To be able to run Terasology from source, you'll need to setup your workspace. Follow the Contributor Quick Start Guide. This guide is designed for IntelliJ IDEA (you can use the free community edition), but alternative setups are possible.

⚠️ Note, that a Terasology workspace is a multi-repo workspace.

While your workspace itself is a clone of MovingBlocks/Terasology, every subdirectory in your workspace directory ./modules/ is a clone of a Terasology module repo.

Accordingly, if you want to contribute to modules, you'll need to navigate into the respective subdirectory and work with Git from in there. Any Git commands executed in your workspace root will target MovingBlocks/Terasology.

For more information, see our wiki entry on Understanding Terasology's Git Setup.

Contributing

Detailed information on how to contribute can be found in CONTRIBUTING.md. Remember, that all submissions must be licensed under Apache License, Version 2.0.

Terasology has a rather steep learning curve in the beginning. To help you with the learning process, our Terasology Knowledge Base, formerly known as the Terasology Engine wiki, helps you find the resources you need according to the field of contribution you're interested in. Additional learning resources can be found in our tutorial modules.

If you find errors or issues in any of our resources, please report them using GitHub issues and help fix them.

For developers that have not worked with complex software systems or dealt with the intricacies of Java yet, we recommend to start with Good First Issues in Module Land.

Developers with previous experience in rendering, physics and other less trivial aspects of game development are welcome to give the Good First Issues in Engine a go.

License

Terasology is fully open source and licensed Apache License, Version 2.0 for code and Creative Commons Attribution License, Version 4.0 for artwork (unless indicated otherwise - see credits for minor exceptions).