- Arianne
Arianne is an online
multiplayer open source framework for developing Internet games similar toUltima Online orEverquest . It was created by Miguel Angel Blanch Lardin in1999 with the assistance of developers around the world. It is one of the top 75 most active projects hosted onSourceForge.net and sometimes reaches into the top 3.Description
Arianne is designed to provide a simple way of creating
game s on a portable and robust server architecture. Its server is coded in Java, uses Python for a third party game description, provides aMySQL backend, and uses UDP to communicate with players. Arianne reference clients are coded using Java and C.Development Goals
Arianne has been in development since
1999 and has evolved from a tiny application written in pseudo-C++ to a powerful, expandable, and simple server framework running on theJava platform and a portable client framework written in bare C to allow totalportability of Arianne's clients. Arianne's server is totally clientagnostic . Since the beginning, the key concept at the heart of Arianne's development has been KISS: Keep it simple, stupid!Open Source philosophy
Arianne has always been an
open source project, written and released under the terms of theGNU General Public License . The Arianne developers believe the right way is the open source way and want everyone to have the power to modify whatever they want to, both on the clients and the server. Arianne always welcomes contributions and modifications to thecode to create the best possible open source reference platform for game content providers.Etymology
The name came from
Ariadne , agoddess ofGreek mythology (Latin ; Arianna and French; Arianne). Ariadne was the daughter of KingMinos ofCrete . She was in love withTheseus , an Athenian hero who killed theMinotaur (half human, half bull creature). However, Theseus left her alone on the island of Naxos, where she later marriedDionysus (the god ofwine ). "Ari" means intelligent and "adnis" means pure (virginal); hence, the daughters of the Romans and Greeks were often called by this name.History
The beginning
It all began when Miguel read a post on
Linuxgames asking "What I'd like to see in an RPG". Miguel saw the post and, unaware of pre-existing RPGs forLinux such asNetHack , Crossfire, andAltima , decided to fill the gap he thought was there.So, on
July 27 ,1999 , someone posted what they would have like to have seen in such a game::"Something in line with your thoughts is my concept of a sort of Sim Fantasy game setting for an RPG. That is, a great deal of effort is done to create a fantasy world that runs logically in a simulated sort of way, from politics to economics to monster populations, and then let the player interact with that. You decide you want to become King of Generia? Perform services for a lord until he knights you, then work your way up the noble ranks by marriage, heroism, warfare or deceit. Or become a necromancer, build up a huge undead army and attack the kingdom, making yourself ruler when they are defeated. A game that simulated the sort of thing you see in a generic fantasy world is what I'm thinking of here, not an exact medaevil life sim. Incursions of dragons, adventurers stirring up the goblins in the hills with their attacks, an ancient evil awakened by careless nomads in the desert, you name it, it could happen."
:"If you wanted to get really ambitious, the entire world might be random. Use a world creator, run a crude form of Civilization on it until you hit the right tech level, expand upon the basic parameters from the Civ simulation to create the individual lands, peoples, and nations. Populate it with random NPCs, run the world for 100 years or so to give it a bit of history, and bingo. The advantage of this approach is that the game would be infinitely playable. The obvious disadvantage is that it would be hard to get anything like a coherent story out of the game without some pretty sophisticated story mechanics in place."
:"Think if it as "Rogue" on a much larger scale. Heh."
Miguel replied asking for more details and became very interested in the idea. Around one month later the project page was setup and Miguel started looking for help from the community:
:"The coding of the game has begun. Project Arianne has just started. Visit the page [http://members.xoom.com/arianne_rpg/] . The page is in Spanish if enough people ask for it i will post an alternative version in English. E-mail yuor ideas, question or feelings about the project.
:"LINUX FOREVER."
Year 1999
A short declaration from that time of what Arianne should be:
:"What is Arianne? Arianne is an RPG project that will have the next set of features:":* "Infinite World":* "Online gameplay":* "Permanent world":* "Non-hardcoded RPG engine":* "Open development model of items":* "Portable":* "The most important part of the game is the offline one."
:"Ideas to add to project:":* "Depending on the path of the player or NPC, it will do or be able to do some actions insteads of others, and as a result there will never be two identical games.":* "Every NPC will have a story, ascendants, a set of goals and a personality, so there are no two exact NPCs.":* "Items are added to the program using an interpreted language that eases its load and that makes it independent of the operating system where the server runs.":* "Game will is ruled by laws, economical relations between states, political relations, weather, geography and so on.":* "To advance on experience points you don't need to kill, but to role-play."
At the time this was written, Java, Python, and
XML either were unknown to the developers or were not very popular in general.The official start day of the project was
September 8 ,1999 . On this day, an entirely newweb page was released.During that year, Arianne evolved anarchically and fast into a small working offline game where the player was able to move around a piece of terrain of around the size of three screens. The great achievement at this stage was portability as the game was runnable on Windows, Linux, and
BeOS thanks to SDL.Year 2000
In the year
2000 , Arianne reached version 0.3.0, the first version to feature a realclient-server framework. Everything was hard-coded and it was extremely difficult to either add new features or fix existing ones. However, the framework stayed that way up to version 0.3.9.A BeOS version was released, making Arianne one of the first BeOS open source games.
Around this time, the website was rebuilt using Midgard, a content management system.
The real achievements of this release were the creation of a core of developers such as Ulrich Eckhardt, Masahiro Minami and Dan Brown and the fact that the client was now running on Linux, Windows, BeOS, and
Mac OS . The codebase still had the problem of being very hard-coded and was poorly written in general, so it was completely re-coded. This took approximately six months to complete. The project numbering was changed from the expected 0.4.0 version to 1.0.0 alpha 1.The whole Arianne project was extremely well-documented; everything from specification to design was documented on web pages and made available to the public. These design documents (besides large changes in the implementation) are still valid.
Year 2001
2001 was a very successful year for Arianne. Many new people joined the project. Unfortunately, a new type of contributor also appeared: "the camper". These were people who joined the project, asked for tasks and then vanished. They delayed the project significantly and made it much harder to keep adding new features.
The first version of the alpha 1 releases was named Pandora.
This version featured a basic server-client framework that was easy to debug and expand. This created a basis for the next steps of the project. 2001 also featured two more releases of tech previews of Galadriel, the 1.2 version of Arianne. Coding started on new features like a database backend and a secure login procedure.
Year 2002
In the year
2002 Arianne released a major version, named Galadriel, that added a python RP system, a database backend for accounts, an XML storage for the world, and a small 2D client using Kyra, a sprite engine for SDL.The website was again reconstructed using
PHPNuke . Olivier Milla and Djagg worked hard on the website to make it unique and different.Although some of the core developers left, significant progress was still made. Many great contributors joined such as Skyflash and Brian Rowe. The project was #1 on
Sourceforge for about a month during July, 2002. However, problems arose. The code was not as clean and organized as Miguel thought it should be, and he suggested another rewrite of the project. However, some developers disagreed. This, coupled with the fact that there were only one or two active workers, led to diminished interest in the project, and it was declared dead aroundSeptember 24 th of that year::"Arianne is dead."
:"This project is really exhausted and IMO it can't continue anymore on the actually structure. There are 27 developers on Sourceforge and only Steve has been working lately with PHP of developers site and Skyflash with changing the sites content."
:"So 24 of those 27 persons are doing NOTHING."
:"And well, things are even worse if you take a look to the developers site. There are several people joined... around 20, I have dedicated several hours of my personal time to create tasks and fill them with good descriptions so that people can take them and just look what is the reply... Only Steve has used it. None except again Steve and Skyflash has filled a single task. None of the GFX people has joined the site. Well, and about mailing lists... more of the same... I have do a CALL for people to know what everyone is doing here... and the reply has been nothing: None has had time to write a few lines explaining what they are doing."
:"Project code needs a total clearing... I am writing test cases for Arianne and it has found to be really unstable on the Connection and Thread related things, so the only way to continue is to clear it or recode it."
:"If someone offers to take the leadership of Arianne I will transfer him all the keycodes and all the rights over the code that I have written, so that he can continue Arianne as s/he thinks it is better, even changing the license. If none offers to take it, I will meditate about either shutting down it, or clearing ALL and start again from the begin of the begin in a new way no developers, no website, no teams, no tasks, no contributions, no ideas."
:"One of the biggest errors of Arianne has been to be too open, we have accepted on the team people that is not really to take the task, we have accepted tons of ideas that are really impossible to be done, I have failed to motivate and coordinate this group of people into working on it. Also I have written a huge amount of documetation, several of you will say that docs are a shit (like Uli did) but again, none has written a better one, what Uli wrote was only an email long documentation in a very technical language that hardly can help a newbie to understand it. I have created, used and recommended sourceforge trackers but little people has really used it."
:"I have tried to do a schedule of the project but people has not contributed a single line to inform me of what they are doing. You don"t document anything... nor decisions, nor code."
:"Personally, I still have the same motivation to create a MMOG as before starting to work on Arianne, so I will for sure retry it, either on Arianne or by my own with the experience that I have get on Ariane."
:"Anyway, I really want to thank you all the 3 years of Arianne, I have meet real good friends, I have had great times and I have felt the proud of being an open source developer, I also have felt the sadness of getting only bad words of what you do, from inside and outside, I have also understand that people always talk more than they can do. Anyway, Thanks to all."
:"Regards,":"Miguel"
Soon, Miguel received several requests to transfer leadership of the project. The two who were considered seriously were Euan Mee and Skyflash. After a month or so of internal debate a poll was taken and everyone agreed, even Skyflash, to transfer the leadership to Euan. Euan's leadership was short-lived. There was much consulting on the project; it was evaluated as a whole, and many changes were proposed. However, Euan disappeared. After that, Skyflash took the leadership, and, using the work accomplished during both Euan's period and the previous years, he started to work on a new version that featured a 3D client using
plib .Year 2003
In the year
2003 , the project started to move again, and, without dropping the old code, Skyflash managed to fix bugs and add new features such as a 3D client that allowed players to move, fight and cast magic. This version of Arianne featured a Lua scripting engine. This version was called Naxos, a name which began a new version naming scheme.The progress of the project was totally in Skyflash's hands, but he had to move back to his home in September 2003 and he requested someone take over the project for, minimally, six months to a year.
Meanwhile, Miguel had started
Marauroa , a Java clone of Arianne that had the things he thought Arianne should have had: UDP, a database backend, persistent objects, scriptability, and overall robustness. Around December 2003, along with the help of Waldemar Tribus, a working version was completed.Miguel asked Skyflash to pass leadership to him for the next six months, and, in October 2003, he became leader again. He created a new web page and removed the PHPNuke in favor of a previous website that Djagg had made. He then wrote a revision of the project status to determine what was working and how. The result was that the project was advanced, but soon got blocked on all paths because the main developer assigned to each area was MIA. Since Marauroa was in a stable status, it was adopted as Arianne's server.
Year 2004
In
2004 , Marauroa joined Arianne as a single project. Arianne's goals were redefined such that Arianne became a framework to create online multiplayer games and Marauroa became the content management system of the Arianne framework. Marauroa now features a fully scriptable RP engine using Python.Arianne was rewritten to be client-side application able to connect to a Marauroa server. Arianne was simplified to make it easier to write new games, and Python binding was added so that development of games in Python was possible.
Year 2006
In
2006 Stendhal became the most prominent part of the project.Year 2007
In early
2007 Marauroa was refactored to meet the requirements of an online roleplaying game like Stendhal better.Components
Arianne is composed of two different parts: server and client.
Server
Arianne's server is
Marauroa : Marauroa is a Java implementation of the Arianne design such that it is a secure, fast, and robust platform for providing content. The goal of Marauroa is to ease the creation of multiplayer games as aContent management system eases the creation of web portals.Marauroa is completely written in Java using a
multithreaded server architecture with a UDP oriented network protocol, a MySQL-based persistence engine, and a flexible game system. The game system is totally expandable and modifiable by game developers and is able to run Python scripts defining the game's rules. Marauroa is based on a design philosophy called Action/Perception. With each turn, a perception is sent to the clients explaining what they currently perceive. Clients can ask the server to perform any action in their name using actions. Marauroa is totally game-agnostic and makes very few assumptions about what are you trying to do, allowing a great freedom to create any game type.Client
Arianne's client is not defined, but a reference platform is available.
The engine is called ArianneXP and provides a wrapper for C,
C++ , and Python to develop new Arianne clients. All Arianne games must use this wrapper so that updates and fixes are automatically received.Games
Arianne features several games: some of them to test the different iterations of the engine, others by third parties. Most of the games are in constant development.
Objective
The goal of the Arianne project is to create a
fantasy virtual medieval world using only open source tools and following an open source development model. In that world the goal is to run a role-playing game as fun as pen and paper games.Gladiators
In "Gladiators", you own several
gladiator s. As a gladiator your task is to fight and survive in the arena. You can also play as a spectator and join the arena to see the combat and decide the luck of the fighters; as a spectator you can decide if the loser will die once the fighting is over and the amount of fame that is assigned to each of the fighters.Your main goal is to become famous so that you can buy betterequipment and gladiators.mapacman
This is an implementation of a
multiplayer Pac-Man style game. The objective of the game is to score as much as possible by eating pills and making sure you are not eaten by ghosts. The interesting thing about mapacman is that it is online and multiplayer and has served as a basis for further development of the framework. As ofJuly 2 ,2005 it is at version 0.3.Stendhal
Stendhal is a massively multiplayer online role playing game written in Java. In this game, you can buy sheep, raise them, and then sell them. But that's not all you can do. There are many creatures being added in stendhal such as the balrog. There are also many quests and NPCs that give them.
External links
* [http://arianne.sourceforge.net/ Arianne homepage]
* [http://arianne.sourceforge.net/index.php?arianne_url=games/game_mapacman mapacman homepage]
* [http://arianne.sourceforge.net/index.php?arianne_url=games/game_gladiators Gladiators homepage]
* [http://sourceforge.net/projects/arianne SourceForge project home]
Wikimedia Foundation. 2010.