Inexor is a fork of the open-source First-Person-Shooter Cube 2: Sauerbraten, a fast-paced shooting game featuring an in-game map editor.
In contrast to Sauerbraten, Inexor adds a lot of functionality and strives to stay open to improvements and suggestions.
The goal of this project is to be more flexible and create an environment where development is easy, fast and where creativity can prosper.
How is Inexor organized?
We are a non-hierarchical organization. This means we are simply a group of people with different ideas working together without a leader making all the decisions. Anyone of us is free to work on the particular things they want to. For this organization to work properly we rely on good communication. We are on Riot and Mumble pretty much everyday. Every so often we organize official Mumble meetings to discuss our roadmap and strategies.
We are open for new people!
Where are we headed?
Our goal is to make the game as moddable and developer-friendly as possible. Even though we might have refactored most of the code at some point, Inexor should always feel like Sauerbraten gameplay wise.
A popular stance among the Sauerbraten community is "that's impossible", and this is what we want to prove wrong. Our answer to remarks like "things are best like they are" is: standing still means falling behind.
Different features are afoot
giving a general but no inevitably defined idea of where we're going next
- Node.js scripting
- new user interface using HTML5 + CSS3
- functionality to facilitate content-creating:
- better editing features (e.g. a version control system for maps)
- extensibility (e.g. for custom playermodels, sounds,..)
- in-game content sharing
- refractored code to be more modern, documented, scaleable, safe, non-blocking, modular, free, ... than before
- modularity (makes working as/in a team easier)
- heavier use of proven third-party libraries instead of reinventing-the-wheel
We believe that basing our project on these few points will work out for the best.
They have already required a lot of thought and discussion, so chances are high that -in case you're not fully convinced by them yet- you will get convinced by working with it.
And of course, we won't be too proud to rethink this list if you face us with a more thought-through and better-developed alternative.
What have we changed already?
You'll probably find more info on the dedicated wiki-sites, in the readme of the particular module and for specific stuff in the documentation.
A little note on that is that a lot of our decisions are consequences of other ones (e.g. working as a team had influences on the whole build structure, that we use CMake, that we use Git and hence had to split the data and code repository and more ... it's all chained). Consequently, our approach in developing Inexor is probably the most profound one in the Cube engine world.
Good tutorials on the whole process needed to build Inexor can be found in its wiki page, which you should read beforehand for saving you some nerves.
You have already accomplished the first step by reading this readme. Congratz!
To contribute to the project and merge your changes into the master branch you need to convince enough members that the changes are an improvement. It probably won't be an issue. However you should still communicate what you're doing and why you are doing it and of course take feedback and tips from others into account.
More information about the contributing process can be found here.
The Inexor source code and the Inexor files are provided under the terms of the Zlib license. Inexor is a fork of Cube 2: Sauerbraten, which is also licensed under the ZLIB license.
The license covers the inexor-core repository on GitHub as well as the "config" directory in the "media-essential" repository on GitHub.
Game media included in the game (maps, textures, sounds, models etc.) are NOT covered by this license and may have individual copyrights and distribution restrictions (see their individual README/LICENSE files).
In contrast to our predecessor Sauerbraten, our officially bundled content needs to be open source, i.e. allowing all kinds of usage required for increasing the ecosystem around the code, including sharing mods or commercial use.
The included third-party libraries also have individual licenses, please check their respective readme/license information.