Update Design Doc: `level` tool

master
Ashley N. 2023-09-07 20:15:20 +00:00
parent 7447252ff0
commit 3e5abe0ecb
1 changed files with 12 additions and 0 deletions

@ -15,6 +15,18 @@ reskit level -i map.tmx -c mapping.toml --system md --tile-size 2x2
```
Reskit will compile and output a .lvl file and .til file which you can then bundle into your game project, as well as a tilemap file formatted to the system defined in `--system`. See below for information on .lvl format.
## System Layers
The string property `reskit-layer` set on a Tile Layer indicates which layer should be used for which hardware layer in your system of choice. Valid options:
### Sega Mega Drive `--system md`
* `a`/`A` for Plane A
* `b`/`B` for Plane B
Tile layers without `reskit-layer` set are ignored by the `level` tool.
## Collision Map
The collision map is a tile layer with boolean property `reskit-collision` set to `true`. Any non-zero item placed indicates an item which the user is not permitted to pass through. How you implement this is up to your game engine - reskit will simply save the collision map in a `.bin` file as an artifact.
## Entity-Component System
Reskit assumes a best-practice entity-component engine design and the objects defined in your .tmx file effectively serve as the entities. By adding a property `reskit-component[x]` to each object, where x is the index of the component in an array, you can attach various components to the target object/entity. Each component may have various properties you choose to define, which can be formatted as Tiled property `reskit-component[x].y`, where x is the index of the component and y is the property name for that component. If multiple object layers are defined, reskit will collapse all of them into a single layer.