diff --git a/Design-Doc%3A-%60level%60-tool.md b/Design-Doc%3A-%60level%60-tool.md index ad5c071..8d8ffd8 100644 --- a/Design-Doc%3A-%60level%60-tool.md +++ b/Design-Doc%3A-%60level%60-tool.md @@ -8,27 +8,15 @@ This document details some approaches for implementing the `level` tool. ## What is `level`? `level` is a tool for reskit that converts [Tiled Map Editor](https://www.mapeditor.org/) tilesets and maps to a binary format accessible to C or assembly language engines. It distinguishes itself from other available homebrew tools by offering support for Tiled's native tmx/tsx XML formats, and user-specified event objects (e.g. "drop enemy", "open door") that your custom engine can read and apply. -## Events -By adding an object layer and object in Tiled, and adding the property `reskit-event`, you can define an event triggered in certain scenarios depending on additional `reskit-*` properties. Reskit assumes a best-practice entity-component engine design and the objects defined in your .tmx file effectively serve as the entities. - -| Object Property | Type | Description | -|-------------------------|------------|-------------------------------------------------------------------------------------------------| -| reskit-component[x] | Array/String | List of components to attach to this entity. | -| reskit-character | String | Target character defined for a particular event type. | - +## 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]`, where x is the index of the component in an array, you can attach various components to the target entity. What your game does with this information is entirely up to you: reskit just compiles the information on which entities are where and what components are attached to them. ## Map TOML -This is provided on the command line via `--map-config-file`. The Map TOML primarily is a mapping of string identifiers to numeric identifiers, which are better suited for use on 8-bit and 16-bit systems. You must define numeric identifiers for each string you use as a `reskit-character` or similar. +This is provided on the command line via `--map-config-file`. The Map TOML primarily is a mapping of string identifiers to numeric identifiers, which are better suited for use on 8-bit and 16-bit systems. You must define numeric identifiers for each string you use as a `reskit-component[x]`. ### Example ```toml [components] player = 0 health = 1 - -[characters] -stinkhead = 1 -frankie = 2 -the_object = 3 -dolan = 4 ``` \ No newline at end of file