Save system
This commit is contained in:
51
.obsidian/workspace.json
vendored
51
.obsidian/workspace.json
vendored
@@ -13,44 +13,15 @@
|
||||
"state": {
|
||||
"type": "markdown",
|
||||
"state": {
|
||||
"file": "Welcome.md",
|
||||
"file": "Lore/The World.md",
|
||||
"mode": "source",
|
||||
"source": false
|
||||
},
|
||||
"icon": "lucide-file",
|
||||
"title": "Welcome"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "40801921a07146e2",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "markdown",
|
||||
"state": {
|
||||
"file": "Lore/Liora.md",
|
||||
"mode": "source",
|
||||
"source": false
|
||||
},
|
||||
"icon": "lucide-file",
|
||||
"title": "Liora"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "518281623a6393f8",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "markdown",
|
||||
"state": {
|
||||
"file": "Game Design/Focus System.md",
|
||||
"mode": "source",
|
||||
"source": false
|
||||
},
|
||||
"icon": "lucide-file",
|
||||
"title": "Focus System"
|
||||
"title": "The World"
|
||||
}
|
||||
}
|
||||
],
|
||||
"currentTab": 2
|
||||
]
|
||||
}
|
||||
],
|
||||
"direction": "vertical"
|
||||
@@ -219,18 +190,20 @@
|
||||
"obsidian-git:Open Git source control": false
|
||||
}
|
||||
},
|
||||
"active": "642469d5b256e7da",
|
||||
"active": "768d071a2d742b85",
|
||||
"lastOpenFiles": [
|
||||
"WELCOME.md",
|
||||
"Game Design/Focus System.md",
|
||||
"Timeline.canvas",
|
||||
"Assets/world_map.pdf",
|
||||
"Lore/The World.md",
|
||||
"Assets/world_map.svg",
|
||||
"Lore/Liora.md",
|
||||
"Lore/Sacred Forest.md",
|
||||
"Lore/Kestrel.md",
|
||||
"Lore/Grand Forest.md",
|
||||
"Lore/Grand Lake.md",
|
||||
"Lore/The World.md",
|
||||
"Assets/world_map.pdf",
|
||||
"Lore/Grand Forest.md",
|
||||
"Game Design/SaveGame.md",
|
||||
"Game Design/Focus System.md",
|
||||
"WELCOME.md",
|
||||
"Timeline.canvas",
|
||||
"Assets/liora_front_back.jpg",
|
||||
"Assets",
|
||||
"Lore/Liora/liora_front_back.jpg",
|
||||
|
||||
Binary file not shown.
9
Game Design/SaveGame.md
Normal file
9
Game Design/SaveGame.md
Normal file
@@ -0,0 +1,9 @@
|
||||
The save system has to keep track of persistent variables for certain important entities, world flags and the location of dynamic objects in the world.
|
||||
|
||||
## Implementation
|
||||
|
||||
We create a class `SaveGame` that calls the `Save()` and `Load()` functions of all singleton systems in the game that implement them. Then the saving and loading is deferred to each component. The resulting dictionary data for each component is bundled in another dictionary that groups them under the component name.
|
||||
|
||||
It is unnatural to let this system actually define the variables used by all those various systems, and it is not a bother to implement this functionality either. For the player we will have to create a component that stores the persistent data.
|
||||
|
||||
World flags are managed by the world system, and they are saved to and from a dictionary as well.
|
||||
@@ -1,3 +1,3 @@
|
||||
![[world_map.pdf]]
|
||||
![[world_map.svg]]
|
||||
|
||||
The world is split up into five distinct regions.
|
||||
Reference in New Issue
Block a user