Awesome
<p align="center"><img src="./docs/images/terasology-logo.png" height=400px/></> <div align="center"> <a href="https://github.com/MovingBlocks/Terasology/releases/latest"> <img src="https://img.shields.io/github/release/MovingBlocks/Terasology.svg" alt="Release" /> </a> <a href="http://www.apache.org/licenses/LICENSE-2.0"> <img src="https://img.shields.io/badge/license(code)-Apache%202.0-blue.svg" alt="License (Code)" /> </a> <a href="http://creativecommons.org/licenses/by/4.0/"> <img src="https://img.shields.io/badge/license(art)-CC%20BY%204.0-blue.svg" alt="License (Art)" /> </a> <a href="https://lgtm.com/projects/g/MovingBlocks/Terasology/alerts/"> <img src="https://img.shields.io/lgtm/alerts/g/MovingBlocks/Terasology.svg?logo=lgtm&logoWidth=18" alt="LGTM Alerts" /> </a> <a href="https://lgtm.com/projects/g/MovingBlocks/Terasology/context:java"> <img src="https://img.shields.io/lgtm/grade/java/g/MovingBlocks/Terasology.svg?logo=lgtm&logoWidth=18" alt="Java Grade" /> </a> </div> <h3 align="center"><b> <a href="#community">Community</a> | <a href="#installation">Installation</a> | <a href="#development">Development</a> | <a href="#license">License</a> </b></h3>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.
<p align="center"> <a title="Discord" href="https://discord.gg/terasology"> <img src="./docs/images/discord.png" width="48px"/> </a> <a title="Twitter" href="https://twitter.com/Terasology"> <img src="./docs/images/twitter.png" width="48px"/> </a> <a title="Facebook" href="https://www.facebook.com/Terasology"> <img src="./docs/images/facebook.png" width="48px"/> </a> <a title="Reddit" href="http://www.reddit.com/r/Terasology"> <img src="./docs/images/reddit.png" width="48px"/> </a> <a title="Youtube" href="https://www.youtube.com/user/blockmaniaTV"> <img src="./docs/images/youtube.png" width="48px"/> </a> <a title="Patreon" href="https://www.patreon.com/Terasology"> <img src="./docs/images/patreon.jpg" width="48px"/> </a> <a title="Terasology Forum" href="https://forum.terasology.org"> <img src="./docs/images/forum.png" width="48px"/> </a> </p>
Installation
<table> <tr> <td></td> <th>Minimum Requirements</th> </tr> <tr> <td>System (OS)</td> <td>Windows, MacOS, Linux (64 bit)</td> </tr> <tr> <td>Processor (CPU)</td> <td>dual-core CPU</td> </tr> <tr> <td>Memory (RAM)</td> <td>4 GB</td> </tr> <tr> <td>Graphics* (GPU)</td> <td style="vertical-align:top"> Intel HD Graphics (Gen 7)<br/> GeForce 8xxx series (or higher) or<br/> Radeon HD 2000 series (or higher)<br/> with OpenGL 3.3 </td> </tr> <tr> <td>Storage (HDD)</td> <td>1 GB</td> </tr> </table>* 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 11 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) 11. The CI will verify against this baseline version. <br>Using newer Java versions may cause issues (see #3976).
- Git to clone the repo and commit changes.
Non-Technical Requirements:
- familiarity with Git. Have a look at https://learngitbranching.js.org/ if you're not familiar with Git yet.
- familiarity with GitHub, especially forks. Have a look at GitHub's "Working with Forks" Guide if you don't know how to work with forks yet.
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.
:warning: 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 Adventure Site 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 wiki and 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).