Files
modular-vr-definitions/engine.toml
2022-10-18 09:02:11 +02:00

74 lines
2.1 KiB
TOML

[room]
id = 1
spaces = [] # a room must have at least one space
[space]
id = 2
size = [2, 4]
doors = [] # a space has at least one entrance and one exit to other spaces either within the same room or from/to another room
modules = [] # a space may have modules
[passage]
id = 3
exit = 4 # the exit door of this passage
entry = 5 # the entry door of this passage
type = "portal" # elevator, moving platform, etc.
[door]
id = 4
passage = 3
[module]
name = "Module A"
size = [1, 1]
position = [0, 1]
rotation = 90
types = [] # a module must have at least one type
difficulty = 3
time-estimation = 342 # estimated amount of seconds to complete this puzzle
requirements = [] # a module may have requirements
[[types]]
description = "dexterity"
[[types]]
description = "precision"
[[types]]
description = "combination"
[[types]]
description = "iteration"
[[requirements]]
name = "minimum space"
[[requirements]]
name = "connected module" # in the same room as another module
module = "Module B"
[[requirements]]
name = "object" # an object is required to be posessed
provided = false # whether this module provides this object itself
[[requirements]]
name = "space around" # space that is not directly occupied by the module but must be available
[[requirements]]
name = "facing" # must be facing another module
module = "Module B"
type = "exact" # exact: exactly opposite of, raycast: must be visible from
[[requirements]]
name = "minimum space size"
[object]
name = "Object A"
properties = [] # an object may have properties
[[properties]]
name = "interactable" # this object can be interacted with
[[properties]]
name = "connected object" # connected to another object in some way
object = "Object B"
[[properties]]
name = "constrained" # the movement of this object is constrained in some way (e.g. a button that only moves a few centimeters in a single direction)
type = "position" # rotation, aim
[[properties]]
name = "bound to room" # this object is bound to a room and will disappear when leaving it
room = 1
[[properties]]
name = "tracked" # this object's position is tracked (mutually exclusive with "bound to room" since the physical tracked object cannot disappear)