- Кроссплатформенность
- Модульность (субъекты(код) полностью отделены от объектов(данные); субъекты можно менять на ходу, так что никто этого не заметит)
- Собственная парадигма в основе (тем кто видел, понравилось; в частности можно в рендере можно попросить все объекты которые можно отрендерить; очень удобно моделировать окружающий мир; на эту тему будет отдельное описание с примерами)
- Многопоточность+псевдопоточность (1 субъект = псевдопоток; N псевдопотоков рассовываются по M реальных потоков произвольным образом; внутри одного потока псевдопотоки умеют делать yield и отдавать время соседу(оч.удобно если мы, например, ждём ответа от физики) )
- Контроль целостности объектов (есть возможност зафиксировать часть графа т.е. если у самолёта есть закрылок с углом наклона, то он там и будет пока самолёт целиком не удалят)
Основные фичи парадигмы(и немного её реализации):
- Отделение (общих)данных от кода обработки
- Возможность выборки по признаку
- Возможность реализации перехода признаков (мокрое <-> сухое и т.д.)
- Возможность классификации/кластеризации (не знаю как это может пригодиться в игре (хотя для ГА и нейро сетей...), для data mining рулит)
- Быстрый доступ до общности (т.е. коррдинаты, ориентация и прочее что есть почти у любого объекта), чуть более медленный для признаков (логарифмическая сложность).
- Возможность реализации "составных" признаков (огонь=рисуемый(с-ма частиц)+звук(огонь)+...+тепмпература(значение)+...)
- Система сообщений (очень. быстрая) через которую всё и живёт.
Комментариев нет:
Отправить комментарий