Какие технологии мне следует использовать для разработки этой перспективной игры "рыбий глаз"?
Я собираюсь разработать 3D-игру, в которой игрок ходит в лабиринте с 3D-видом от первого лица, собирает вещи и убегает от монстра. Сама игра очень проста, но не для развлечения, а для биологического эксперимента, поэтому имеет свои особенности:
Мы будем проецировать графику на сферический экран с 3 проекторами, поэтому графика должна быть в виде рыбьего глаза и легко трансформироваться (чтобы справиться с объединением проекторов).
Должна быть функция записи данных, например, путь игрока, моменты времени появления монстра и т. Д. Все события должны быть записаны.
Игровая программа могла взаимодействовать с внешними устройствами через USB. Например, всякий раз, когда игрок нажимает определенную клавишу, программа скажет доске Arduino что-то сделать.
В качестве моей инвестиции я нашел трех кандидатов в цепочку инструментов для разработки такой игры:
Разработайте мод на движке Quake3 + Fisheye Quake. Я думаю, что проблема заключается в том, что Quake3 работает с виртуальной машиной, поэтому возможно ли реализовать вышеописанные функции 2 и 3?
Panda3D + FisheyeLens API
PyOpenGL. Это наиболее гибкий способ, но я думаю, что он требует наибольшей нагрузки.
Я довольно знаком с C/C++/Python, но я впервые разрабатываю 3D-игру. У меня вопрос, какая цепочка инструментов подходит для этого проекта (или любые другие хорошие варианты)? С какой проблемой я столкнусь?
1 ответ
Поскольку ответа пока нет, позвольте мне высказать свои собственные соображения здесь. Я не имею опыта разработки 3D и не знаю, сработают ли эти технологии. По некоторым побочным причинам я предпочитаю Panda3D.
Обратите внимание, что я все еще открыт для принятия других ответов.
Почему Panda3D?
- Это хорошо задокументировано. Это всегда важный фактор выбора технологии.
- Это на Python, что является плюсом для меня.
- Это универсальный (чем Quake3). Panda3D также можно использовать на симуляторе робототехники и т. Д., Что было бы полезно для меня.
Почему не Quake3?
- Он работает на виртуальной машине (QVM). Я боюсь, что трудно записать данные или получить доступ к внешнему устройству.
- Сначала я думал о Quake3, потому что это по крайней мере очень классический код для чтения, но в настоящее время я понял, что Quake3 не может делать ничего, кроме FPS-подобной игры. Если это стоит прочитать, просто прочитайте его, но не нужно работать с ним.
- Это не так гибко, чтобы преобразовать рендеринг графики. Это игровой движок по назначению, а не общая библиотека обработки графики.
Почему не OpenGL?
На данный момент я думаю, что Panda3D достаточно низ. Если он окажется не таким гибким, как мне нужно, я бы тогда обратился к OpenGL.