Create an RPG adventure game that is solely click based.
Users will sign up for an account and choose their main vocation. They should be prompted with a beginner guide to how to begin playing. To hunt and level, a user will click into a zone that has "hunting grounds". Once they are in a hunting zone, they must again click to instigate a battle with an enemy. This will result in some sort of battle sequence that will prompt the user to begin in the battle. In the battle sequence it will be turn based and allow for the use of spells, items, and physical attacks to opponents. After defeating an enemy they will receive experience and rewarded in some sort of currency that can be used for in game purchases and trading with NPC's to obtain items. They is also a chance that items will be dropped such as equipment, potions, and other various misc. items.
- Explain the controls
- Explain how to fight / navigate the map
- Explain the goals of the game and how to "win" (if we decide you can win)
- Give the user the basic set of equipment needed to proceed in the game, and explain how ot use them
Knight
These are strong melee fighters and can posses all weapon and armor types. They are good in up close combat, but lack when it comes to magical abilities.
Paladin
Paladins are very skilled with all distance weapons from rocks all the way to crossbows, and are able to inflict great damage at a range. They also have many support spells which allows them to craft arrows or food to use throughout the gameplay. However, they do have limited offensive magical spells.
Mage
Mages deal very high damage in shorts amount of time, and they also posses the most mana out of all other vocations. They do however lack in the ability to use many weapons, have limited healing magic and must wear very weak armor which makes them a clear target for close combat fighting.
Druid
Druids have the ability to heal every party member and have many protection buffs that can benefit themselves as well as their party. They however don't how as many offensive spells as a Mage. Druids are masters of nature and have the ability to tame animals to fight in their party to help them in combat
Strong Melee
Weak Distance
No magic
Armor: All types
Weak Melee
Strong Distance
Light Healing Magic
Light Offensive Magic (mostly support spells)
Armor: Chain (medium level armor whatever the name)
Weak Melee
Weak Distance
Light Healing Magic
Strong Offensive Magic
Armor: Cloth
Weak Melee
Weak Distance
Strong Healing Magic
Light Offensive Magic
Armor: Cloth
The stats are still to be determined, but should be comprised of a few basic set of attributes.
These should include, but not be limited to:
- Strength
- Intellect
- Defense
- Stamina
A zone is a specific area within the game that a user can click into and see the regions within the zone. Zone's can include combat zones, dungeons, stores, and even other zones. The ability to have nested zones could potentially be nested indefinitely, but realistically will only be nested 3 or 4 times.
An example of how this might work:
**Wild Forest**
+++++++++++++++++++++++++++++ +++++++++++++++++++++++++
| | | legend |
| ++++++ ++++++ ++++++ | +++++++++++++++++++++++++
| + A + + B + + C + | | A + Store |
| ++++++ ++++++ ++++++ | | B + Combat Zone |
| | | C + Combat Zone |
| ++++++ ++++++ ++++++ | | D + Nothing |
| + D + + E + + F + | | E + Nothing |
| ++++++ ++++++ ++++++ | | F + Nested Zone |
| | | G + Nested Zone |
| ++++++ ++++++ ++++++ | | H + Dungeon |
| + G + + H + + I + | | I + Combat Zone |
| ++++++ ++++++ ++++++ | +++++++++++++++++++++++++
| |
+++++++++++++++++++++++++++++
- Pythons
-- Snake like monsters - perhaps with poison after affects that can be cured with spells by paladins, druids, maybe mages.
-- Low damage monster
-- EXP, No Items
- Angry Clam (with pearl in graphic interpretation in it's mouth that's the real monster to go with programming reference)
-- Melee damage
-- EXP, Low chance of Items
There will be leader boards that promote competition through player's collections, skills, levels, days logged in, and other various things.
This would create some motivation to collection a great deal of items, in-game money, and create players to want to keep playing to be the "best".
This would be later into the actual development of the game, but would allow for players to use real money to purchases in game currency to be used as they please, and perhaps even advanced items that have advanced benefits / skills.
Users
- inventory
- weapons
- armor
- abilities
- items
- class
- stats
Zones
- dungeons
- stores
- combat
-
As a user I want to be able to sign up for the game
- Create a home controller that welcomes the users and tells them a little about the game and has a link for signing up / signing in
- Integrate Devise to allow for users to sign in to the application
- extend user model to allow for usernames
email, username, password, character_id, age
-
As a user I want to be able to create a character and play the game
- Create a character model
name, experience, hp, maxHp, mana, maxMana, energy(need better word), maxEnergry, vocation_id, rubies, age
- Tie the character to the user's account
- Age
- Update this on player creation (set to players real age if provided, else default to something else=15-20)
- I'm envisioning the game's time frame to run about 1day [game] = 1hour [real world]
- This will eventually tie into quest, unlocking zones at certain ages, another stat to track on leader boards, and perhaps "evolve" to super sayin mode at level 50 or something crazy to add a spin (open for discussion and ideas)
- Create a character model
-
As a user I want to be able to select the vocation of my character
- Create a Vocation model that supports 4 classes (may be nested models)
- Allow them to choose their Vocation
- Create an after_create on character creating and vocation selection to set starting stats such as HP/MP etc to give baseline information
-
As a user I want to be able to see my character's stats
- Create a Stats model to hook up to character to allow for Str, Int, Def, Stamina etc.
- on character creating, create 5 stat points to be spent on their character's stats
- create a page where users can see their character stats
- create a page where users can spend their 5 points
-
As a user I want to see my Inventory
- Create model for Inventory (polymorphic association to hold items/weapons/armors/ etc)
- hook up to players on creation
- create a page where users can view their inventory
-
As a user I want to have an item in my Inventory
- Create the model for items
- Item Types:
- Potions
- Healing
- Offensive
- Buffs
- Tools
- Rope
- Shovel
- Pickaxe
- Collectables
- Floppy Disk
- USB Stick
- Missing Numbers (pokemon reference)
- Potions
- Item Types:
- Hook into inventories
- Create a button on the starting page that creates a new item and places it in the users inventory (just to prove functionality)
- Create the model for items
-
As a user I want to have weapons to use in the game
- Create a model for weapons
- Find / Create a list of fancy RPG adjectives as modifier words for items
- Add function to create random weapon names when created/dropped
- Examples:
- Feisty Broad Sword
- Hammer of Thor's brother
- Hook into inventories
- Create a button on the starting page that creates a new weapon and places it in the users inventory (just to prove functionality)
- Write function for generating random stats that will be modified later to fit into algorithms of monsters drop and character's level
- Weapon Stats
- Damage (min-max)
- Item Level (depends if you're able to wield or not)
- Strength
- Intellect
- Defense
- Stamina
- These should be configured to add into the players stat's to come up with the final algorithm to determine max damage (still to be determined how this will be calculated)
-
As a user I want to have armor to use in the game
- Create a model for armor
- Hook into inventories
- Create a button on the starting page that creates a new armor and places it in the users inventory (just to prove functionality)
- Write function for generating random stats that will be modified later to fit into algorithms of monsters drop and character's level
- Armor Stats
- Protection (min-max)
- Item Level (depends if you're able to wield or not)
- Type:
- Iron
- Leather
- Cloth
- Strength
- Intellect
- Defense
- Stamina
- These should be configured to add into the players stat's to come up with the final algorithm to determine max protection (still to be determined how this will be calculated)
-
As a user I want to have rubies to use a currency in the game
- Extend character model to support rubies
- Create a function that emulates collecting or picking up gold and adding it to the characters balance
-
As a user I want to apply temporary affects to my character
- Create a Model for Abilities
- Create some default abilities for each vocation (flee, fish, make fire, spells, etc)
- Knight
- Default ones everyone has, but nothing more
- Flee
- Fish
- Make fire
- Paladin
- Conjure Food
- Make Arrow
- Mage
- Fire ball ..
- Frost ball ..
- Thunder ball (levels into bolt..then storm etc)
- Druid
- Light Heal (grand heal, ultra heal etc..)
- Cure posion
- Suppot spells
- Configure duration in which abilities can be used - conjure should be 5-10 minutes, offense / defensive should be whenever, fish and make fire could be on a 30 cool down perhaps.
- Knight
- Hook into character's vocations to allow them to have standard abilities that will grow with level and skills
- Add functionality to apply a spell to yourself or perform other non personal spells such as fish (just return a stub function with "fishing" or something to prove it works with a cool down)
- Apply spell specifications to the character
-
As a user I want to use items in my inventory
- Add functionality to use an item
- Make sure the use of the item (food / potion / etc) is applied to the character
-
As a user I want to equip items within my inventory
- Create model for equipped item
- User has many equipped_items through inventory
- Validate that character may only have 1 equipped item on per slot at a time. exp: Helmet, Chest, Legs, Boots, Weapon, Shield
- As a user I want to be prompted on how to play on first login
- Create a HowTo Guide model
- Create a Beginner Guide record and initiation process that is triggered on first login
- Prompt the user on first login how to play the game
- Walk users through how stats work / where their profile settings are