StendhalDesign: Difference between revisions

From Arianne
Jump to navigation Jump to search
Content deleted Content added
No edit summary
Replaced pig by sheep
Line 4: Line 4:


= Plot =
= Plot =
Stendhal's plot is to grow pigs by taking them with you to eat on the plains or the forest.<br>
Stendhal's plot is to grow Sheeps by taking them with you to eat on the plains or the forest.<br>
The task is not simple because you will have to look after them because hungry wolves will try to eat your pig. So be careful and protect your pig.
The task is not simple because you will have to look after them because hungry wolves will try to eat your Sheep. So be careful and protect your Sheep.


Pigs must be bought when small at Farm, and sell later when you grow it at the Village. For each pig you sell when it has grow up, you will get an extra income.
Sheeps must be bought when small at Farm, and sell later when you grow it at the Village. For each Sheep you sell when it has grow up, you will get an extra income.


You will need to spend money on getting new weapons and armors and healing potions.
You will need to spend money on getting new weapons and armors and healing potions.
Line 32: Line 32:
* Player enter village in entry point
* Player enter village in entry point
* Player moves to Farm zone
* Player moves to Farm zone
* Player talks with pig seller
* Player talks with Sheep seller
<pre>
<pre>
Player: Hi
Player: Hi
Seller: Greetings! How may I help you?
Seller: Greetings! How may I help you?
Player: buy pig
Player: buy Sheep
Seller: Do you want to buy a pig for 50 coins?
Seller: Do you want to buy a Sheep for 50 coins?
Player: yes
Player: yes
Seller: Thank you! Bye
Seller: Thank you! Bye
</pre>
</pre>
* Player moves. Pig follows Player.
* Player moves. Sheep follows Player.
* Player moves to plains
* Player moves to plains
* Player moves around looking for food
* Player moves around looking for food
* Player protect pig of wolves attacks
* Player protect Sheep of wolves attacks
* When pig is big enough Player moves to Village
* When Sheep is big enough Player moves to Village
* Player talks with pig buyer
* Player talks with Sheep buyer
<pre>
<pre>
Player: Hi
Player: Hi
Buyer: Greetings! How may I help you?
Buyer: Greetings! How may I help you?
Player: sell pig
Player: sell Sheep
Buyer: Do you want to sell this pig for 73 coins?
Buyer: Do you want to sell this Sheep for 73 coins?
Player: yes
Player: yes
Buyer: Thank you! Bye
Buyer: Thank you! Bye
</pre>
</pre>
* Player spend money in new pig and equipment
* Player spend money in new Sheep and equipment
*# Armor
*# Armor
*# Weapon
*# Weapon
*# Healing potions
*# Healing potions


===Pig seller's user case===
===Sheep seller's user case===
FOREVER do:
FOREVER do:
* Listen to Player
* Listen to Player
* If listen "Hi":
* If listen "Hi":
** Seller says "Greetings <Player>!"
** Seller says "Greetings <Player>!"
* If listen "Buy pig" from Player:
* If listen "Buy Sheep" from Player:
** Seller says "Do you want to buy a pig for 50 coins?"
** Seller says "Do you want to buy a Sheep for 50 coins?"
* If listen "yes" from Player:
* If listen "yes" from Player:
** If Player money - 50 > 0:
** If Player money - 50 > 0:
*** set Player money=Player money - 50
*** set Player money=Player money - 50
*** Duplicate Pig
*** Duplicate Sheep
*** Make Pig follows Player
*** Make Sheep follows Player
* Say bye to Player
* Say bye to Player
DONE
DONE


===Pig buyer's user case===
===Sheep buyer's user case===
FOREVER do:
FOREVER do:
* Listen to Player
* Listen to Player
* If listen "Hi":
* If listen "Hi":
** Seller says "Greetings <Player>!"
** Seller says "Greetings <Player>!"
* If listen "Sell pig" from Player:
* If listen "Sell Sheep" from Player:
** Estimate pig value related to Pig weight
** Estimate Sheep value related to Sheep weight
** Seller says "Do you want to sell buy a pig for <estimated price> coins?"
** Seller says "Do you want to sell buy a Sheep for <estimated price> coins?"
* If listen "yes" from Player:
* If listen "yes" from Player:
** set Player money=Player money + <estimated price>
** set Player money=Player money + <estimated price>
** Destroy Pig
** Destroy Sheep
* Say bye to Player
* Say bye to Player
DONE
DONE


===Pig's user case===
===Sheep's user case===
* Pig is in Farm
* Sheep is in Farm
* Player buys Pig
* Player buys Sheep
* Pig seller duplicates Pig
* Sheep seller duplicates Sheep
* Pig follows Player
* Sheep follows Player
* If Pig finds food:
* If Sheep finds food:
** Pig moves to food
** Sheep moves to food
** Pig eats food
** Sheep eats food
** Pig gains weight
** Sheep gains weight
* Player sells Pig
* Player sells Sheep
* Pig dissappear
* Sheep dissappear


===Wolf's user case===
===Wolf's user case===
* Wolf moves
* Wolf moves
* If Wolf sees Pig:
* If Wolf sees Sheep:
** Wolf attacks Pig
** Wolf attacks Sheep
* If Wolf is attacked:
* If Wolf is attacked:
** Wolf attacks Attacker
** Wolf attacks Attacker
Line 110: Line 110:
== Entities ==
== Entities ==
The above user cases shows the next entities in our system:
The above user cases shows the next entities in our system:
* Pig
* Sheep
* Pig seller
* Sheep seller
* Pig buyer
* Sheep buyer
* Wolf
* Wolf
* Player
* Player
Line 121: Line 121:


Let's describe each entity with its attributes and actions related.
Let's describe each entity with its attributes and actions related.
=== Pig ===
=== Sheep ===
It has the following set of attributes:
It has the following set of attributes:
* x
* x
Line 131: Line 131:
* weight
* weight


Pig tasks would be:
Sheep tasks would be:
* follow
* follow
* eat
* eat


Pig behaviour is mainly to follow owner and look for food.<br>
Sheep behaviour is mainly to follow owner and look for food.<br>
If Pig finds food, it will eat.<br>
If Sheep finds food, it will eat.<br>
Pig will runaway if it is attacked by wolves.<br>
Sheep will runaway if it is attacked by wolves.<br>


=== Wolf ===
=== Wolf ===
Line 155: Line 155:


Wolf behaviour consists in patrolling some assigned areas.<br>
Wolf behaviour consists in patrolling some assigned areas.<br>
If Wolf finds Pig, it will attack Pig.<br>
If Wolf finds Sheep, it will attack Sheep.<br>
If Wolf is attacked, Wolf attacks.<br>
If Wolf is attacked, Wolf attacks.<br>
If Wolf is injured, Wolf will runaway.<br>
If Wolf is injured, Wolf will runaway.<br>


=== Pig seller and Pig buyer ===
=== Sheep seller and Sheep buyer ===
It has the following set of attributes:
It has the following set of attributes:
* x
* x
Line 181: Line 181:
* hp
* hp
* atk
* atk
* pig
* Sheep
* money
* money



Revision as of 10:42, 24 February 2005

This small doc tries to make a contract agreement about what is stendhal and what it needs to include. It considers the existing [Roadmap] and tries to give a coherent vision of what we are trying to get.

Consider using the Discussion tab to query about particular things or making suggestions.

Plot

Stendhal's plot is to grow Sheeps by taking them with you to eat on the plains or the forest.
The task is not simple because you will have to look after them because hungry wolves will try to eat your Sheep. So be careful and protect your Sheep.

Sheeps must be bought when small at Farm, and sell later when you grow it at the Village. For each Sheep you sell when it has grow up, you will get an extra income.

You will need to spend money on getting new weapons and armors and healing potions.

As you see Stendhal is a minigame that try to push everything related to RPG:

  • task
  • actions
  • areas

If Arianne get Stendhal working, the problem is just scaling up the result. :)

Design

Idea

The whole game area would looks like:

http://arianne.sourceforge.net/wiki_images/Stendhal_Map.jpg

It is split in 4 different areas to test the multizone feature.
Players need to change zone in order to accomplish their task.

Use cases description

We need to use several use cases to describe our game.

Player's user case

  • Player enter village in entry point
  • Player moves to Farm zone
  • Player talks with Sheep seller
  Player: Hi
  Seller: Greetings! How may I help you?
  Player: buy Sheep
  Seller: Do you want to buy a Sheep for 50 coins?
  Player: yes
  Seller: Thank you! Bye
  • Player moves. Sheep follows Player.
  • Player moves to plains
  • Player moves around looking for food
  • Player protect Sheep of wolves attacks
  • When Sheep is big enough Player moves to Village
  • Player talks with Sheep buyer
  Player: Hi
   Buyer: Greetings! How may I help you?
  Player: sell Sheep
   Buyer: Do you want to sell this Sheep for 73 coins?
  Player: yes
   Buyer: Thank you! Bye
  • Player spend money in new Sheep and equipment
    1. Armor
    2. Weapon
    3. Healing potions

Sheep seller's user case

FOREVER do:

  • Listen to Player
  • If listen "Hi":
    • Seller says "Greetings <Player>!"
  • If listen "Buy Sheep" from Player:
    • Seller says "Do you want to buy a Sheep for 50 coins?"
  • If listen "yes" from Player:
    • If Player money - 50 > 0:
      • set Player money=Player money - 50
      • Duplicate Sheep
      • Make Sheep follows Player
  • Say bye to Player

DONE

Sheep buyer's user case

FOREVER do:

  • Listen to Player
  • If listen "Hi":
    • Seller says "Greetings <Player>!"
  • If listen "Sell Sheep" from Player:
    • Estimate Sheep value related to Sheep weight
    • Seller says "Do you want to sell buy a Sheep for <estimated price> coins?"
  • If listen "yes" from Player:
    • set Player money=Player money + <estimated price>
    • Destroy Sheep
  • Say bye to Player

DONE

Sheep's user case

  • Sheep is in Farm
  • Player buys Sheep
  • Sheep seller duplicates Sheep
  • Sheep follows Player
  • If Sheep finds food:
    • Sheep moves to food
    • Sheep eats food
    • Sheep gains weight
  • Player sells Sheep
  • Sheep dissappear

Wolf's user case

  • Wolf moves
  • If Wolf sees Sheep:
    • Wolf attacks Sheep
  • If Wolf is attacked:
    • Wolf attacks Attacker

Entities

The above user cases shows the next entities in our system:

  • Sheep
  • Sheep seller
  • Sheep buyer
  • Wolf
  • Player
  • Food
  • Armor
  • Weapon
  • Healing potion

Let's describe each entity with its attributes and actions related.

Sheep

It has the following set of attributes:

  • x
  • y
  • dx
  • dy
  • hp
  • owner
  • weight

Sheep tasks would be:

  • follow
  • eat

Sheep behaviour is mainly to follow owner and look for food.
If Sheep finds food, it will eat.
Sheep will runaway if it is attacked by wolves.

Wolf

It has the following set of attributes:

  • x
  • y
  • dx
  • dy
  • hp
  • atk

Wolf tasks would be:

  • follow
  • attack
  • patrol
  • chat

Wolf behaviour consists in patrolling some assigned areas.
If Wolf finds Sheep, it will attack Sheep.
If Wolf is attacked, Wolf attacks.
If Wolf is injured, Wolf will runaway.

Sheep seller and Sheep buyer

It has the following set of attributes:

  • x
  • y
  • dx
  • dy
  • atending

seller and buyer tasks would be:

  • patrol

NPC behaviour consists in listening to people near them.
If person says "Hi", NPC faces person and generate conversation.

Player

It has the following set of attributes:

  • x
  • y
  • dx
  • dy
  • hp
  • atk
  • Sheep
  • money

It has three slots:

  • armor
  • hand
  • backpack

Player tasks would be:

  • move
  • attack
  • chat

Food

It has the following set of attributes:

  • x
  • y
  • quantity

Food will regenerated each X units of time.