Skip to content

Getting started

Thomas Kowaliczek-Schmer edited this page Sep 2, 2019 · 14 revisions

If you are new to Unknown Horizons, this is the place to start. You will be presented the tools used at Unknown Horizons and be given information on how to get further involved with the project.

The idea behind Unknown Horizons

Our intention is to create an open source realtime economy simulation game with strategy elements in an isometric 2D engine loosely oriented towards Sunflower's Anno / A.D. series. Unknown Horizons however is not an Anno emulator and you cannot play Anno with it. Unknown Horizons is not able and not supposed to use content of the Anno series. Therefore, you don't need Anno to play Unknown Horizons.

Unknown Horizons is based upon the FIFE game engine. We have agreed to help the FIFE developers integrating features we develop for Unknown Horizons, but which could be useful for other games as well, into their engine.

Project design & planning

Design Document

It's important to know that a design document is not just a description of the current project status but also a vision of what the game should become in the future. So it serves as a kind of roadmap for the Unknown Horizons team and gives us general orientation on what concepts need to be integrated and what features are already implemented as planned. You can find the Design Document here: Home.

Roadmap

After the feature list tells us what features we want to have in Unknown Horizons and the design document gives us an idea on how to implement them, it's time for a roadmap. We use Github Issues for this purpose.

The basic development idea is to create "issues"/"tickets" the developers can accept and resolve. Bugs are also tracked and reported as issues: Report new issue on Github

You can find our rough project roadmap here on Github.

Epydoc Code API

We provide an Epydoc Code API of the Unknown Horizons code.

Discord Server

You might often like to know what the other developers think about a certain idea and in this case "live communication" is often easier and faster than e.g. posting in the forums. We operate a Discord Server where the developers meet.

You're quite likely to meet one or even a whole bunch of the developers in the channel in the evening hours (GMT). So if you're interested in Unknown Horizons and have questions about the project, it's a good idea to visit our channel to have a chat with us! :-)

We expect that active developers spend their time on the Discord Server when they're working on Unknown Horizons. This eases the communication, makes brainstorming possible and boosts our overall productivity.

Forums

If you're not a developer or want to discuss aspects that are not strictly development related, our forums are a good place to post.

Mailing Lists

http://lists.unknown-horizons.org/cgi-bin/mailman/listinfo Please use the uh-dev Mailing List

Getting involved

You'd like to get involved by actively contributing to the development? Well, that's an awesome idea! :-)

IRC activity

The best way to get involved is to visit our Discord Server Although you could also get in contact with the developers by posting in our forums, Discord communication works faster - you can directly ask upcoming questions and we can often answer them almost immediately.

You will get a feeling for the personal chemistry between the developers. That might not sound important but if you intend to spend a lot of your time on a project that can't pay its developers, you surely like to enjoy the stay at least. Being around at the channel will give you a good impression of the team atmosphere and should help you to decide if getting involved would be not only work but at least also a bit of fun.

Getting Unknown Horizons from the git repository

If you're an interested developer, the best way to get into Unknown Horizons is to take a look at our current source code. We offer public access to our git repository on github so you can always get the most recent code.

To get familiar with git, we recommend our git cheatsheet. You will only need clone right now.

Programmers

Starting to work on Unknown Horizons

First, clone a local copy of the git repository and make it run. You should be able to do this using the instructions found on the download page. In case you cannot, feel free to pop into our irc channel or send an email where you explain the problem. The forums are also open to any question you have.

After you have successfully run Unknown Horizons and played with it, you possibly want to contribute to Unknown Horizons. In this case, you should first take a look into the guide for Coders. After you are familiar with the code you can pick an open ticket from an active milestone on our Roadmap.

When you have solved the task, open a pull request on Github where you present your solution. We will review your patches and merge after some iterations. Don't worry if some comments sound harsh, you can learn much from them and we love to merge new stuff especially after seeing it improve in the pull request :)

If some pull requests were successfully merged, you will be asked whether you'd like to officially become part of the developer team and receive push access to our main repositories. Of course you can just continue to work on anything you like and submit the occasional patch, too - no strings attached!

Graphic Artists

Check out our page full of information for Artists!

Sound Artists, Design Document Writers etc.

Please join our Discord Server to discuss any further work. In case you already have a piece of music finished for Unknown Horizons feel free to post it on our forums.

Starter Tasks:

https://github.com/unknown-horizons/unknown-horizons/labels/starter

Clone this wiki locally