Что-то сгнило в геймдеве. Что-то в нем не так.
NIH-синдром рулит и не сдается.
Нет единой модели ни на одной из границ системы.
И как бы даже не планируется.
Вроде многомиллионный (чтобы не сказать - миллиардный) бизнес.
Вроде море денег вбухивается.
И рынок middleware вроде есть.
И проекты - и по полтора года, и по три.
И тысячи контор по миру...
...И ни одной стандартной алгебры, кроме как в D3DX, - да и ту только для ознакомления используют.
И у всех алгебра поддерживает SSE.
Но у всех немного отличается. Какой уж тут общий инструментарий.
Вроде определились, что матрица - 4x4 float.
Передаем друг другу вектора - как __m128.
Да и тут - под дверью опять лает фиксированная точка.
Oldschool рулит.
Хорошо, хоть специалистов по растеризации и реализации T&L руками для создания игры теперь нанимать не надо. Лайтмапы можно и в Максе сделать.
Контейнеры. Коллекции. Базовые примитивы.
"STL - must die."
"boost - тормозит и старается по любому поводу выделить память."
А тут как раз у всех - своя, родная, система сериализации.
У всех - продвинутая система создания, редактирования и хранения игрового мира.
У многих игровой мир даже в XML/XSD.
Но простирается ли ваша метамодель за пределы вашей компании?
Много middleware инструментов работают с вашей метамоделью?
Кроме XMLspy и вижуаловского редактора?
Опять у руля oldschool. Она разомкнута. Она не ожидает определенной модели.
Ведь список - это просто car и cdr.
А грамотные техзадания (чтобы как в книжках, чтоб не стыдно) вы видели?
Т.е. не просто диздок. А описание задания со всех сторон.
Как процесс ставим. Как рисуем. Как моделим.
И нормальное software engineering техзадание.
Видели?
Чтобы с нескольких точек зрения архитектура описывалась?
Чтобы было понятно, почему и зачем и что и как мы делаем? И почему не вот так?
Чтобы там красиво и по делу были use case?
UML диаграммы чтоб были читаемые и, главное, нужные?
Unit-тесты нормальные? Которые не только cross_product проверяли бы?
Что даст сборка ресурсов за один клик, если вы не уверены в собранных ресурсах?
Как, у вас есть система автоматического тестирования?
Наверное, она хорошо зарекомендовала себя на рынке? Или это ваш местный софт?
Да какие там middleware AI или звук...
Даже если они используются - вы посмотрите на этот menthal gap между ними и игрой.
Да взять хотя бы сами low-level API.
Вот появился на миг OpenGL 2.0 в драфтах.
Весь такой из себя асинхронный, с pack/unpack процессорами, с нормальным memory management.
И где он?
Я вообще не понимаю, почему они мажор версии изменили. Из-за glslang?
Героизм. CMM. ISO 9001.
И ведь все всё понимают.
И знают - RWS, HLSL FX, XACT, Preview pipeline и Live!. Drop-in UI.
И ощущают, что кто-то, кто будет достаточно сильный и смелый, всех подомнет.
И ведь необязательно лучший.
А аппаратуру потом разгонят. Чтобы она справлялась.
Где же ты, XNA?..
Фух, выговорился.
Теперь будем think positive.