Nebula CommunityСтатьи

Интро

История вопроса.
Некоторое время назад я понял, что писать свои энжИны – глупое занятие (для меня). После осмотра нескольких движков выбор пал на Irrlicht. Но в нем было некоторое количество «неидеальностей», требовавших исправления. Спустя 2 месяца, совсем недавно, словив очередной AV на ровном месте, я вдруг с удивлением обнаружил, что от Irrlicht не осталось и байта, а я снова занимаюсь движкописательством. Наработки немедленно были отправлены в dev/null (что соответствует их реальному качеству, увы), ревизия запасов обнаружила слитый еще летом nebula device. Я его смотрел раньше, но мельком. Сейчас он только и остался (Огр жирный, иррлихт я снова попробовал бы переделать) из числа тех, на которые я серьезно не смотрел. Немного возни со сборкой и разбирательством в особенностях – и вуаля! Никакого движкописательства мне более не надо. НАДОЕЛО!!!
Почему Nebula?
Потому что на этом движке сделана куча игр (но в основном немецких). Потому что это не вещь в себе, как некоторые энжИны. Потому что постоянно развивается (в ближайшее время надо слить с CVS обновление). Я в него въехал буквально за день (после сноса старых наработок). И здесь уже реализовано очень мне нравящееся HDRL. Плюс есть  инструменты. Поддержка кучи скриптовых языков (при этом ничто не заставляет их использовать, как и не мешает прикрутить еще какой-нибудь язык)
Маленький FAQ (буду дополнять по мере возникновения вопросов)
Основные проблемы, с которыми я (и вы, скорее всего), столкнулся.
1.  Где vcproj и sln файлы?
Nebula использует особую систему сборки. Файлы генерируются специальным скриптом на Питоне (для исполнения скриптов придется скачать). В сливаемой версии есть программка update.exe. При её запуске вы увидите (после того, как она хорошенько прожует весь SDK) список имеющихся проектов. И выбор варианта сборки. Тут все очевидно – для первого раза поставить галочки везде, а в пункте generator выбрать вашу версию Студии. Запомните эту программу – в неё вы будете заходить достаточно часто для обновления собственного проекта.
2.  Почему я поставил сборку на ночь (вечер/обеденный перерыв…) а оно не собралось?
Для сборки всего необходим DXSDK, MaxSDK (собранный вариант nviewer и экспортера для шестого макса брать ЗДЕСЬ). DXSDK желателен посвежее. По крайней мере, на Summer 2003 Update оно не собирается. У меня используется October 2005. С 6-ым максом возможны проблемы с линковкой. Лечится путем комментирования строчки #include <MAX_mem.h> в contrib/nmax/inc/base/nmaxdll.h (там про это сказано, кстати)
3.  Почему я запускаю nviewer, а оно падает?
Если в отладчике сообщается о usp10.dll, то проблема со шрифтами. Лечится заменой строчки “Arial” на “Tahoma” во всем движке.
4.  Где недостающие текстуры к моделям из папки “examples”?
Их забыли положить в инсталлятор. Брать с CVS.
5. Не собираются некоторые модули и демки из CVS версии.
А они и не должны. Движок развивается и иногда разработчикам приходится отказываться от ставших ненужными/неправильными возможностей. Ждите выхода следующей версии SDK. Можно что нибудь сиправить самостоятельно. Но почти все реально нужные модули вполне рабочие.

16 февраля 2006 (Обновление: 17 фев 2006)