Поддержка XNA WP7 и флэш-памяти с существующей кодовой базой C++ — конвейер, инструменты и подходы

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

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

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

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

А. Мы не хотим переписывать код игры еще два раза

Б. В идеале даже на один раз больше :)

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

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

Возможные варианты борьбы с ним:

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

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

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

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

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


person Alexander K.    schedule 24.07.2011    source источник


Ответы (1)


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

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

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

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

person Community    schedule 25.07.2011
comment
Это выглядит абсолютно лучшим решением, однако нам нужно его попробовать. - person Alexander K.; 25.07.2011
comment
Я думаю, вам придется связаться с ними и посмотреть, что они могут сделать для вас. :) - person ; 25.07.2011
comment
Я писал им несколько раз и не получил никакого ответа вообще. Я попросил позвонить мне и попросил их телефон, чтобы позвонить им, но НЕ ОТВЕТИЛ. - person Alexander K.; 06.08.2011