-
Notifications
You must be signed in to change notification settings - Fork 13
Stats ~ Fitting Initial Stat Ideas into Current Code Implementation Code Design
Borja Sotomayor edited this page May 15, 2021
·
3 revisions
- Player; header file in chiventure/game-state/include/player.h
- Contains a pointer to player_id and inventory, as well as rudimentary level, health, and xp ints.
- Including a change_health and get_health, change_xp/get_xp, and change_level/get_level int functions
- Contains a pointer to player_id and inventory, as well as rudimentary level, health, and xp ints.
- Action, header file in chiventure/include/action-management/action_structs.h
- Contains “action”
- Enum in struct action_type_t specifying push, pull, eat, etc.
- Contains “kind" of action
- Enum in struct action_type_t specifying whether a player does something to an item, whether a player walks in a certain direction, or whether a player interacts with two items.
- Contains “action”
- Game, header file in chiventure/include/game-state/game.h
- Includes struct game with a hash-table of players, items, “current player”, etc.
- Provide basic player statistics and the tools to manipulate and display them throughout gameplay, adding support for custom statuses
- Work closely with the rpg-battle team to implement specific combat statistics/effects according to actions
- Implement dynamic status structure inside a class_t struct to monitor buffs/nerfs and other status changes
- Temporary stats gain
- States e.g., stunned
- “Dispel” certain effects incurred by items or actions
- Implement dynamic status structure inside a class_t struct to monitor buffs/nerfs and other status changes
- Work with rpg-classes to implement starting statistics
- Work with others to add or change additional features, such as interaction with objects, rooms, npcs, level, inventory, and display messages
- Struct stat_t* = stat_new(char* stat_name, int stat_threshold)
- Some sort of stat_list with stat_t (array?) in game.h
- If it ever dips below “stat_threshold”, the player’s behavior would change accordingly
- Can add to player in player.h
- “Int modify_stat(player_t* p, stat_t s, int i)” and “stat_t get_stat(player_p* p, stat_t s)”
- Consolidate change_[STAT] and get_[STAT] functions already implemented, in other words
- In player.h
- display_stats(player_t* p)
- Most of our work will involve working with other teams to see where we want additional features to go; this is nothing more than a baseline for now.
- Most immediate goal is responding to rpg-battle needs and implementing specific and set stats (see starting point)
-
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