BRPG

From RPGWNN
Jump to: navigation, search

BRPG - Basic RPG


Basic Idea

Functionality


Log in + char creation

Move around map

Basic player interactions

Basic items

Basic skills

Basic NPC/Quest Interaction


Map Tiles


Grass - passable, can find stick 20%, stone 20% and gold coin 10%

Forest - passable, can find healing herb 10%, stick 30%, gold coin 20%

Stream - passable (double ap cost), can find stone 50%

Mountain - impassable world border


Map Items


Fist (unseen and non discardable) - 1 damage 20% base

Sword - 2 damage 20% base

Bow - 3 damage 20% base, costs 1 arrow per shot

Stone - No use

Stick - No use

Arrow - Used as ammo for shooting, can be crafted from 1 stick and 1 stone (makes 2) and 1ap, stacks

Healing Salve - Restores 5hp, can be crafted from 2 healing herbs and 1ap, grants 2exp when used on wounded player/npc (not self), 25% chance 1 exp granted for crafting

Healing Herb - Restores 2hp, stacks, grants 1exp when used on wounded player/npc (not self)

Gold Coin - No use, stacks


NPCs


Wolf - 10hp, 2 damage 30% chance, exp per kill (2), drops 1gc per kills

Deer - 5hp, no damage, exp per kill (1), can start wounded (1hp)

Bob (Trader) - Cannot be attacked, offers items in exchange for gold. Also offers "training quest"


Skills (each costs 5 exp)


Sword Swinging - 10% bonus to hit with sword

-Sword Striking - 15% bonus to hit with sword

-Sword Charge - Special action, 1/2 hit chance double damage.


Bow Shooting - 10% hit bonus

-Fletching - Allows arrow crafting

-Aimed Shot - Special action, costs 2ap but doubles chance to hit


Salve Making - Allows salve crafting

-Healing - Increases salve heal amount bt 2

-Herb Hunting - Can use "herb hunt" option in forests.


-Specialrewardskill stamina - Grants +5ap max and +5hp max


Base character info


20ap, 15hp, 10 inventory slots, option to "give", "attack", "speak", "search" and "drop"

1 ap granted per 5 mins


Quests


Training

Visit each type of tile once, item of choice (Sword, bow and 5 arrows or 10 healing herbs)


Hunt A Deer (only gettable after training done)

Kill 1 deer, reward specialrewardskill stamina


Trader


Sword - 5 gold coins

Bow - 5 gold coins

Arrow - 1 gold coin for 2

Healing potion - 2 gold coins


Char creation


Name - Shartak style

Gender - M/F

Race - Human (no changes), Elf (+4% bow accuracy, -5% sword accuracy), Dwarf (+5% sword accuracy, -4% bow accuracy) or Pixie (+1 salve healing, -3 max hp)

Starting skill - Sword Swinging, Bow Shooting or Salve Making


Herb hunt action


Costs same ap (1) as search. Gives a 50% herb find rate, 0% anything else though.


Some maths


Sword 0 skill 0.4 damage per ap (dwarf 0.5, elf 0.3)

Sword 1 skill 0.6 damage per ap (dwarf 0.8, elf 0.5)

Sword 2 skill 0.9 damage per ap (dwarf 1, elf 0.8)

Bow 0 skill 0.6 damage per ap (dwarf 0.48, elf 0.72)

Bow 1 skill 0.9 damage per ap (dwarf 0.78, elf 1.02)




The purpose of this little game

It showcases a lot of features, especially if we later add some basic mods to complement it (extra tiles, an extra npc or item, maybe another skill.

If this idea is approved I will spend some more time on the maths and balance (this is just a rough idea). We have an artist who can do icons and tiles.


In Depth Specification

Database Tables (Inventory)

Table : Items


ItemId : int (key)

ItemName : str(26)

NumData : intarray

StrData : strarray

Type : str(>10)

Core : boolean (Not used in BRPG at the moment)


Table : Inventory


CharID : int (complexkey)

ItemID : int (complexkey)

Quantity : int


Inventory Display

[Attack] <DropdownTarget> with <DropdownWeapons>

[Use] <DropdownUsables> on <DropdownTarget>

{InventoryList}


Inventory Generation

GetCharID

Lookup CharID in inventory table and return matching item numbers and Quantity

For each item number returned

 getType
 if type=weapon then add itemId to DropDownWeapons (hidden) and print ItemName
 if type=usable then add itemId to DropdownUsables (hidden) and print ItemName
 add ItemName to InventoryList + "x" + Quantity

end for loop


Point of clarity : When adding items to the dropdown lists a similar method to shartak might be best (the itemId is needed to get the item type from the database for actions, the name is for the end user to see what they are using!)