Подтвердить что ты не робот

Разработка Flash vs HTML5 для веб-и мобильных

Я опытный программист 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 $.

4b9b3361

Ответ 1

Я решил забыть о HTML5 для кросс-платформенной разработки игр и специально для развертывания на мобильных устройствах.

Концы, которые я указал на Flash, намного легче, чем минусы для HTML5. В принципе, для игр в стиле pixelart Flash на мобильном телефоне работает очень хорошо, особенно если используется какой-то красивый движок, например, Flixel.

Например, игра Flixel Robo Run имеет отличную производительность как на Android, так и Flash Player в браузере. У меня нет примера iOS для той же игры, но я считаю, что он будет работать так же хорошо, как на Android.

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

Подумав об этой проблеме HTML5 vs Flash в течение нескольких месяцев, я думаю, что в HTML5 кросс-браузерной совместимости нет смысла, поскольку Flash оказался своего рода Java для 2D-игр.

Ответ 2

Я думаю, вы достаточно эффективно наметили плюсы и минусы. Если кроссплатформенная и мобильная веб-разработка - ваш главный приоритет, Flash - хороший выбор. У вас будут все недостатки, которые вы определили.

Если вы используете javascript/HTML, например, механизм воздействия, у вас будет другой набор проблем и гораздо меньше совместимости на веб-странице.

Однако, если игра будет самой лучшей, это может быть, вам нужно будет искать в другом месте, потому что на данный момент не существует кода, который когда-либо публиковал решение.

Unity 3D имеет хорошие возможности для 3D и 2-х мобильных устройств. Аппликатор может также быть вашей чашкой чая. http://www.appcelerator.com/

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

=== Обновление === В марте 2012 года Adobe обновила флеш для iOS и Android, чтобы включить поддержку графики OpenGL, 3D и 2D-графики теперь можно использовать как флеш-память как единую кодовую базу для iOS и Android. Скорость хорошая, и вы также можете использовать одну и ту же игру в Интернете. Это отличный инструмент. Единственным недостатком является то, что флешка полагается на "расширения" для подключения к родным ОС, таким как Intents на Android или Game Center на iOS. Если вы планируете широко использовать собственные возможности, обратите внимание на это как на препятствие для развития.

Ответ 3

Как сказал ScanPlayGames, звук html5 является большой проблемой. Однако есть некоторые аккуратные порты WebGL. Доминик в Impact делал некоторые потрясающие вещи. Там он получил лучшую структуру.

Rovio сделал порт с помощью Google Web Toolkit для хранения хрома.

Я работаю в AppMobi. У нас есть инструмент под названием DirectCanvas для iOS (Android скоро появится), что увеличивает производительность игр в webview. Один из наших партнеров разрабатывает игру, в которой есть концепция Angry Birds (объект A предназначен для уничтожения других объектов). Таким образом, поддержка Box2d есть (главное, что нас удерживает от выпуска). Производительность потрясающая, и средний Джо не знает, что это игра в веб-виде.

И верьте мне, вы не будете тратить свое время на разработку на мобильных устройствах сначала для рабочего стола. У нас есть кое-что в наших рукавах.

Ответ 4

Я тоже разработчик флеш-игр и сделал некоторые исследования о том, как перейти на HTML5. Есть много препятствий, если вы пришли из мира Flash/ActionScript3. Одна из таких вещей - сам JavaScript - я знаю многих людей, таких как JavaScript, но если вы привыкли к AS3, это сложно. Другое дело - проблема со звуками (как упоминалось выше). Самое главное, что я не хочу начинать с нуля, и я хочу использовать свои навыки или даже перенести код из прошлого.

Короче говоря, я закончил с новым языком программирования Googles под названием Dart. Этот язык компилируется для JavaScript, поэтому он работает во всех современных браузерах. Самое главное, что Dart очень похож на ActiontScript3! Затем я сделал библиотеку с открытым исходным кодом, которая предоставляет весь Flash API, необходимый для игр (список отображения, растровые изображения, звуки,...). Я попытался сделать библиотеку максимально совместимой с Flash API, чтобы упростить процесс портирование источника игры. В конце концов, это было довольно легко, потому что вам нужно только изменить несколько вещей.

game я перенес: ActionScript для сравнения Dart: Некоторые другие образцы и ссылка к источнику:

Ответ 5

Я думаю, что большой недостаток Javascript заключается в том, что он не может обнаружить прозрачные области изображения, чтобы он мог перестать реагировать, пока мыши наводили или нажимали на него. Поскольку HTML5 был выпущен, было создано любое новое решение?

Ответ 6

Я работал с некоторыми людьми, которые делали очень насыщенное графикой приложение HTML5, и самое худшее - это звук, который я помню... каждый браузер должен был быть выполнен по-другому. Пойдите, посмотрите на некоторые исходные HTML-игры с открытым исходным кодом, в которых люди уже сделали грубую работу по тестированию в браузерах... есть некоторые довольно хорошие, я думаю. Вы не хотите, чтобы это был один QA-интерфейс в разных средах.