ru:toolworks:docs:apparatus:ecs-glossary

ECS to Apparatus (Словарь)

Apparatus предоставляет базовые идиомы ECS и даже больше. Чтобы быть недвусмысленными (и самодостаточным), наш фреймворк использует другую схему именования, нежели чем в классическом ECS. Вот список терминов, которые мы используем в документации:

Общий термин Термин Описание ECS Термин
Subject (Сущность) Subject (Сущность) Низкоуровневая компоновка трейтов. Entity
Subjective (Сущностный объект) Высокоуровневая часть Subject-а, состоящая из деталей. N/A
Component (Компонент) Trait (Трейт) Блок данных основанный на структуре. Component
Detail (Деталь) Блок данных основанный на классе. N/A
Iterable (Итерируемый) Chunk (Чанк) Хранилище слотов сущностей и трейтов. Chunk
Belt (Ремень) Хранилище слотов сущностей. Chunk
N/A Slot (Слот) Отдельный элемент итерирования. N/A
Flagmark (Флажки) Ручная битовая маска специфицирующая сущность. N/A
Traitmark (Флажки трейта) Набор трейтов специфицирующий сущность. Archetype
Detailmark (Флажки детали) Набор деталей, специфицирующий сущность. N/A
Fingerprint (След или отпечаток) Полная спецификация топологии сущности. N/A
Filter (Фильтр) Выбранные и исключенные свойства в топологии сущности. Query
Mechanic (Механика) Логика выполняемая над сущностями. System
Mechanism (Механизм) Множество сущностей и механик на уровне мира Unreal-а. N/A
Machine (Машина) Глобальное состояние фреймворка. N/A

Почему же мы позиционируем нестандартные имена на первом месте? Ну, конечно, мы считаем нашу схему лучше и вот почему.

«Entity» - это более широкое понятие, часто зарезервированное для объектов общего назначения, вместе с тем оно довольно удобно для общей документации. «Subject», в свою очередь, лучше ассоциируется с чем-то автономным и обычно так называют вещи зависимые от других, подчинённые.

Само же слово «system» - более обобщённое и может обозначать почти всё что угодно, например, систему частиц, систему загрузки/сохранения, систему библиотек и так далее. «Mechanic» - интуитивно понятно, что это нечто, оперирующее над понятиями тика (ticking) и обеспечивающее весь игровой дизайн в целом.

Что на счёт «component» - так это имя уже было зарезервировано самим Unreal Engine. Слова «Detail» и «Trait» оказались незанятыми и достаточно очевидно, что они обозначают часть чего-то (сущности). Будем использовать слово «Component», когда речь идёт и о трейтах, и о деталях одновременно.

Поначалу это может быть трудно для запоминания, но привыкнуть к таким обозначениям не так-то и сложно, а логика, лежащая в основе терминов, в конечном итоге станет вашей собственной. Подводя итог, можно сказать, что тройка «Entity-Component-System» у нас трансформируется в «Subject-Trait/Deatil(Component)-Mechanic». Пожалуйста, возвращайтесь к этой статье время от времени в случаях, когда используемые термины вызывают трудности понимания.

  • ru/toolworks/docs/apparatus/ecs-glossary.txt
  • Последнее изменение: 2022/06/07 11:09
  • jispar