Getting started

From OpenAnno

Jump to: navigation, search

[edit] Introduction

This article should become the starting point for interested developers that want to join the team or just use some parts of it for their own development. The basic idea is to have a central page where we point you to the important things OpenAnno developers should know about. It just gives you an introduction to several aspects and does not intend to cover these things in detail. It is meant to be a starting point from which you can begin exploring the world of OpenAnno.

Contents

[edit] The idea behind OpenAnno

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 series. OpenAnno however is not an Anno emulator and you cannot play Anno with it. OpenAnno is not able and not supposed to use content from Anno. Therefore, you don´t need Anno to play OpenAnno. OpenAnno will be based upon the FIFE game engine. We have agreed to help the FIFE developers integrate features we develop for OpenAnno, but which could be useful for other games as well, into their engine.

[edit] SVN repository

If you´re an interested developer, the best way to get into OpenAnno is to take a look at our current source code. We offer public access to our SVN repository so you can always get the most recent code.

[edit] Compiler & build tools

OpenAnno consists only of Python scripts and thus doesn't need to be compiled. You should take a look at our Compiling article which describes how to get FIFE and OpenAnno running.

[edit] Project design planning

[edit] Design documents

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 OpenAnno team and gives us general orientation on what concepts need to be integrated and what features are already implemented as planned.

[edit] Roadmap

After the feature list tells us what features we want to have in OpenAnno and the design doc gives us an idea how to implement them, it's time for a roadmap. We use the trac project planning software for this purpose. Trac is comparable to other tracker systems like Bugzilla although it offers many additional features for project planning and organisation. You can use Trac as project wiki, online source code and SVN revision viewer, roadmap and milestone system. The basic idea is to create "tickets" the developers can take and resolve. To explain all possibilites of trac would go beyond the scope of this article. If you want to get more information about trac, you can visit our trac information page. You can find our trac-based roadmap there too.

[edit] Epydoc documentation

The epydoc software offers a good way to document code for easier reading and understanding. It generates a set of online documentation pages for the code, by structuring it into useful categories and providing graphs to illustrate relations between the different engine classes and functions. As it is a great way for coders to get a general and quick engine overview, OpenAnno provides such a epydoc documentation of its code.

[edit] IRC channel

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 public IRC channel 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 OpenAnno and have questions about the project, it´s a good idea to visit our channel to have a chat with us! :-)

We stopped to have weekly meetings as it was too hard to get the majority of the devs together at one time. However there might be meetings for special events in the future. Additionally, we have short meetings in the evening hours if needed. We expect that active developers spend their time on the IRC channel when they´re working on OpenAnno. This eases the communication, makes brainstorming possible and boosts our overall productivity.

We do appreciate if semi-active and even currently inactive developers idle at the channel. You surely find the time to read through the channel log for 15 minutes in the evening so this should be a good way to keep yourself up to date about the project even although you can't actively contribute to it at this time.

[edit] Developer blog

We stopped having regular news updates and decided to start a developer blog as replacement. This blog is the best way to inform the community about the latest events. Every developer gets write access to the blog and is encouraged to write some little updates about his work on OpenAnno from time to time. Help us to keep the blog active and up to date :-)

[edit] 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.

You'll need to register if you want to post at our forums.

[edit] Getting involved

So after reading all of this you´re aware of the basic project structure and tools the development team is using. So you´re not scared away (yet) and would like to get involved by actively contributing to the development? Well, that's a good idea! :-) However, we know from the feedback of new developers that they actually have a hard time to find out how´s the best way to get involved in the project.

Therefore we´ve added this extra section to this getting started guide. There is not a lot of new information here but it summarizes and emphasizes the most important steps how to get involved instead. Just reading this paragraph and not the rest of the article will surely leave you with a lot of questions about OpenAnno. So do yourself and us a favour by reading the full article and this paragraph after you done so, in case you did directly jump here in the hope of being able to get involved without the need to read the whole article.

Experienced developers who were involved in several similar team projects before do surely already know the majority of our used development tools so skimming through this article might be sufficent for them.

[edit] IRC activity

After working on this project for almost one year now we found out that the best way to get involved is to visit our IRC channel. Although you could also get in contact with the developers by posting in our forums, IRC communication works faster, you can directly ask upcoming questions and we can often answer them almost immediately.

Additionally you´ll get a better feeling for the personal chemistry between the developers. That might not sound important but if you intend to spend several months 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.

[edit] Starting the work

First, check out the code from SVN and make it run. You should be able to do this using the instructions found in the wiki. In case you cannot, feel free to pop into our irc channel or send an email where you explain the problem.

After you have successfully run OpenAnno and played with it, you possibly want to contribute somehow. In this case you can pick an open ticket from our public task list. So take a look at these tickets, come to our IRC channel or send an email where you state which ticket you are going to tackle. After you have solved the task, meet us in IRC and present your solution. If your patch has been reviewed and approved, you will become part of the team and will receive commit rights to our repository.

Personal tools