-
Notifications
You must be signed in to change notification settings - Fork 12
Open World ~ User Stories
-
As a user, I want to explore beyond the standard loaded world so that:
- I can find items/tools to help me advance in the game
- I can extend gameplay through more open-ended quests
- I can increase my stats by:
- Consuming food/potions (refer to RPG-Player Stats).
- Winning battles (refer to RPG-Battle).
-
As a user, I want to return back to my original room after my explorations so that:
- I can complete my original task.
- I can store my tools in a more central location (the map will help here!).
-
As a user, I want enter new auto-generated rooms via definable objects (i.e. window, door) so that:
- I don’t keep trying to open un-openable world objects.
- I can navigate easily in the open world.
-
As a user, I want a map to see the growing world of chiventure so that:
- I know my starting point was so I can return.
- I don’t repeatedly explore old rooms.
-
a user, I don’t want to know what tools or creatures I will find in the new room I explore so that:
- I keep my interest in the gameplay (curiosity).
- Chiventure is not predictable.
- I will keep exploring in order to find tools/boost stats (I have a purpose).
-
As a user, I would like to be given a description of the room I enter so that:
- I know how I can exit the room to explore new rooms or return to my previous room.
- I know if I will need to engage in battle.
- I know if there’s anything worth exploring in the room that will serve some purpose.
-
As a user, I want my stats (health, experience, strengths, and weaknesses) to remain consistent between rooms unless I increase/decrease my stats by engaging in an activity in that room so that:
- Gameplay is more consistent (continuity).
- I don’t cheat and boost my stats by entering/exiting a room multiple times and “retry” each activity.
-
As a user, I want the state of each new room to change depending on what activities I engage there so that:
- If I take something, the room doesn’t keep supplying the same item.
- If I defeat something, the creature isn’t auto-spawned each time I enter (refer to RPG-Battle Systems).
-
As a user, I want to be able to transport new things between new rooms and old rooms so that:
- I can complete tasks or quests started in another room.
- I can prevent something from happening the next time I enter this room. (I.e. if I take the key that locks the door behind me, new creatures can't "open the door" and challenge me in battle the next time I come in. This effectively creates a safe route for the player to move in.)
-
As a user, I want a room to incorporate at least one tool or additional mission that is not dependent on my original quest and maybe an object that does help me so that:
- I have a purpose to explore each room: either to complete my original mission or to collect "bonus" items that make gameplay interesting.
- Room set-up is not repeated too frequently by only carrying a limited number of objects.
The open world feature interacts with several other project features (Battle Systems, WDL, and Graphics). Here is how we envision this "crossover":
-
For Battle Systems features found in the open world:
- As a user, I want to gain health/experience points by performing certain actions in a room so that I can be stronger for my battles. (This point was already covered in the general user stories).
- As a user, I want to return to the beginning of the level if I die in battle so that I have to start the mission all over again. (Alternatively, I want to follow whatever outcome the Battle System teams decides on for users who die in battle to maintain continuity and cohesiveness in the game).
-
For WDL features and the open world:
- As a user, I want to have support for different objects (i.e. potions) I find different rooms so that game play is not limited to the original world map. (Defer to what the WDL thinks is appropriate support for these objects).
-
For Graphics and the open world:
- As a user, I want a map that accurately represents connections and paths between rooms of the open world to make navigation easier. (From the Graphics' team perspective, there will not be much overlap between our teams, other than the Open World team providing them with sufficient information to make a map ... but this could easily be deferred to WDL).
-
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