aboutsummaryrefslogtreecommitdiff
path: root/reqs.toml
diff options
context:
space:
mode:
authorLoek Le Blansch <loek@pipeframe.xyz>2024-10-26 15:58:11 +0200
committerLoek Le Blansch <loek@pipeframe.xyz>2024-10-26 15:58:11 +0200
commit370c72acdb43ddb79583c232af9f91155425fc8d (patch)
tree8bbf7ce073a62052671a3958f33263dff82011be /reqs.toml
parent6e870b621c663e09177fecf42810bc3b87c26ea6 (diff)
WIP save manager design
Diffstat (limited to 'reqs.toml')
-rw-r--r--reqs.toml45
1 files changed, 45 insertions, 0 deletions
diff --git a/reqs.toml b/reqs.toml
index a83208e..8cf9bca 100644
--- a/reqs.toml
+++ b/reqs.toml
@@ -117,3 +117,48 @@ Unless explicitly changed by the game programmer, methods on instances of
must be called by the script system.
'''
+[savemgr]
+type = 'user'
+priority = 'must'
+description = '''
+The engine provides an \gls{api} for saving various kinds of game data
+(e.g.~progress, levels, statistics, unlocked items, achievements).
+'''
+
+[savemgr:journalling]
+type = 'system'
+priority = 'should'
+description = '''
+The save manager uses a journal to store data, such that partial saves do not
+cause data loss.
+'''
+
+[savemgr:types-custom]
+type = 'system'
+priority = 'will not'
+description = '''
+The save manager can be extended to store and retrieve game programmer-defined
+types and data structures.
+'''
+
+[savemgr:types-scalar]
+type = 'system'
+priority = 'must'
+description = '''
+The save manager is able to store and retrieve scalar types.
+'''
+
+[savemgr:types-string]
+type = 'system'
+priority = 'must'
+description = '''
+The save manager is able to store and retrieve strings.
+'''
+
+[savemgr:multi-file]
+type = 'system'
+priority = 'will not'
+description = '''
+The save manager can load multiple different save files.
+'''
+