Science Fair Project Encyclopedia
- For the rocket launcher, see Ariane
Arianne is an online multiplayer open source framework for developing internet games, like Ultima Online or Everquest, created by Miguel Angel Blanch Lardin in 1999 with the assistance of developers around the world.
Arianne is designed to provide a simple way of creating games on a portable and robust server architecture. Its server is coded in Java and uses Python for a third party game description, provides a MySQL backend and uses UDP to communicate with dozens of players. Arianne reference clients are coded using Java and C.
Arianne has been in development since 1999 and has evolved from a tiny application written in pseudo-C++ to a powerful, expandable but simple server framework, running on the Java platform, and a portable client framework, written in bare C to allow toal portability of Arianne's clients. Arianne's server is totally client agnostic. 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 GNU GPL license. Arianne developers believe the right way is the open source way and want everyone to have the power to change, edit and configure whatever they want, both on the clients and server. Arianne always welcomes contributions and modifications to the code to create the best possible open source reference platform for game content providers.
Where the name Arianne came from
The name came from Ariadne, a goddess of Greek mythology (Latin; Arianna and from French; Arianne). Ariadne was the daughter of King Minos of Crete. She was in love with Theseus, an Athenian hero who killed the Minotaur (half human, half bull creature). However, Theseus left her alone on the island of Naxos where she later married Dionysus (the god of wine). "Ari" means intelligent; "adnis" means pure (virginal), hence the daughters of the Romans and Greeks were often called by this name.
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 said, 'heh, there is not a single RPG for Linux, it would be nice to create one'. At the time Miguel was unaware of games such as Nethack, Crossfire, and Altima.
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 hacker community.
The coding of the game has begun. Project Arianne has just started. Visit the page  . 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.
A short declaration from that time of what Arianne should be:
What is Arianne? Arianne is an RPG proyect 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 similar games. Every NPC will have a story, a ascendants, a set of goals and a personality, so there is no two exact NPC. Items are added to the program using a interpreted language that ease it load and that makes it independent of the operating system where the server runs. Game will is ruled by laws, economical relations between states, politic relations, weather, geography and so. To advance on experience points you don't need to kill, but to role play.
At the time when this was written, Java, Python, and XML all either did not exist or were not very popular.
The very first version of Arianne: a 2D client.
During that year, Arianne evolved anarchically and fast to 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 the portability, as the game was runnable on Windows, Linux and BeOS thanks to SDL, which at that period was the 0.10 version.
In the year 2000, Arianne reached version 0.3.0 and that was the first version to feature a real client-server framework. Everything was pretty hardcoded and 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, and Arianne was 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 was the creation of a core of developers, some of whom were Ulrich Eckhardt , Masahiro Minami and Dan Brown, and the fact that the client was running on Linux, Windows, BeOS and Mac OS. The base still had the problem of being very hardcoded and the source was badly written so they completely recoded it, saving only the knowledge gained from previous mistakes. This halted the project for around six months during which there was no significant progress. 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 written down on web pages and made available to everyone. These design documents (ignoring big changes in the implementation) are still valid.
Miguel successfully managed to coordinate about 30 people and to make a standard image of the project, thus everything looked like part of a common project... of Arianne.
2001 was a very successful year for Arianne. Many new people joined the project. However, unfortunately a new type of contributor appeared: the camper. These were people that joined the project, asked for tasks and then vanished. They delayed the project a lot 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, and that would create a base for the next project steps. This year also featured two more releases of tech previews of Galadriel, which was the 1.2 version of Arianne. Coding started on new features such as a database backend and a secure login procedure.
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 created again, this time using PHPNuke. Olivier Milla and Djagg worked really hard on the website to make it unique and different.
The progress on the project was great even though some of the core developers dropped out. Many great contributors joined, such as Skyflash and Brian Rowe. The project was #1 on Sourceforge for about a month during July, 2002. But then problem arose. The code was not as clean and nice as Miguel thought it should be, and he suggested a re-code of the project. However some developers disagreed. This, coupled with the fact that there were only one or two active workers, led to the result of a burn out and the project was declared dead around September 24th of that year.
Arianne is dead. This project is really exhausted and IMO it can't continue anymore on the actualy 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 instable 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 a 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 an 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 a lot of consulting on the project, it was evaluated on the whole, and lots of changes were proposed. But Euan disappeared. After that Skyflash took the leadership, and, using the base work of both Euan's period and the previous years, he started to work on a new version that featured a 3D client using plib .
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, thus starting 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 to take over the project for at least six months to a year.
Meanwhile, Miguel had started Marauroa , a Java clone of Arianne that has the things he thought Arianne should have had: UDP, a database backend, persistent objects, scriptable, and overall robustness. Around December 2003, along with the help of Waldemar Tribus , he had a working version.
Miguel asked Skyflash to pass leadership to him for the next six months, and so in October 2003 he became leader again. He created a new webpage and removed the PHPNuke in favor of a previous website that Djagg had made. He then wrote a revision of the project status to know 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.
In 2004, Marauroa joined Arianne as a single project. Arianne's goals were redefined so that Arianne became a framework to create online multiplayer games, and Marauroa was the content management system of Arianne framework. Marauroa now features a fully scriptable RP engine using Python. Arianne was rewritten to be only a 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 made possible.
Arianne's server is Marauroa : Marauroa is a Java implementation of the Arianne design so that it is secure, fast and robust platform for providing content. The goal of Marauroa is to ease the creation of multiplayer games as Content management system eased the creation of webportals.
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. 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 little assumptions about what are you trying to do, allowing a great freedom to create any game type.
Arianne's client is not defined but a reference platform is available. This 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 you automatically get the updates and fixes in your games.
Arianne features several games, some of them done to test the different iterations of the engine, some of them done by third parties. Most of the games are in constant development.
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 play game that will try to be as fun as pen and paper games.
In Gladiators you are the player, and you own several gladiators. 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 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 better equipment, and better gladiators.
This is an implementation of a multiplayer Pac-Man style game using the Arianne framework. 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 served as a base for further development of the framework.
The contents of this article is licensed from www.wikipedia.org under the GNU Free Documentation License. Click here to see the transparent copy and copyright details