-
Notifications
You must be signed in to change notification settings - Fork 13
Future Directions (Spring 2022)
With the end of this iteration of chiventure, there is a lot of room for future developers to improve upon the current modules included in the dev branch, and for them to create brand new modules. Here are immediate things that can/should be improved upon with the future of the graphics team in chiventure:
One of the most important things is to implement modules integrating the features of the read_gdl module, and gdl files in general. Each module currently works rather independently, and while some do use important structs within gdl to make their own structs, they still lack in a way to dynamically implement information when a gdl file is read. In the future, it'll be useful to:
- Load information from parsed gdl file into structs
- Link all these structs and information together to make to make graphics more cohesive
Statistics is one of the most skeletal modules currently in graphics. The structs needed for statistics are implemented, but other functions in the module are just defined without any implementation. When dealing with this module, it'll firstly be more important to implement the rest of these functions before considering any other expansions with the module.
Important structs and the draw function for inventory are implemented. In the future, it's desired that the player will be able to have a graphical display of the descriptions of items in the inventory, rather than just relying on any output that may come to the terminal. Exploring how the inventory can update and change in real time (such as when the inventory is currently open) would also be worthwhile to explore in the future.
Important structs and the draw function for maps are implemented. In the future, it's desired that there will be expansions on how to better update the draw function with the coordinates with the player's location. When graphics is better implemented with chiventure as a whole in the future, it is also desired that there will be inclusion form open_world, especially when attempting to display a map system that allows the player to see the possible rooms near their current room when playing a chiventure game.
Important structs and the draw function for quests are implemented. When implemented with the rest of chiventure, it will be important to watch the improvements with the quest team. There are possibilities for images that relate to the quest to be added to the quest, along with giving more freedom with the author to display quests that isn't visually the same as a tree-like structure. Especially with the large variety of the way quests can be displayed in other games, it's most important to give flexibility to the author.
While important structs and the draw function for NPCs is currently implemented into chiventure, the module is not merged into the dev branch. Adding this module to the dev branch is an important first step before expanding upon it. Nonetheless, to expand upon NPCs, it may benefit on implementing how NPCs can be friendly/hostile, and have the ability to have such a graphical display change in case a conversation with an NPC causes this friendliness to change. Along with this, it may be worthwhile to allow there to be visual cues if the player choses the right/wrong choice for a conversation with an NPC. This is stuff that will likely be able to be added to what is already in NPCs rather than creating entirely new functions, but still something worthwhile to consider.
Important structs and the draw function for input box are currently in chiventure. It'll be worthwhile to expand upon the use of the buffer that holds information when the input box is used, and how cleaning it up can be most seamless for the author.
Important structs and the draw function for scenes are currently in chiventure. Scenes currently take png files as textures, but it may be worthwhile to expand how scenes may change immediately or within a certain frame when players move around a specific room.
The biggest goals for graphics is for everything to be flexible for the authors of chiventure games. Knowing when to be broad and specific is integral in making this aspect of the engine compatible for not only authors but for its integration into the rest of chiventure.
-
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