Project of the Month, March 2010

Arianne

The Arianne project was established in 1999 and is still thriving today. It is an umbrella project, covering several subprojects. The most important ones today are Marauroa, Stendhal and Marboard.

Marauroa is an open source framework and engine to develop turn-based and real time games. It provides a simple way of creating games on a portable and robust server architecture. Marauroa manages the client server communication and provides an object orientated view of the world for game developers. It further handles database access in a transparent way to store player accounts, character progress and the state of the world.

Stendhal is a fully fledged and completely free multiplayer online adventures game (MMORPG). It features a new, rich and expanding world in which players can explore towns, plains, caves and dungeons. Players will meet NPCs (non player characters) and acquire tasks and quests for valuable experience and cold hard cash. The character will develop and grow and with each new level become stronger and more skillful. With the money acquired new items can be bought and armor and weapons improved. And the blood thirsty ones out there can satisfy their killing desires by roaming the world in search of evil monsters.

Marboard is an early prototype of an easy to use vector graphics program allowing live collaboration over the Internet. While it is not ready for production use yet, it is a good proof that Marauroa is suitable for serious applications, too.

Why and how did you get started?

Arianne was born over ten years ago. In 1999 a posting on Linuxgames about “What I’d like to see in an RPG” was made. When Miguel Angel Blanch Lardin saw the posting he founded the Arianne project, unaware of other games like Nethack which may already fit the criteria. The first version of the website was in Spanish but it was quickly translated to English because of public demand.

Today Stendhal is the subproject most people are interested in. It is interesting to note that it started as a test case for multi zone support in our framework Marauroa, in early 2005.

Who is the software’s intended audience?

Arianne in general is targeted at both game developers (including programmers and artists) and players. This leads to a very nice symbiosis which gives us lots of real usage feedback and allows us to incorporate it quickly. The game Stendhal is fully playable and a lot of people are playing it on a daily basis. It is, however, still in heavy development, with about a new release every month. There are localized versions of Stendhal with local communities in countries all over the world, including Germany, Poland and Japan. Perhaps the most notable ones are KrakowMobile and Player-like world.

KrakowMobile is a Stendhal fork featured on the website of the city Krakow. The Stendhal maps are replaced by maps of Krakow with real world images of historically important buildings, and NPCs replaced by famous people from Krakow and Poland.

Player-like world is a modified version of Stendhal used for online game research in a Ph.D. study. The study explores if it is possible to differentiate between characters played by humans from characters played by computers, a sort of a Turing test for online games characters.

What are a couple of notable examples of how people are using your software?

As previously mentioned, there are localized versions of Stendhal with local communities in countries all over the world, including Germany, Poland and Japan.

What are the system requirements for your software, and what do people need to know about getting it set up and running?

The Stendhal client just depends on Java Runtime Environment. So once Java is installed you can start to play without having to edit any configuration settings.

The Stendhal server does require a database. We got a lot of support requests from people trying to setup and configure MySQL. While MySQL is part of all common Linux distributions, configuring it on Microsoft Windows is not that easy. So in the last version we added support for the installation-less H2 database.

Marauroa as a game engine is of course targeted at developers. So you will most likely need a Java Development environment and some experience with programming.

What gave you an indication that your project was becoming successful?

It was a number of small indications over a period of time. For example, the Arianne project reached very high scores on the SourceForge activity ranking. Possibly more important is that the number of users and positive feedback has increased steadily. Last but not least the number of people that went from users, to contributors, to core developers has increased over time.

What has been your biggest surprise?

Hendrik: I was very surprised when I learned about the Polish fork KrakowMobile being featured on the official website of Krakow (which is the second largest city in Poland). There are even newspaper articles about the launch event. Oh, and seeing a Japanese fork of Stendhal using Japanese characters was very interesting, too.

Katie: I started playing Stendhal just for fun, and I had little programming experience. Now I can code in Java, script in MySQL, (and got a wonderful day job using these), my German and Spanish have improved enormously and most importantly I’ve made friends for life.

What has been your biggest challenge?

Stendhal is still under heavy development. This means that we constantly add new interesting features and in rare cases this may dramatically change the RP system.

For example in the past there was the simple rule “the faster the weapon, the better”. This had the strange impact that a light knife was more suitable than a heavy sword to fight a huge dragon. So in 2008 we added a new property: “weight”. Now heavy weapons are more suitable against huge monsters. Light weapons are still useful to fight small creatures. As usual we put information about “weight” into the release announcement and even added some NPCs in game to explain it. But a number of players totally ignored it, went right into big trouble, and got angry. It took a couple of days until the word was spread and the situation improved.

The challenge we face is to communicate such changes in a way that is noticed by all our users.

Why do you think your project has been so well received?

On the social level Arianne has a very friendly and nice community, which we consider very important. Unlike other “free” games, we publish the complete source code and graphics of the client, server, and website under a free license (GPL/AGPL).

On the more technical level Arianne strongly believes in two principles: “Release early, release often” and “Keep it simple, stupid.” This basically means that we try to break complex issues down into a number of small parts. We then tackle them one after the other and share the results as soon as possible. This way we get early feedback and our users can follow our progress.

Last but not least, Stendhal is a nice online role playing game with beautiful graphics and a retro feel, and players have commented that it offers something different from other MORPGS.

What advice would you give to a project that’s just starting out?

Have a vision. And a plan.

The vision is what you want your project to be about. It is the main source of motivation.

The plan helps you to achieve this goal in small steps. Especially at the beginning of a new project it is very easy to get lost in some interesting details. We think it is important to have a working prototype out rather quickly (within a month, better within a week). Don’t be afraid to share your work just because some features are not finished. Just openly tell people what works and what does not work, yet, and ask them for feedback.

New open source projects may be very keen for contributors to join the team. Who you add to your project and invest time in, is important to get right. Early in Arianne’s history were problems with commitment from developers who joined the project. These were people that joined the project, asked for tasks and vanished after that. It was a pity because they delayed the project a lot and made it much harder to keep adding new features. Since then, we ask new developers who want to contribute, to start by submitting patches to the SourceForge Tracker for review. We counter the possible demotivating effect of this by communicating as much as possible and coordinating new and interesting tasks. New developers are only then added as project members with write access to the repositories after agreement from the rest of the team.

Where do you see your project going?

The next major step in Marauroa will be rewriting the database access code to be totally asynchronous. So if the database server is offline for say 2 minutes because of a database server restart the game should be able to continue as if everything was just fine.

The last version of Stendhal introduced huge improvements to the sound and music system. We are currently in the process of improving the ambiance all over the world by adding fitting sound effects and background music. The next major step are changes to encourage more teamwork. There are a couple of ideas surrounding class roles, parties and guilds.

What’s on your project wish list?

Another ten successful years with our friendly and helpful community. May it continue.

Oh, and we are looking for a new Java Webstart code signing certificate because the one we are using now has expired. Unfortunately many signing companies refuse to deal with Open Source Projects or are way too expensive.

What are you most proud of?

The Arianne project has a very nice and helpful community.

If you could change something about the project, what would it be?

That is a hard question given that Arianne is 10 years old and a lot of things have changed in this time. At the start the main programming language for example was C, now it is Java. We try to break huge features and changes into small parts that we can handle

How do you coordinate the project?

We use SourceForge’s trackers for bugs, patches, and feature requests. The forum and mailing lists have played an important role in the past and they are still monitored and new postings answered quickly.

Most of our communication, however, has moved to #arianne on the Freenode IRC network. There, we have meetings, discuss plans and support users. The support varies from people wishing to set up their own Stendhal server, to those wanting to create a new game using Marauroa. In the IRC channel is a CIA bot which announces commits to CVS, play-by-play, so everyone is aware of what is happening to the source code.

How many hours a month do you and/or your team devote to the project?

The project leaders and core developers spend way too much time on it.

What is your development environment like?

Most core developers run Linux. Microsoft Windows, however, is used by many contributors. Eclipse is the most commonly used IDE in the project, although our project leader is sticking resolutely to Emacs. The nice thing about Eclipse is that you can change a couple of lines of code and test them immediately without having to recompile the complete project. We use ant for compiling the code outside the IDE and for creating the distribution.

We also use Hudson for continuous integration and automatic testing. The CIA Bot and the Hudson Bots in our IRC channel keep us informed about what is going on in the code.

Gimp is very popular among the graphic artists, and Tiled is used for mapmaking.

Milestones:

2000 Arianne’s first version to feature a real client-server framework
2002 Python RP system, database backend and xml world definitions, 2D client
2003 Marauroa was born starting the movement from C++ to Java

2004 Games: Mapacman (a multiplayer pacman clone) and Gladiators
2005 Stendhal mutated from a test case for Marauroa to a playable game
2006 Stendhal: Banks, friends list, and an automatic client update

2007 Stendhal: Rated weapons and a complex quest chain surrounding marriage
2008 Marauroa: 2.0 Stendhal: new combat system, grammar parsing, different AI profiles, completely redone artwork
2009 Marauroa: DAO approach to database access. Stendhal: housing, OpenJDK support, instantiated dungeons

2010 Stendhal: Trading Center

How can others contribute?

A nice thing about the Arianne project is that a number of people with different interests and skills are working together. Lets start with a group of contributions that is easily overlooked but is very important: Feedback, bug reports, feature requests, ideas. Even support requests are helpful because they show us in which places our software is not as easy to use as we want it to be. So we try to make it as convenient as possible for people to provide feedback. The Sourceforge tracker is a good place to open tickets. Or if someone prefers to chat with us, we have a link to our chat room on the project website.

In Stendhal we try to have at least one new quest per release. Most of the work required to add a quest, however, is not related to writing code. It is on a creative level, creating a nice little story that fits into the world. Then the text the NPCs are going to say needs to be written down. Sometimes new items are required which in turn need graphics. After all those parts are thrown together, the new quests needs lots of testing. Especially testing by people not knowing the inner logic of the program code.

On a more technical level patches and code contributions are very welcome. The source code is well documented and we are happy to answer questions. Those with artistic skills are the people who make Stendhal a beautiful place. Stendhal has very nice and original graphics and music.

Ten years of SourceForge.net


Ten-year badge

This month and for the rest of 2010, we’re highlighting some of our most venerable projects. This month’s Project of the Month is one of about 1,000 that began hosting on SourceForge.net in the site’s first year of existence, beginning in November 1999.


More projects of the month

Project name: Arianne

Date founded: 1999

Project page: http://arianne.sf.net/

Project Leaders



Katie Russell

Occupation: Analyst/Developer

Location: UK

Education: PhD, Mathematics

Hendrik Brummermann

Occupation: Developer of University Management Software

Location: Germany

Education: Diploma in Computer Science (FH), Master of Business Process Engineering (M.Eng.)

Kimmo Rundelin

Occupation: Student

Location: Finland

Education: BA, Material Chemistry

Key Developers



Penny Elaine

Occupation: 30+ years in computer field

Education:Florida Tech

Location: United States



Markus Keunecke

Occupation:Software Engineer

Education:Diplom Wirtschaftsinformatiker (FH), Master of Business Process Engineering (M.Eng.)

Location:Germany



Yuriy Krawtsow aka yoriy

Occupation:C/C++ coder and system administrator of *nix systems

Education:Federal Technical University

Location: Russian Federation, Moskow Region, Kolomna city



Silvio Heinrich

Occupation:Mechatronic Technician

Education: General Certificate of Secondary Education, vocational education

Location: Germany



Why did you place the project on SourceForge.net?

The Arianne project was moved to SourceForge 10 years ago in January 2000. There are little records left of the pre-SourceForge days. This is proof that moving to SourceForge was a good decision because there has been no data loss ever since. Today we are still very happy with this decision.

How has SourceForge.net helped your project succeed?

SourceForge provides a number of very useful tools for developing and sharing free software: version control systems, a very easy to use bug and feature tracker, web hosting, mailing lists, forums, and the file release system. Just to name the most important ones. All those things work out of the box and are very reliable. If we had to setup and maintain installations of these services ourselves, we would have a lot less time to concentrate on our project. And it is obvious that this communication related infrastructure plays a key role in both coordinating development and getting the word out to our users.

What is the number one benefit of using SourceForge.net?

SourceForge has a very good reputation and nicely integrates a number of useful tools for developers and users.