What is Marauroa: Difference between revisions
Jump to navigation
Jump to search
Content deleted Content added
imported>Hendrik Brummermann added ohloh stats |
imported>Hendrik Brummermann No edit summary |
||
| (54 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
{{Navigation for Marauroa Top}} |
|||
{{Navigation for Marauroa General}} |
|||
Marauroa is an open source multiplayer online games 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. The server is coded in Java and can use Python for your game description, provides a MySQL or H2 backend and uses an TCP transport channel to communicate with dozens of players. Our reference clients are coded using Java and the C language in order to achieve maximum portability and use open technologies too. |
Marauroa is an open source multiplayer online games 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. The server is coded in Java and can use Python for your game description, provides a MySQL or H2 backend and uses an TCP transport channel to communicate with dozens of players. Our reference clients are coded using Java and the C language in order to achieve maximum portability and use open technologies too. |
||
| Line 7: | Line 9: | ||
* Clients communicate with the server, and vice-versa, using a TCP portable network protocol with reliability in mind to allow a stabler experience when online game lag occurs. |
* Clients communicate with the server, and vice-versa, using a TCP portable network protocol with reliability in mind to allow a stabler experience when online game lag occurs. |
||
* You can develop an arianne client, using the arianne client framework, on any system that is able to compile C code. |
|||
* To play a game every player needs an account on the server that is identified by an username and a password. |
* To play a game every player needs an account on the server that is identified by an username and a password. |
||
* Players use their account to login into the server and then choose a 'player' stored under their account to play with. The server then checks the login information using the MySQL or H2 backend and loads the player into the game using the persistence engine. |
* Players use their account to login into the server and then choose a 'player' stored under their account to play with. The server then checks the login information using the MySQL or H2 backend and loads the player into the game using the persistence engine. |
||
| Line 14: | Line 15: | ||
* The server transparently and automatically stores players and game status modifications on the persistence engine, and also information decided by the game developer using their game definition scripts. |
* The server transparently and automatically stores players and game status modifications on the persistence engine, and also information decided by the game developer using their game definition scripts. |
||
* The server side game rules can be written in Python to allow simple and rapid development without needing to recompile the rules engine and without having to know anything about Marauroa's internals. Games rules can also be coded in Java. |
* The server side game rules can be written in Python to allow simple and rapid development without needing to recompile the rules engine and without having to know anything about Marauroa's internals. Games rules can also be coded in Java. |
||
* The server generates statistics of usage which are stored in |
* The server generates statistics of usage which are stored in the database (so you can later generate fancy statistics from them). Or in case you don't require them, they can be disabled to save CPU cycles and disk space. Marauroa features a modular structure that means modules can be changed and disabled without affecting the operation of other modules. |
||
* Both the server and clients are fully and wisely documented, with documentation about specification and design |
* Both the server and clients are fully and wisely documented, with documentation about specification and design in addition to the ordinary API documentation. |
||
==Features== |
|||
Marauroa features state-of-art technologies as: |
|||
* Java 1.5 compatible |
|||
* Persistent objects |
|||
* Transactional relational database support |
|||
* Delta and Delta2 Perceptions to reduce bandwidth usage |
|||
* Multiple independent zones of gameplay |
|||
* Server content streaming |
|||
* Turn based gameplay |
|||
* Nicely documented: Design and specifications available |
|||
* Based on a XP development model |
|||
* Follows KISS principle: Keep it simple stupid |
|||
* True Open Source Software: GNU/GPL |
|||
==Instructions== |
|||
You should read [[HowToBuildMarauroa|How To Build]] and [[InitialStepsWithMarauroa|Initial Steps With Marauroa]] for detailed, simple instructions about how to build and use marauroa. Remember that Marauroa is just a server middleware and so you need a game to do anything with Marauroa. |
|||
====Developers API==== |
|||
* Please refer to Marauroa API that is contained inside marauroa-docs |
|||
== Ohloh Stats == |
|||
{{#ohloh:p|4434|project_factoids}} |
|||
==See Also== |
|||
* [[MarauroaObjectives|Objectives]] |
|||
* [[ClientServerChatExample| Simple Client/Server Chat Example]] - A client/server chat example based on Marauroa 2.5. |
|||
[[Category:Marauroa]] |
[[Category:Marauroa]] |
||
{{#breadcrumbs: [[Marauroa]] | [[Marauroa|Overview]] | [[What is Marauroa]]}} |
|||