HowToWriteAdventureGamesUsingArianne: Difference between revisions
Content deleted Content added
imported>MiguelAngelBlanchLardin |
imported>Hendrik Brummermann No edit summary |
||
| (165 intermediate revisions by 4 users not shown) | |||
Line 1:
{{Navigation for Marauroa Top|Using}}
{{Navigation for Marauroa Users}}
'''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=
Line 11 ⟶ 20:
* 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
Our reference clients are coded using Java
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.
Since the beginning, the key concept at the heart of Arianne's development has been KISS: Keep it simple, stupid!
Line 22 ⟶ 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.
All our efforts are supported by Arianne's
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 64 ⟶ 71:
A first draft of the game world looks like this:
Line 154 ⟶ 161:
However, this simple system is powerful enough to code nearly all games easily: both real-time and turn based games.
One of the main issues in the game design is choosing a turn time for the server. It should be based on the type of game we are making. For example, a real time strategy game will need turn times of around 300 ms, while a turn based strategy game will work fine with 1000-1500 ms of turn time. Turn based games save a lot of bandwidth compared to non-turn based however note that the lower the turn time, the higher the bandwidth usage. Also remember that, the lower the turn time, the higher the CPU usage.
Line 165 ⟶ 172:
An RPObject is also built up of Slots. A Slot is a container of objects, much like a pocket, a bag, a box or a hand. The point is that if our objects need to have objects inside them, or attached to them, you need to use Slots.
All the dynamic changes to the world are made using Actions. An RPAction is also made up of attributes. You must redefine the default attributes of the action object so that the action becomes specific to your game.
Line 173 ⟶ 180:
The whole game area will look like:
It is split into 5 different areas to use the multizones feature of Arianne.<br>
Line 197 ⟶ 204:
http://arianne.sourceforge.net/wiki_images/plains.jpg
=== Forest ===
==Entities design==
Line 293 ⟶ 302:
====Sheep's user case====
Sheep is our key game concept.
<pre>
Sheep is in Farm
Line 310 ⟶ 319:
====Wolf's user case====
Wolf is the
<pre>
Wolf moves
Line 501 ⟶ 510:
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====
Line 511 ⟶ 520:
To set these values we have run a simulation until we have get the right look in the graphs.<br>
[[Image:Caverat Fight.gif]]
====Wolf====
Line 521 ⟶ 530:
To set these values we have run a simulation until we have get the right look in the graphs.<br>
[[Image:Wolf Fight.gif]]
=== Experience and levels ===
Line 637 ⟶ 646:
We can have as many as we want of this action. The last action executed will be the only one that alters really direction and speed.
We will have our avatar moving on the world at complete units, and client will smooth it to make it appear that avatar moved just a bit. Also we want our avatar to move only N,W,S and E direction so we disable diagonal movement.
Our world will have objects, and if player collide with an object it will stop.<br>
Players, creatures and other objects in general aren't trespasable.
===Move to a position===
Line 669 ⟶ 683:
* Can't attack NPC
We want to preserve a nice game experience so we have removed player vs player combat.<br>
We can have only ONE attack action, so choose wisely your target, and this action is cancelled by any other action but '''Chat''' and '''Heal'''.
Line 679 ⟶ 693:
The attack action has the implicit meaning of following the target.
=Evaluation=
==Download the files from Sourceforge==
Line 696 ⟶ 699:
==Client==
==Server==
[[Category:Marauroa]]
{{#breadcrumbs: [[Marauroa]] | [[Navigation for Marauroa Users|Using]] | [[HowToWriteAdventureGamesUsingArianne|How to write games]]}}
| |||