StendhalDesign
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 pigs 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 pig. So be careful and protect your pig.
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.
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 pig seller
Player: Hi Seller: Greetings! How may I help you? Player: buy pig Seller: Do you want to buy a pig for 50 coins? Player: yes Seller: Thank you! Bye
- Player moves. Pig follows Player.
- Player moves to plains
- Player moves around looking for food
- Player protect pig of wolves attacks
- When pig is big enough Player moves to Village
- Player talks with pig buyer
Player: Hi Buyer: Greetings! How may I help you? Player: sell pig Buyer: Do you want to sell this pig for 73 coins? Player: yes Buyer: Thank you! Bye
- Player spend money in new pig and equipment
- Armor
- Weapon
- Healing potions
Pig seller's user case
FOREVER do:
- Listen to Player
- If listen "Hi":
- Seller says "Greetings <Player>!"
- If listen "Buy pig" from Player:
- Seller says "Do you want to buy a pig for 50 coins?"
- If listen "yes" from Player:
- If Player money - 50 > 0:
- set Player money=Player money - 50
- Duplicate Pig
- Make Pig follows Player
- If Player money - 50 > 0:
- Say bye to Player
DONE
Pig buyer's user case
FOREVER do:
- Listen to Player
- If listen "Hi":
- Seller says "Greetings <Player>!"
- If listen "Sell pig" from Player:
- Estimate pig value related to Pig weight
- Seller says "Do you want to sell buy a pig for <estimated price> coins?"
- If listen "yes" from Player:
- set Player money=Player money + <estimated price>
- Destroy Pig
- Say bye to Player
DONE
Pig's user case
- Pig is in Farm
- Player buys Pig
- Pig seller duplicates Pig
- Pig follows Player
- If Pig finds food:
- Pig moves to food
- Pig eats food
- Pig gains weight
- Player sells Pig
- Pig dissappear
Wolf's user case
- Wolf moves
- If Wolf sees Pig:
- Wolf attacks Pig
- If Wolf is attacked:
- Wolf attacks Attacker
Entities
The above user cases shows the next entities in our system:
- Pig
- Pig seller
- Pig buyer
- Wolf
- Player
- Food
- Armor
- Weapon
- Healing potion
Let's describe each entity with its attributes and actions related.
Pig
It has the following set of attributes:
- x
- y
- dx
- dy
- hp
- owner
- weight
Pig tasks would be:
- follow
- eat
Pig behaviour is mainly to follow owner and look for food.
If Pig finds food, it will eat.
Pig 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 Pig, it will attack Pig.
If Wolf is attacked, Wolf attacks.
If Wolf is injured, Wolf will runaway.
Pig seller and Pig 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
- pig
- 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.