Глава игрового направления компании FlowPlay Крейг Робинсон (Craig Robinson) поделился опытом переноса игрового Flash-проекта на современную платформу.

Свои советы Робинсон проиллюстрировал примером портирования принадлежащего FlowPlay социального MMO-казино Vegas World с Flash на программную платформу OpenFL.

Новый движок для размещения Vegas World должен был соответствовать следующим критериям:

  • Возможность продолжения поддержки существующих игр и сообществ
  • Единая база кода для размещения на сайтах и мобильных платформах
  • Возможность максимально использовать существующую базу кода ActionScript
  • Плавный переход на новую платформу для разработчиков
  • Возможность использовать существующие художественные ассеты
  • Выбор не проприетарной программной платформы, чтобы избежать повторения ситуации с Adobe Flash
  • Поддержка высококачественного игрового процесса и будущих инноваций

Сначала команда FlowPlay рассматривала Unity и HTML5/JavaScript, но в итоге остановилась на фреймворке OpenFL, основанном на языке программирования Haxe.

Кодовая база Haxe может использоваться для запуска любых мобильных и настольных приложений, а также браузерных программ на HTML5.

Она способна адаптироваться к новым языкам, платформам и технологиям по мере развития игровой индустрии.

Портирование с ActionScript на Haxe проходит относительно легко, так как сходство синтаксиса языков позволяет использовать большую часть кодовой базы ActionScript.

Кроме того, открытый исходный код Haxe/OpenFL гарантирует долговременную поддержку и развитие платформы.

Процесс портирования Vegas World Робинсон разбил на 5 этапов.

Тестирование. Сначала разработчики создали и запустили на Haxe/OpenFL небольшую игру  для iOS, Android, Windows и HTML5. Это доказало, что платформа жизнеспособна и обеспечивает требуемые производительность и функциональность.

Автоматизация. Существует ряд инструментов для автоматизации перевода с ActionScript на Haxe. Но на практике оказалось, что они часто приносят больше проблем, чем пользы. FlowPlay решили написать собственный инструмент перевода и, при необходимости, выполнить остальные операции портирования вручную. Большинство файлов оказались просты в переносе, некоторые из них потребовали незначительного вмешательства.

Актуальное портирование. В соответствии с философией сохранения нового кода как можно ближе к исходному ActionScript, FlowPlay сначала портировали основные библиотеки, затем перешли к сторонним библиотекам, оболочке игры, социальным комнатам, аватарам и, наконец, мини-играм, размещенным внутри более крупного метагейма.

Идентификация ошибок. Haxe/OpenFL поддерживает вывод на Flash в том же формате, что ActionScript, поэтому разработчики смогли сравнить новую игру со старой, чтобы идентифицировать и исправить любые аномалии.

Окончательная конверсия. Когда разработчики достигли сравнимой или лучшей производительности и функциональности в сравнении с Flash-версией, FlowPlay использовала Haxe/OpenFL для создания веб-версии и мобильного приложения Vegas World.

«Неизбежная гибель Flash означала, что нам нужно сделать выбор — отказаться от нашего кода, игр и клиентов и создать новую игру на новой платформе, или найти платформу, которая позволила бы нам продолжать поддержку существующих геймеров, а также привлечь новых игроков на мобильных платформах. Мы выбрали последний путь, и он хорошо сработал для нас», — подытожил Крейг Робинсон.

Читайте также:

Источник: Venture Beat

Теги:

Комментарии

Arthur Ostapenko 2017-07-12 14:15:11

C OpenFL не все гладко конечно с точки зрения производительности в HTML5.
Но как первая ступень для перехода с флеша на html5 подходит.

0

Дмитрий Стародымов 2018-01-28 14:24:26

Я до сих пор на флэше игры делаю, иногда на юнити делаю, если игра сложная по разработке.

0