-
Notifications
You must be signed in to change notification settings - Fork 12
Battles ~ User Stories
As a user...
-
I want to choose to battle NPCs so that we can interact with them:
-
I want to encounter random NPC battles so that the user can level up and be challenged:
-
I want my items to affect the battles so that: Items increase my battle stats such as strength or health Items are requirements for possible attacks
-
I want my battles to be turn-based so that: Battles alternate between player and NPC, starting turn potentially based on a speed stat
-
I want different kinds of attacks so that: There is Offensive vs. Defensive Variable categories allow for unlimited elements / types / classes of moves (e.g. regular, special, magic, ninja, water)
-
I want status effects so that moves can cause / clear status effects
-
I want moves to have a counter of uses so that it limits their use
-
I want there to be a numbered menu of possible actions, so the input of the action will be a simple 2 character string that will either correspond to a move, an item, or the option to pass.
-
I want these as possible actions when I type into the terminal so that I can use:
[key]: selects a menu item labeled as the given keyINFO[key]: works on a menu item that is an item, move, or combatant. Also works with the arguments PLAYER or SELF which bring up information about the playerOVERVIEW,SUMMARY: lists all combatants in a numeric menu with their class and hpRUN,FLEE: attempt to leave the battleINVENTORY,ITEMS: lists items in the player’s inventory -
I want custom death results or messages so that we know if:
- The NPC or player dies
- The NPC or player is “defeated”
-
I want to be able to fight multiple enemies at once and/or fight in a party, either with other players or with npcs
-
I want to be able to battle other players once multiplayer games have been implemented
-
Battle Example:
You encountered Minion David!
MOVE or ITEM?
info enemy
NAME: Minion David
TYPE: Water
HP: 25
ATK: 10
DEF: 10
SP ATK: 10
SP DEF: 10
SPEED: 10
MOVE or ITEM? move Choose a move: M1- Life Drain M2- Shadow Ball M3- Poke
info M2
Shadow Ball TYPE: magic, damaging COST: 20 SP DESCRIPTION: deals 30 magic damage to the target
Choose a move: M1- Life Drain M2- Shadow Ball M3- Poke M2
Player used Shadow Ball!
Minion David lost 28HP!
Minion David used Poke!
Player lost 3HP!
MOVE or ITEM? move Choose a move: M1- Life Drain XX- Shadow Ball (not enough SP) M3- Poke
M3
Player used poke!
Minion David lost 1000000HP!
Minion David has fallen.
You Win!
(ONLY IF THE ENEMY DOESN’T DIE)
Minion David: “Wow, you really showed me!”
You found a Potion of Healing
You gained 20 EXP!
LEVEL UP! HP: 30 -> 31
ATK: 25 -> 25
DEF: 23 -> 24
SP ATK: 21 -> 23
SP DEF: 16 -> 17
SPEED: 24 -> 25
-
Action Management
-
Battles
- Design Document
- Text Based Combat in Other Games
- User Stories
- Wishlist
- Battle Planning 2022
- Battle User Stories Review 2022
- Structs in Other Modules Related to Battles 2022
- Stat Changes Design Document
- Run Function Design Document
- CLI Integration Design Document
- Move Changes Design Document
- Unstubbing Stubs Design Document
- Battle Items and Equipment Design Document
- Battle Item Stats
- Battles Demo Design Document
- Battles Testing Moves, Items, and Equipment Design Document
- Sound integration with battle (design document)
-
Custom Actions
-
Custom Scripts
-
DSL
-
CLI
-
Enhanced CLI
-
Game-State
-
Graphics
- Design Plan
- Design document for integrating split screen graphics with chiventure
- GDL (Graphical Description Language)
- Graphics Sandbox
- Design Document for NPC Graphics and Dialogue
- Feature Wishlist (Spring 2021)
- Installing and Building raylib on a VM
- LibSDL Research
- Module Interactions
- Working with Raylib and SSH
- raylib
- GDL
-
Linking the Libzip and Json C to chiventure on CSIL machines
-
Lua
-
NPC
- Dependencies: Player class, Open world, Battle
- Action Documentation
- Design Document for NPC Generation in Openworld
- Design and Planning
- Establishing Dependencies
- Implementation of Custom Scripts
- Independent Feature: NPC Movement Design Document
- Player Interaction Design and Planning
- Dialogue
- Design Document for NPC Dialogue and Action Implementation
- Loading NPCs from WDL Files
- NPC Battle Integration Design Document
- NPC Battle Integration Changes Design Document
-
Open World
- Autogeneration and Game State
- Deciding an integration approach
- Designing approach for static integration into chiventure
- Feature Wishlist
- Generation Module Design layout
- Potential connections to the rest of chiventure
- Single Room Generation Module Design
- Source Document
- User Stories
- World Generation Algorithm Plan
- Loading OpenWorld Attribute from WDL
-
Player Class
-
Player
-
Quests
-
Rooms
-
Skill Trees
- Avoiding soft locks in skill tree integration
- Components of Exemplary Skill Trees
- Design Document and Interface Guide
- Environment interactions based on skill characteristics
- Integrating complex skill (combined, random, sequential, etc.) implementation
- Integration of a Leveling System
- Potential Integration with existing WDL
- Research on game balancing in regards to skill trees
- Research on skill tree support in modern day game engines
- SkillTree Wiki Summary
- Skilltree "effect" implementation and roadmap
- Summary of md doc file for skilltrees
- Design ideas in connection to other features
- Summary of Skill Tree Integration 2022
- The Difficulty of the Reading the World
- Complex Skills Summary
-
Sound
-
Stats
-
WDL