Как мне сделать порт Flight Gear для WiiBrew?
Как мне сделать порт Flight Gear для WiiBrew? Или, что еще лучше, как мне убедить кого-то другого?
2 ответа
Как мне сделать порт Flight Gear для WiiBrew?
"Портирование" любого нетривиального приложения, по крайней мере, двоякое: технически вам сначала нужно получить исходный код для всех зависимостей, чтобы скомпилировать все для вашей целевой платформы, то есть с помощью кросс-компилятора и симулятора / эмулятора для на самом деле проверить свои исполняемые файлы.
Итак, вам понадобится полная среда сборки / тестирования для сборки и запуска исполняемых файлов для вашей платформы: во-первых, нужно скомпилировать все необходимые зависимости (некоторые из которых могут иметь свои собственные зависимости!), Которые в основном сводятся к следующему:
- PLIB
- SDL
- (pthreads: linux)
- OpenAL
- OpenSceneGraph
- simgear
Инструкции по сборке FlightGear можно найти здесь, здесь и здесь
Однако, помимо компиляции исходного кода, вам также необходимо убедиться, что приложение реально может быть запущено на целевой платформе: ( спецификации аппаратного обеспечения).
Это, однако, не кажется простым в случае с FlightGear: рекомендации по аппаратному обеспечению FlightGear гласят: "Аппаратное ускорение на основе OpenGL","256 МБ выделенной графической памяти", "Процессор 1-2 ГГц", "512-1024 МБ". ОЗУ ", "400-500 МБ дискового пространства "
Таким образом, даже если вам удастся скомпилировать исходный код для вашей целевой платформы, эта конкретная целевая платформа выглядит непригодной в этом случае для данного приложения - из-за требований к оборудованию во время выполнения.
На самом деле, поиск по форумам FlightGear вызывает дискуссию о запуске FlightGear на встроенных (игровая приставка / мобильные) платформах.
Краткое изложение этого обсуждения будет гласить: "FlightGear не оптимизирован для использования в таких ограниченных средах". По сути, это кажется далеко не тривиальным: даже если вам удастся скомпилировать все зависимости, сам FlightGear все равно необходимо будет существенно модифицировать / реинжинирировать для встроенного использования.
Кроме того, просто иметь возможность технически компилировать и запускать (с приемлемой производительностью / частотой кадров) код все равно будет недостаточным: с точки зрения удобства использования FlightGear - это симулятор полета, разработанный для использования на персональных компьютерах с некоторыми периферийными устройствами - другими словами, он в основном опирается на клавиатуру и мышь, а также на другое оборудование ввода (джойстик / педали).
Таким образом, даже если вам удастся перенести FlightGear на жизнеспособную целевую платформу, его все равно придется модифицировать для использования вне ПК.
Требования к дисковому пространству, вероятно, могли бы быть значительно снижены, если бы использовалось только определенное подмножество ранее упомянутого "базы / пакета данных" (где хранятся пейзажи, самолеты и т. Д.)
Или, что еще лучше, как мне убедить кого-то другого?
Это определенно нетривиальная задача, которая не может быть легко решена, поэтому, хотя она, безусловно, возможна, она потребует значительного количества времени или денег.
Таким образом, если у вас есть доступное финансирование, вы можете попытаться передать эту работу на аутсорсинг, используя такие сайты для фрилансеров, как rentacoder/ elance и т. Д. - фактически, вы можете просто попытаться запросить предложения для таких настроек.
Если у вас нет доступных средств, вы можете попытаться связаться с производителями целевых платформ, которые могли бы извлечь выгоду из таких усилий. Может быть, они даже захотят помочь спонсировать / поддержать такие усилия?
Фактически, большая часть требуемой реинжиниринга не будет относиться только к одному устройству, но, как правило, будет полезна для всех усилий, связанных с переносом FlightGear на платформы, не относящиеся к ПК, независимо от того, будет ли это nintendo wii, sony playstation, apple iphone ...
В общем, было бы неплохо связаться с командой разработчиков FlightGear и обсудить с ними вашу идею, они, вероятно, являются лучшим источником информации о том, насколько осуществимыми будут такие усилия.
Вы скачаете исходный код (и, я полагаю, "базовый пакет"), получите среду разработки для WiiBrew и приступите к работе. FlightGear написан на C++ с использованием SDL, OpenAL и OpenGL, поэтому исследование поддержки платформы для этих базовых пакетов - это первый удобный шаг. Чем меньше зависимостей, требующих портирования, тем проще будет порт.
Не зная, как оценить системные требования, Flight Gear, похоже, ориентирован на высокопроизводительный ПК ( они упоминают частоту процессора 2-3 ГГц), Wii не совсем в этом поле.
Убедительная часть вряд ли является техническим вопросом, это больше о социальном хакерстве.:)