Поддержка XNA WP7 и flash с существующей базой кода C ++ - конвейер, инструменты и подходы - PullRequest
1 голос
/ 24 июля 2011

все. Мы являемся компанией по разработке игр и разрабатываем казуальные игры для ПК / MAC / iOS / Android с собственным движком, написанным на C ++ (90-100%), и мы довольны этим!

Теперь мы хотим нацелиться на XNA / WP7 и прошить.

Каков наилучший способ сделать это?

Конечно, нам придется переписать некоторые вещи низкого уровня, такие как рендеринг спрайтов / поддержка синхронизации / аудио, но мы хотим приложить как можно меньше усилий при переносе самого игрового кода.

A. Мы не хотим переписывать игровой код в два раза больше

B. В идеале даже еще один раз:)

Для flash мы будем использовать Haxe вместе с этой библиотекой . Было бы здорово иметь поддержку C # target в Haxe. Он был объявлен, но не выпущен, и я думаю, что он не будет выпущен в ближайшем будущем Но я думаю, он выйдет через 1-2 года. Так что в переносе различных компонентов двигателя на Haxe возможны большие инвестиции.

До этого мы должны решить, как встретить А и Б.

Возможные варианты решения этой проблемы:

  1. Использование mokey . Однако язык кажется настолько примитивным и настолько отличным от C ++ / AS3 / C # / etc, что мы решили его не использовать.

  2. Прежде всего, разработайте порт XNA с помощью мозгов и конвертер C ++ в C # . Затем используйте C # для преобразования Haxe . Этот подход кажется наилучшим на данный момент, но я понятия не имею, сколько времени сэкономят преобразователи по сравнению с простым переписыванием кода. Тем не менее, я думаю, что они помогут.

  3. Также возможно использовать Adobe Alchemy для поддержки флэш-памяти. Однако нам придется разработать новую архитектуру для разделения рендеринга / аудио и логики на разные языки, и мы хотим избежать этого - это кажется более сложным, чем перенос кода.

Так что вы думаете о 1-3 и знаете ли вы лучшие варианты для достижения A и B? Может быть, другие мета языки / подходы / технологии?

Большое спасибо!

1 Ответ

1 голос
/ 25 июля 2011

Это ваше самое лучшее / идеальное решение:

http://www.mandreel.com/?page_id=48

http://www.leebrimelow.com/?p=2593

По сути это фреймворк / компилятор, который будет компилировать c / cpp / objcна iOS, Android, Flash, WP7 и многое другое.

...