Inexor - Community fork of the Cube 2: Sauerbraten game.
Clone or download
Croydon fix(travis): Remove buggy Travis stage conditions
The tag creation is protected by other checks already (see .travis.yml file down below).
Latest commit 1642f61 Aug 25, 2018

readme.md

Inexor

Build Status Build status

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
    • JavaScript + asynchronous + package manager
  • 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.

However, if you want to influence our development you should join us on Riot.im#inexor. For more ways to to talk with us check the Contact) page on the wiki.

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?

Have a look in our features section and our changelog.

If you are a developer familiar with Sauerbraten worrying about the direction we are going check out the posts in our blog called "Design Decisions" (Design-Decisions Part1 and check out our FAQ.

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.

Build

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.

Join us

You have already accomplished the first step by reading this readme. Congratz!

The second one is only slightly harder by joining us in Riot.im#inexor, consider the contact page in our wiki for more ways to chat.

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.

License

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.

Resources