Введение в Nebula 2: Mangalore
Автор: Anton Sysoev
В данной статье рассмотрено как создавать игровые объекты, как управлять этими объектами с помощью клавиатуры, как определять столкновения, как симулировать физику и как строить ландшафты при использовании Mangalore.
Целью данной статьи является ознакомление с framework Mangalore, который использует 3D движок Nebula 2 и предназначен для разработки видеоигр. В данной статье мы рассмотрим как создавать игровые объекты, как управлять этими объектами с помощью клавиатуры и мыши, как определять столкновения, как симулировать физику и как строить ландшафты. Все результаты, достигнутые в данной статье получены методом проб и ошибок, анализом исходников небулы и мангалора.
Теперь я хочу напугать тех, кто решился изучать Nebula 2 и Mangalore. Во-первых, документации от разработчиков очень мало, практически никакой, официальный форум не активен, если вы там оставите вопрос, то вам на него возможно и ответят, но это будет через год или через два. Во-вторых, и сама Nebula и Mangalore содержат множество багов и глюков, поэтому вам не один день/неделю/месяц придется провести за пошаговой отладкой, копаясь в недрах движка, пытаясь понять почему что-то не работает. Поэтому новичкам в программировании и в разработке видеоигр я не советую использовать данный движок. Вы должны хорошо знать С++, понимать объектно-ориентированное программирование, понимать что такое скрипты, шейдеры. Последнее разработчики Nebula и Mangalore похоже очень любят.
Теперь я перечислю инструменты, которые нам понадобятся: SVN (subversion), Microsoft Visual C++ (если у вас Express Edition, то еще понадобится и Platform SDK), DirectX 9 SDK, DevIL, Microsoft Excel 2003 (OpenOffice Calc не подойдет), Python, wxPython, Doxygen, Graphviz, HTML Help Workshop.
Часть 1. Установка и компиляция
Часть 2. Заготовка приложения
Часть 3. Первое изображение
Часть 4. Ландшафт
Часть 5. Физика
Часть 1. Установка и компиляция
Итак, данная часть в основном предназначена для новичков, которых я так и не сумел напугать. Ну и хорошо, трудитесь, старайтесь и все у вас рано или поздно получится. Озарение снизойдет на вас и вы будете свободно ориентироваться без затраты особых усилий в новых для себя языках программирования, платформах, под которые вы пишете свои программы, новых для себя фрэймворках и т.д. Что является обычными буднями для программиста.
Начнем. Во-первых, не качайте Nebula SDK с официального сайта движка, похоже Nebula SDK давно не обновлялся. К тому же в Nebula SDK не входит Mangalore и contrib модули. Закачивать Nebula надо с svn репозитория. Если вы не знаете, что такое svn, то чтобы быстро получить об этом хоть какое то представление советую посетить ресурс ru.wikipedia.org. Итак, если у вас нет svn, то качаем svn-1.4.5-setup.exe, устанавливаем. Далее, открываем консоль, переходим в место куда хотим сохранить Nebula, вводим svn checkout https://nebuladevice.svn.sourceforge.net/svnroot/nebuladevice/trunk/nebula2 и ждем когда закончится скачивание. Если все прошло успешно то последняя фраза должна быть updated to revision 3287. Далее еще нужно закачать nebula dependencies (зависимости) и mangalore dependencies. Небула и мангалор используют ode, opcode, ogg, sql lite и др., а dependencies – это как раз заголовочные файлы и «либы» этих библиотек. Ссылки на зависимости ищите в новостях на сайте www.nebuladevice.cubik.org. После того как вы скачаете их, распакуйте архивы в папку с установленной небулой.
Переходим к компиляции. Для этого сначала устанавливаем Python, затем wxPython. Если вы не знакомы с Python, то хочу вас предупредить о подводном камне. Если вы скачали Python 2.4, то библиотеку wxPython тоже надо качать для Python 2.4. Запускаем на исполнение файл update.py, который лежит в корневой папке Nebula. В появившемся окне в выпадающем списке выбираем нужную версию Visual Studio, отмечаем галочками mangalorelibs, mangaloretools, nebula2libs, nebula2tools и жмем на Run. После этого сборочная система небулы сгенерирует нам проектные файлы Visual Studio в папку nebula2/build. Далее заходим в эту папку открываем проектные файлы в visual studio и компилируем по две версии debug и release. Все, установка и компиляция завершена. Теперь заходим в папку nebula2/bin запускаем nviewer.exe и наслаждаемся примерами.