DesignOverview: Difference between revisions
Jump to navigation
Jump to search
Content deleted Content added
No edit summary |
imported>Hendrik Brummermann No edit summary |
||
| (66 intermediate revisions by 5 users not shown) | |||
| Line 1: | Line 1: | ||
{{Likely Outdated}} |
|||
= Introduction = |
= Introduction = |
||
{{AddMissing|towhat = text |toadd=network protocol TCP instead of UDP, Client no more in C}} |
|||
== What is Arianne? == |
== What is Arianne? == |
||
Arianne is a multi player online game framework and engine to develop turn based and real time games. It is designed so you can easily create your games on our portable, robust server architecture. The server is written in Java and Python is used for writing game rules. A mySQL backend powers the server and the server communicates with players using a UDP transport channel. Our reference clients are coded using Java and C in order to achieve maximum portability. Arianne's server is totally client agnostic making it very modifiable. |
Arianne is a multi player online game framework and engine to develop turn based and real time games. It is designed so you can easily create your games on our portable, robust server architecture. The server is written in Java and Python is used for writing game rules. A mySQL backend powers the server and the server communicates with players using a UDP transport channel. Our reference clients are coded using Java and C in order to achieve maximum portability. Arianne's server is totally client agnostic making it very modifiable. |
||
| Line 8: | Line 11: | ||
Arianne has always been an Open source project and always will be. Each version has been written and released as GNU GPL software. We believe the right way is to give you the power to change, edit and configure whatever you want, both on clients and the server. Arianne always welcomes your contributions and modifications to the code to make this the open source reference platform for game content providers. |
Arianne has always been an Open source project and always will be. Each version has been written and released as GNU GPL software. We believe the right way is to give you the power to change, edit and configure whatever you want, both on clients and the server. Arianne always welcomes 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 |
Arianne is playable. Arianne now supports several test games: |
||
* a TicTacToe game |
|||
* a multi player Gladiators fighting game |
|||
| ⚫ | |||
* a multi player Pacman game |
|||
* a multi player Zelda like game |
|||
| ⚫ | |||
Please note that the games are out of date at the moment and do not run. Please be patient until we can fix them. |
|||
== What is Marauroa? == |
== What is Marauroa? == |
||
| Line 34: | Line 41: | ||
= Basic Design of Marauroa = |
= Basic Design of Marauroa = |
||
Marauroa is |
Marauroa is an arianne server application with an UDP transport. |
||
Marauroa server is |
Marauroa server is and it is built using threads. marauroad has the following set of threads: |
||
* 1 thread to receive data from clients |
* 1 thread to receive data from clients |
||
* N threads to send data to clients |
* N threads to send data to clients |
||
| Line 122: | Line 129: | ||
Scheduler handles the actions as they are sent by the GameManager. RuleManager is a class that encapsulates all the implementation related to rules. |
Scheduler handles the actions as they are sent by the GameManager. RuleManager is a class that encapsulates all the implementation related to rules. |
||
= Basic Design of ariannexp = |
|||
Ariannexp is arianne client. It doesn't matter if you use Java, C or Python, you have an interface for connecting to an Arianne server. |
|||
The basic interface allow you to create a client like: |
|||
<pre> |
|||
connect to Server |
|||
login with username and password |
|||
Show available characters |
|||
choose Character |
|||
while game keeps running |
|||
{ |
|||
Get perception |
|||
apply perception to world |
|||
render world |
|||
get inputs |
|||
send actions |
|||
} |
|||
logout |
|||
</pre> |
|||
[[Category:Marauroa]] |
|||