StendhalDesign: Difference between revisions

From Arianne
Jump to navigation Jump to search
No edit summary
No edit summary
(No difference)

Revision as of 23:04, 21 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 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
    1. Armor
    2. Weapon
    3. 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
  • 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

Wolf

It has the following set of attributes:

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

Wolf tasks would be:

  • follow
  • attack
  • patrol
  • chat

Pig seller and Pig buyer

It has the following set of attributes:

  • x
  • y
  • dx
  • dy
  • atending

seller and buyer tasks would be:

  • patrol

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