StendhalDesign: Difference between revisions

Jump to navigation Jump to search
Content deleted Content added
Line 260: Line 260:
The key on making Stendhal moving is to add actions.
The key on making Stendhal moving is to add actions.
As we have seen each entity has a list of actions that can do. Let's see them and study they interact.
As we have seen each entity has a list of actions that can do. Let's see them and study they interact.

Our main entity is Player, it is gamer's avatar in stendhal world and as such, it is able to do the next set of actions:
* Move<br>Move action can be understand as two actions:
** Move to left,right,up or down while key is down<br>This action allows controlling gamer's avatar using our keyboard that is the arcade/adventure game style like Nintendo Zelda.

This action should have the next set of attributes:
*** '''dx''' horizontal speed of the avatar
*** '''dy''' vertical speed of the avatar

We can have as many as we want of this action. The last action executed will be the only one that alters really dx and dy.

** Move to a position<br>This action allows controlling game's avatar using a mouse, so we can click ( or double click ) to move to the position where the mouse clicked. This mode is great for a more relaxed adventure game style like Bioware Baldur's Gate.

This action should have the next set of attributes:
*** '''x''' desired x coordinate of the avatar
*** '''y''' desired y coordinate of the avatar

We can only have ONE action of this type and only the latest one will be considered valid. This action is cancelled by any other action like Move, Attack, Face, ...

Both move actions will have at each end of turn, moving the avatar if it is possible dx units in the x axis and dy units in the y axis.
If avatar collides with something while moving, dx and dy will become 0.

* Face<br>This action is useful as a extra for the social side of the game; when you are talking it is often good to ''face'' the person you are talking too. So face action allows our character to look at the direction we tell it: left, right, up or down.

* Chat<br>This action is the base of any social game like a MORPG.

This action should have the next set of attributes:
** '''text''' text that the player is going to say

Due to Arianne framework it is not possible to create a yell or whisper action, when you talk, you talk for everybody in the area, that is why area design is *VERY* important to achieve a good gameplay.

* Attack<br>This action is the core of the gameplay for lots of gamers to consider the game fun. All the combat is ruled by the RP game system explained in the RP section of this page.

There are some limitations for combat right now:
* No PvP ( Player versus Player )
* Can't attack sheeps
* Can't attack yourself
* Can't attack NPC

We want to preserve a nice game experience so we have removed player vs player combat.
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'''.

This action should have the next set of attributes:
** '''target''' the object.ID of the player that we are attacking.

This action require that the target of the action is ''near'' our avatar. Near means that target's avatar have to be colliding with our avatar.

The attack action has the implicit meaning of following the target.


=RP=
=RP=