Document solutions
This commit is contained in:
parent
20763600de
commit
cf12ef5c21
@ -102,15 +102,15 @@ This is a list of special fields for node definitions that Lazarr! recognizes:
|
|||||||
|
|
||||||
See `GROUPS.md` for a reference of item groups used in this game.
|
See `GROUPS.md` for a reference of item groups used in this game.
|
||||||
|
|
||||||
## Development mode and laser debug
|
## Debug Mode
|
||||||
|
|
||||||
There is a hidden development/debugging mode in this game. It is used
|
There is a hidden Debug Mode in this game. It is used to
|
||||||
to debug the behavior of lasers. The most useful tool is the
|
enable several debugging and testing features of the game.
|
||||||
laser stepper, which is like single-step debugging, but for
|
|
||||||
lasers.
|
|
||||||
|
|
||||||
To enable the hidden debug mode, set the hidden setting `lzr_debug` to
|
To enable the hidden debug mode, set the hidden setting `lzr_debug` to
|
||||||
`true` in `minetest.conf`. This will unlock laser debug features:
|
`true` in `minetest.conf`. This will unlock the following features:
|
||||||
|
|
||||||
|
### Laser debug
|
||||||
|
|
||||||
* Chat commands:
|
* Chat commands:
|
||||||
* `/set_freeze_lasers`: Enable/disable laser updates on map change
|
* `/set_freeze_lasers`: Enable/disable laser updates on map change
|
||||||
@ -125,8 +125,43 @@ To enable the hidden debug mode, set the hidden setting `lzr_debug` to
|
|||||||
|
|
||||||
### Development mode
|
### Development mode
|
||||||
|
|
||||||
Additionally, `lzr_debug` will also unlock the development mode. It can
|
Development mode can be accessed with the `/devmode` command. In this mode,
|
||||||
be accessed with the `/devmode` command. In this mode, the world can be
|
the world can be altered more freely without the game getting in the way.
|
||||||
altered more freely without the game getting in the way. Lasers are always
|
Lasers are always frozen in development mode. You can also get all items
|
||||||
frozen in development mode. You can also get all items in the inventory.
|
in the inventory. This mode was created to test out stuff more easily.
|
||||||
This mode was created to test out stuff more easily.
|
|
||||||
|
### Solutions recording and testing
|
||||||
|
|
||||||
|
You can record solutions for levels and replay them. Solutions record
|
||||||
|
player interactions in a level in order to replay them for testing
|
||||||
|
the levels for regressions. The solution system is limited, however,
|
||||||
|
it only records interactions with nodes but not player movement.
|
||||||
|
|
||||||
|
This feature is EXPERIMENTAL and has some rough edges, so
|
||||||
|
use with care! The main use case for this feature is to record
|
||||||
|
solutions in the core levels.
|
||||||
|
|
||||||
|
This feature is useful to test and verify if the levels are still solvable
|
||||||
|
in a later update in case the behavior of a laser block was accidentally
|
||||||
|
changed in a compatibility-breaking manner. Passing the test does
|
||||||
|
NOT guarantee the level is error-free. In particular, if the player
|
||||||
|
would have to move to a place that is unreachable, the test won't
|
||||||
|
detect that.
|
||||||
|
|
||||||
|
Commands:
|
||||||
|
|
||||||
|
* `/record_solution`: Start record a solution for the current level.
|
||||||
|
You MUST call this at the beginning of a level, not afterwards.
|
||||||
|
Try to solve the level with as few node interactions as you can
|
||||||
|
(the solution doesn't have to be perfect tho).
|
||||||
|
The recording ends automatically when the level is completed and
|
||||||
|
a file is saved into the world directory on success.
|
||||||
|
WARNING: Existing files will be silently overwritten!
|
||||||
|
* `/replay_solution`: Replay the solution for the current level. This
|
||||||
|
only works for core levels and only when you're at the beginning
|
||||||
|
of a level.
|
||||||
|
* `/test_core_solutions`: Mass-test ALL core levels in sequential
|
||||||
|
|
||||||
|
The solution test will halt automatically when any inconsistency was
|
||||||
|
detected. You can always abort the solution test or a recording by
|
||||||
|
returning to the ship (e.g. with the `/leave` command).
|
||||||
|
Loading…
x
Reference in New Issue
Block a user