From 27a1cc284902c19cff19ab3b36e9d5b89f536c3b Mon Sep 17 00:00:00 2001 From: Ashley N Date: Mon, 4 Sep 2023 19:14:11 +0000 Subject: [PATCH] Update Design Doc: `level` tool --- Design-Doc%3A-%60level%60-tool.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Design-Doc%3A-%60level%60-tool.md b/Design-Doc%3A-%60level%60-tool.md index 8d8ffd8..687207b 100644 --- a/Design-Doc%3A-%60level%60-tool.md +++ b/Design-Doc%3A-%60level%60-tool.md @@ -9,7 +9,11 @@ This document details some approaches for implementing the `level` tool. `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. ## 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. +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. 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. + +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-component[x]`.