HowToWriteAdventureGamesUsingArianne: Difference between revisions
Jump to navigation
Jump to search
Content deleted Content added
imported>Hendrik Brummermann included uploaded images |
imported>Hendrik Brummermann No edit summary |
||
| (55 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
{{Navigation for Marauroa Top}} |
{{Navigation for Marauroa Top|Using}} |
||
{{Navigation for Marauroa Users}} |
{{Navigation for Marauroa Users}} |
||
{{Likely Outdated}} |
|||
=Howto write Adventures games using arianne= |
|||
'''NOTE:''' This tutorial is ''INCOMPLETE'' as we are still completing the game that we are going to use to create this text. |
|||
'''NOTE:''' This tutorial describes the early steps in creating an adventure game. [[Stendhal]] is now a couple of years old and a lot has happened since then. This document, however, is still an interesting read if you are planning to start your own adventure game. |
|||
=Introduction= |
=Introduction= |
||
| Line 17: | Line 20: | ||
* Deployment |
* Deployment |
||
Arianne is a 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. Marauroa, the server, is coded in Java and |
Arianne is a 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. Marauroa, the server, is coded in Java and can use Java or Python for your game description. It also provides a SQL backend and uses a TCP transport channel to communicate with the clients. |
||
Our reference clients are coded using Java |
Our reference clients are coded using Java (C in the past) in order to achieve maximum portability. |
||
The Arianne engine is designed so that you can concentrate on designing the actual game and ignore all the detailed implementation aspects of a complex system, such as those in the multiplayer online game content server. You therefore need not be concerned with issues of Thread, Database and Network handling. |
The Arianne engine is designed so that you can concentrate on designing the actual game and ignore all the detailed implementation aspects of a complex system, such as those in the multiplayer online game content server. You therefore need not be concerned with issues of Thread, Database and Network handling. |
||
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 client framework, written in bare C to allow total portability of arianne's clients. Arianne's server is totally client agnostic for maximum flexibility. |
|||
Since the beginning, the key concept at the heart of Arianne's development has been KISS: Keep it simple, stupid! |
Since the beginning, the key concept at the heart of Arianne's development has been KISS: Keep it simple, stupid! |
||
| Line 28: | Line 29: | ||
Arianne has always been an Open source project, written and released under the GNU GPL license. We believe the right way is the Open Source way and we want you to have the power to change, edit and configure whatever you want, both in the clients and server. Arianne always welcomes your contributions and modifications to the code to create the best possible open source reference platform for game content providers. |
Arianne has always been an Open source project, written and released under the GNU GPL license. We believe the right way is the Open Source way and we want you to have the power to change, edit and configure whatever you want, both in the clients and server. Arianne always welcomes your contributions and modifications to the code to create the best possible open source reference platform for game content providers. |
||
All our efforts are supported by Arianne's |
All our efforts are supported by Arianne's engine: Marauroa. Marauroa is written completely in Java using a multithreaded server architecture with a TCP oriented network protocol, a SQL based persistence engine and a flexible game system. Marauroa is totally game agnostic and makes very little assumptions about what you are trying to make thus allowing great freedom when creating games. The game system is totally expandable and modifiable to suit your game's needs. It is able to run Python scripts defining the game's rules hence providing a simple way of specifying your games behavior. |
||
Marauroa is based on a design philosophy we called Action/Perception. A Perception is a collection of data sent each turn to the clients explaining to them what they currently perceive in the game environment. Actions are sent from clients to the server and are used to ask the server to perform an action for them. |
Marauroa is based on a design philosophy we called Action/Perception. A Perception is a collection of data sent each turn to the clients explaining to them what they currently perceive in the game environment. Actions are sent from clients to the server and are used to ask the server to perform an action for them. |
||
| Line 509: | Line 510: | ||
To set these values we have run a simulation until we have get the right look in the graphs.<br> |
To set these values we have run a simulation until we have get the right look in the graphs.<br> |
||
[[Image:Rat Fight.gif]] |
|||
http://arianne.sourceforge.net/wiki_images/rat.gif |
|||
====Cave Rat==== |
====Cave Rat==== |
||
| Line 692: | Line 693: | ||
The attack action has the implicit meaning of following the target. |
The attack action has the implicit meaning of following the target. |
||
=Implementation= |
|||
==Server== |
|||
===Getting ready=== |
|||
===Server: Game rules logic=== |
|||
===Server: Game world implementation=== |
|||
===Server: Game AI implementation=== |
|||
==Client== |
|||
===Client: Game logic=== |
|||
===Client: Game presentation=== |
|||
=Evaluation= |
=Evaluation= |
||
==Download the files from Sourceforge== |
==Download the files from Sourceforge== |
||
| Line 709: | Line 701: | ||
[[Category:Marauroa]] |
[[Category:Marauroa]] |
||
{{#breadcrumbs: [[Marauroa]] | [[Navigation for Marauroa Users|Using]] | [[HowToWriteAdventureGamesUsingArianne|How to write games]]}} |
|||