Старт разработки CES Диковинки

После моего доклада на UAFPUG 51, я решил чуть больше уделить времени созданию своего велосипеда. Gimmick - простой и быстрый Component/Entity System фреймворк для ActionScript3, с несколькими дополнительными возможностями. Вернее первая версия данной библиотеки планируется как CES фремворк, но основная цель создание “Диковинки” - построить гибко расширяемую экосистему для разработки игр на Flash и AIR . Конечно Gimmick не претендует на громкое название “игровой движок”, скорее он является набором инструментов облегчающий создание игровых приложений.

Но чтобы не писать простыни текста, лучше составлю небольшой Roadmap:

Версия 0.1 - создать базу - CES фремворк:
  • быстрая фильтрация сущностей по компонентам вида getEntities(ComponentType1, ..., ComponentTypeN)
  • Соблюдение консистентности, однородности данных - компоненты одного типа размещаются в векторе.
  • Гибкая настройка фреймворка - возможность заменить базовые менеджеры на свои.
Версия 0.2 - первичный инструментарий
  • Pool’ы для компонентов
  • Менеджер состояний приложения, вкл./откл. систем
  • Межсистемные уведомления
Версия 0.3 - параллелизация
  • Мультисистемы
  • Работа систем в разных потоках (Worker)
  • Блокировка сущностей для обработки в разных потоках
Версия 0.4 - оптимизация
  • Space Partitioning - для итерации меньшего количества сущностей
  • Оптимизация фильтров
Версия 0.? - другой инструментарий
  • Система создания сущностей Prefabs
  • Система запуска приложения
  • Система интеграции сторонних библиотек
  • Система загрузки ресурсов
  • Система user input

Поток моего сознания можно наблюдать на GitHub. Можно не только наблюдать, но и вносить свои изменения и предложения. Так же, чтобы разработка стала более интерактивной, буду писать небольшие заметки с вопросами: “А как вы думаете эту свистелку лучше сделать так или иначе?”