From: Miguel A. B. L. <mig...@ho...> - 2004-04-25 22:03:10
|
Hi all, Someone asked a few weeks on IRC what is Arianne... and I did find that website is really bad at that. It doesn't say what is arianne... and well... I have started to work on it. Please read it. Do you think I have forgot something? and more important, did you find something that is not true? Regards, Miguel --- Arianne is a multiplayer online games framework and engine to develop turn based and real time style games. It features a simple way of creating your games on our portable, robust server architecture, that runs on Java using Python for writting your games, that is powered by a mySQL backend to communicate with dozens of players using an UDP transport channel. Our reference clients are coded using Java and C language in order to achieve maximum portability. Arianne has been in development since 1999 and it has evolved from a tiny application written in pseudo-C++ to a powerful, expandible server framework running on the Java platform and a portable client framework written in bare C to allow total portability of arianne's clients. Arianne's server is totally client agnostic. But since 1999, the key concept at Arianne has been KISS: Keep it simple, stupid. Our achieved goals are: simple, small, fast Arianne has been since the begin an Open source project, written and release on each version as GNU GPL software. We do believe the right way is to give you the power to change, edit and configure whatever you want, both on clients and server. Arianne always welcome your contributions and modifications to the code to make this the open source reference platform for game content providers. Arianne is playable. Arianne now supports three games, a TicTacToe game, a multiplayer Gladiators fighting game and a multiplayer Pacman game. You can read more about them on our main page http://arianne.sourceforge.net All our efforts are supported by arianne's server: Marauroa. Marauroa is completly written in Java using a multithreaded server architecture with a UDP oriented network protocol, a mySQL based persistence engine and a flexible game system based on open systems totally expandible and modifiable by developers and that is able to run scripts on Python for the game's rules. Marauroa is based on a philosophy we called Action/Perception, on each turn a perception is send to clients explaining them what they percieve and clients can ask server to do any action in their names 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 whatever type of game you want. Bugs are facts of life, they just happen. But Arianne is fully tested using Test Units with JUnit and cppunit, so all modules are tested for most common cases, allowing a better quality software to be deployed. Your cooperation reporting problems is simply invaluable: You are our best developer and we want to read from you. Marauroa is based on a very simple principles that describe its way of working: - Client communicate with server and viceversa using an UDP portable network protocol with reliability in mind to allow a stabler experience on online game when lag happens. You can develop an arianne client on anything that is able to compile C code using arianne client framework. - In order to play a game everyone needs an account on the server that is identified by an username and a password. - Players uses that account to login into the server and choose a player to play the game from the one they have available in their accounts. Server check that login information using the mySQL backend and load the player into the game using the persistence engine. - Players cast actions to server in order to play. Action system is totally open and has nothing hardcoded, fit it totally to your game style. Server sends on a timely manner, called turn, a perception to players to inform them about the state of the game and any relevant state modifications. Marauroa's perception system is based on Delta^2: simply send what have changed. - Server execute on each turn a piece of code in order to move game status from one turn to the next. Using this hook it is simple to code triggers, timeouts, conditions and whatever kind of behaviour you need. - Server transparently and automatically store players and game status modifications on the persistence engine, and what is stored is also decided by developers using the script language. - Server games rules can be written in Python to allow simple and rapid development of the game rules engine without recompiling and having to know anything about Marauroa internals beyond what you are reading here. Games rules can also be coded in Java. - Server features zero administration feature, but in case you want, a webserver is running inside server to provide an HTML interface on server so you can access to it remotely to change, edit and configure as you need.(1) - Server generate statistics of usage, and they are stored on a mySQL database so you can later generate fancy statistics from it. Or in case you don't care, they can be disabled so you don't waste CPU and disk space on it. Marauroa features a builtin style using modules that can be changed and disabled without affecting others. - Both server and client is fully and wisely documented, with documentation about specification and design and not just an API documentation. Are you excited? Take a look at our example of how to create an online game on a few simple steps.(2) (1) As if 2004/04/25 this feature is still to be implemented. (2) I am going to use mapacman for this, so it is on the way. _________________________________________________________________ The new MSN 8: smart spam protection and 2 months FREE* http://join.msn.com/?page=features/junkmail |