Я опытный программист AS3, и я делал Flash-приложения и игры в браузере и на мобильных устройствах (через Adobe AIR, например, на Android).
Я собираюсь начать разработку игры (базовый 2D-платформер с пиксельной графикой. Подумайте о Super Mario World), ориентированный как на веб-сайты, так и на мобильные платформы. Таким образом, я ищу легкое развертывание для этих двух типов платформ, имеющих в основном один и тот же исходный код.
Я разделяю между выбором ActionScript 3.0 (Flash) или HTML5/JavaScript для разработки этой игры.
Мой главный вопрос: для тех, кто раньше сталкивался с такой же ситуацией:
Каков самый безопасный способ?
Другими словами, существуют ли серьезные недостатки в одной из этих фреймворков, которые запрещают создавать многоплатформенные 2D-игры?
Или я просто мечтаю, и практичная мультиплатформенная (веб-и мобильная) разработка игр не так возможна? (кто-то знает, как Ровио сделал это с Angry Birds?)
Вот некоторые плюсы и минусы, которые я уже знаю:
Плюсы для AS3/Flash:
-
Современное состояние веб-игр.
-
Я пережил это.
-
(почти) скрытый исходный код.
-
В Интернете он не зависит от браузера.
-
Может работать как "родное" приложение на iOS и Android через Adobe AIR. Это не лучший опыт работы, но я знаю, что вы можете играть с ним.
Минусы для AS3/Flash:
-
Производительность для AIR для мобильных устройств не оптимальна, поэтому мне может потребоваться отказаться от действительно здоровой, но дорогостоящей функции (или даже нескольких функций).
-
Люди говорят, что HTML5/Javascript заменит его.
Преимущества для HTML5/Javascript:
-
Можно выполнить игры с Flash-качеством, используя, например, такие двигатели, как ImpactJS или Akihabara.
-
Кажется, он будет более стабильным и хорошо поддерживается на мобильных устройствах в будущем.
-
Развертывание как родного приложения возможно через PhoneGap, appMobi и т.д.
Против HTML5/Javascript:
-
У меня есть некоторые базовые знания этой технологии.
-
Исходный код широко открыт.
-
Производительность/поведение зависят от браузера.
-
Не хватает сплошной рамки или движка, который свободен от co $t $.