все. Мы — компания по разработке игр, и мы разрабатываем казуальные игры для ПК/MAC/iOS/Android на собственном движке, написанном на C++ (90-100%), и мы довольны этим!
Теперь мы хотим настроить таргетинг на XNA/WP7 и прошить.
Каков наилучший способ сделать это?
Конечно, нам придется переписать некоторые низкоуровневые вещи, такие как рендеринг спрайтов/синхронизация/поддержка звука, но мы хотим приложить как можно меньше усилий для переноса самого игрового кода.
А. Мы не хотим переписывать код игры еще два раза
Б. В идеале даже на один раз больше :)
Для flash мы будем использовать Haxe вместе с этой библиотеки. Было бы здорово иметь целевую поддержку C# в Haxe. Он был анонсирован, но так и не выпущен, и я думаю, что он не будет выпущен в ближайшем будущем. Но я думаю, что он выйдет через 1-2 года. Таким образом, портирование различных компонентов движка на Haxe — потенциально отличная инвестиция.
До тех пор мы должны решить, как встретить А и Б.
Возможные варианты борьбы с ним:
Используя mokey. Однако languaged кажется настолько примитивным и настолько отличным от C++/AS3/C#/etc, что мы решили его не использовать.
Прежде всего, разработайте порт XNA с помощью мозгов и конвертера C++ в C#. Затем используйте преобразователь C# в Haxe. Этот подход кажется лучшим на данный момент, но я понятия не имею, сколько времени сэкономят преобразователи по сравнению с простым переписыванием кода. Тем не менее, я думаю, они помогут.
Также можно использовать Adobe Alchemy для поддержки флэш-памяти. Однако нам придется разработать новую архитектуру для разделения рендеринга/аудио и логики на разные языки, и мы хотим избежать этого — это кажется более сложным, чем перенос кода.
Итак, что вы думаете о 1-3 и знаете ли вы лучшие варианты для достижения A и B? Может быть, другие метаязыки/подходы/технологии?
Большое спасибо!