-
Notifications
You must be signed in to change notification settings - Fork 13
OpenWorld ~ Loading OpenWorld Attributes from WDL
Note: This feature is currently in the design stage.
This page contains information of the WDL format for "Openworld" related attributes.
These are the specifications for items that may spawn within a room. It is formatted as a list of individual itemspec objects, which contain the following attributes: "name" (name of the item), "spawnchance" (the chance that the item spawns), "min" & "max" (the minimum and maximum number of items of that type that can spawn in the room), "hash_handle" (the hash_handle for the item).
This contains a list of individual specifications per each room. It contains the following attributes: "room_name" (name of the room), "short_desc"/"long_desc" (a short and long description of the room), "num_rooms" (the number of rooms of the same type that have already spawned), "items" (a list of items in the room), hash_handle (hash handle for the list of roomspecs).
"Gencontext" contains information about the game context of a given room. Its attributes include the following: "open_paths" (paths by the room which are open), "num_open_paths" (the number of open paths available), "level" (the level associated with the room), "hash_handle" (the hash handle for the Gencontext).
"Roomlevel" contains more information related to the level of each room (beyond what is given by "Gencontext") It contains the following attributes: "room_name" (name of the room), difficulty (difficulty level of the room), "hash_handle" (the hash handle for the "Roomlevel" struct).
This object contains all of the information necessary for level oriented room generation. It contains the following attributes: "num_thresholds" the number of total thresholds, "thresholds" (a list of player thresholds).
{
"OPENWORLD": {
"Itemspecs": [
{
"name": "ITEMSPEC1",
"spawnchance": 0,
"min": 0,
"max": 0,
"hash_handle": 0
},
{"...": "..."},
{"...": "..."},
{"...": "..."}
],
"Roomspecs": [
{
"room_name": "room1",
"short_desc": "room1 short",
"long_desc": "room1 long",
"num_rooms": 0,
"items": ["item1", "item2", "item3"],
"hash_handle": 0
},
{"...": "..."},
{"...": "..."},
{"...": "..."}
],
"Gencontext":
{"open_paths": "_",
"num_open_paths": 0,
"level": 0,
"hash_handle": 0
},
"Roomlevel": [
{
"room_name": "room1",
"difficulty": 0,
"hash_handle": 0
},
{"...": "..."},
{"...": "..."},
{"...": "..."}
],
"Levelspec": {
"num_thresholds": 0,
"thresholds": [0,2, 3, 4]
}
}
}
-
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