diff --git a/Design-Doc%3A-%60level%60-tool.md b/Design-Doc%3A-%60level%60-tool.md index 2fc47cc..f8e71f0 100644 --- a/Design-Doc%3A-%60level%60-tool.md +++ b/Design-Doc%3A-%60level%60-tool.md @@ -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.