diff --git a/Design-Doc%3A-%60level%60-tool.md b/Design-Doc%3A-%60level%60-tool.md index f1889f0..91e3d38 100644 --- a/Design-Doc%3A-%60level%60-tool.md +++ b/Design-Doc%3A-%60level%60-tool.md @@ -25,13 +25,10 @@ The string property `reskit-layer` set on a Tile Layer indicates which layer sho Tile layers without `reskit-layer` set are ignored by the `level` tool. If no tile layer is specified using the `reskit-layer` property, or you use a setting invalid for the selected system, you will receive an error on the command line. ## Collision Map -The boolean property `reskit-collision` set on a Tile Layer to `true` indicates which layer should be used for building the tile collision map. Any non-zero item placed indicates a tile which the player 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 (`collision.bin`). +The boolean property `reskit-collision` set on a Tile Layer to `true` indicates which layer should be used for building the tile collision map. Any non-zero item placed indicates a tile which the player 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 `.lvc` file as an artifact (`collision.lvc`). If no layer is defined with `reskit-collision` you will receive a warning on the command line. Generally most maps should include collision data - it is NOT auto-generated! -### Format of the Collision Map -The collision map is just an array of 8-bit unsigned integers laid out with the same tile dimensions as your visible layers. 0 is a free area, while 1 is a collision area. - ## 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. @@ -57,7 +54,10 @@ health = { ## .bin Format (Tiles) This is a system-specific binary format of tiles formatted for your target system. Normally you would take this data and DMA it to the video display hardware in your homebrew. -## .lvl Format +## .lvc Format (Level Collision) +The collision map is just an array of 8-bit unsigned integers laid out with the same tile dimensions as your visible layers. 0 is a free area, while 1 is a collision area. + +## .lvl Format (Level) The .lvl format is output by the `level` tool. It is a binary format ideal for use on a 8-bit or 16-bit game console. All coordinates use (0,0) upper left as an origin. ### Entity Data