From 0954b2437f73c1ee69f54a82a11ebe1ef2e33d5e Mon Sep 17 00:00:00 2001 From: Ashley N Date: Sat, 9 Sep 2023 14:46:44 +0000 Subject: [PATCH] Update Design Doc: `level` tool --- Design-Doc%3A-%60level%60-tool.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Design-Doc%3A-%60level%60-tool.md b/Design-Doc%3A-%60level%60-tool.md index b1d5523..c27a824 100644 --- a/Design-Doc%3A-%60level%60-tool.md +++ b/Design-Doc%3A-%60level%60-tool.md @@ -85,7 +85,9 @@ While the above format contains the graphics, this contains the nametable settin 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. ### .ecs Format (Entity-Component System) -This file contains the entity-component system defined by the [attributes](#entity-component-system) set in Tiled Map Editor's object layer(s). +This file contains the entity-component system defined by the [attributes](#entity-component-system) set in Tiled Map Editor's object layer(s). + +This file format is optimised for use on-console and as such uses sparse arrays and unions to represent most data. An index into each of these sparse arrays constitutes the ID of a given kind of data. This allows your game engine to find types, component attributes, etc without having to iterate through arrays in hot loops. #### Type Table Holds the registry of types and which set of components is associated with each type. An index into this table is the ID of the type. If there are no components in the type, that type ID is unused.