Розробка мобільних ігор HTML5 порівняно з власними ігровими програмами [закрито]


12

Який поточний стан ігрових двигунів, фреймворків, бібліотек та перетворень, пов’язаних із набором технологій HTML5 (включаючи бібліотеки CSS3 та JavaScript, такі як RaphaelJS, Impact, gameQuery); і як найкраще з цього порівнюється з розробкою нативного додатка (особливо для iOS та Android)?

Особливо з точки зору продуктивності, візуалізації та отримання "рідного почуття".

Думки про такі рішення, як Appcelerator та Corona SDK, також високо оцінені. Що стосується Unity3D, чи можна розвивати в ньому і чи все-таки грати в браузер (наприклад, поточні версії Chrome або Firefox, принаймні), без будь-яких залежностей або з тим, щоб користувач нічого встановив (немає веб-програвача єдності) .

Що я шукаю, це як розвивати веб-стандарти, щоб досягти максимальної кількості платформ (включаючи зовнішній мобільний), зберігаючи власний досвід для мобільних пристроїв без необхідності впроваджувати гру заново для iOS та Android.


2
Unity все ще вимагає веб-програвача. Вони працюють над розгортанням Flash 11, але це на деякий час не буде. Я не грав у гру HTML5 у мобільному браузері, який почував себе добре. А аудіо HTML5 - це ще купа достатку.
michael.bartnett

1
Якщо ви хочете "відчувати себе рідним", то вам потрібна нативна програма ... інакше ви завжди обмежені загальним знаменником платформ, які ви хочете підтримувати.
bummzack

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

1
Виходячи з мого досвіду, рідні ігри мають набагато більшу ефективність, ніж ті, що в HTML5, на нижчих
класах

Відповіді:


7

Бібліотеки HTML5 напрочуд гарні, особливо враховуючи його молодий вік. Є тверді двигуни 2D / 3D, які підтримують ефекти частинок, фізику тощо. Однак, немає нічого порівняного з усталеними та зрілими ігровими двигунами, такими як Unity або Unreal Engine.

Також мої досвіду HTML5 люблять керуватися подіями. Наприклад, у спрайтів відбуватимуться події onclick, і традиційна ігрова петля насправді не буде.

Ефективність власних програм набагато швидше, ніж все, що стосується полотна HTML 5. Ось такий мій досвід, хоча я не маю уявлення про Appcelerator або Corona SDK.

Однак якщо ваша мета - це «максимальна кількість платформ», ніж частина «веб-стандартів», я пропоную таке рішення, як Unity, яке працює майже на всьому, і завдяки вбудованому редактору є дуже продуктивним механізмом.


6

Том тут, від Scirra, ми робимо Construct 2 виробником ігор HTML5 .

Нещодавно ми розповідали про це, порівнюючи продуктивність HTML5 Canvas / WebGl / C ++ DX. Про це можна прочитати тут:

http://www.scirra.com/blog/58/html5-2d-gaming-performance-analysis

А ось графік:

введіть тут опис зображення

Я знаю, що це не ефективність у порівнянні з рідними мобільними форматами, але це порівняння з настільними додатками для настільних ПК, що повинно дати певний розрив у продуктивності.


Любіть графік. Будь-який шанс на оновлення 2016 року?
Дан Даскалеску

4

Перш за все, з Corona SDK прекрасно працювати. Луа - чудова мова, Корона - дуже ґрунтовна основа, і документація до цього часу була чудовою.

На мою думку, розробка ігор HTML5 поки не варта. Як на настільних, так і на мобільних браузерах. Якщо ваша мета - зробити приголомшливу гру для роботи на настільних комп'ютерах та мобільних пристроях, тоді не турбуйтеся. Якщо ваша мета - створити гру в HTML5, тоді перейдіть на створення і скористайтеся однією з фреймворків, про які вже згадували люди (також подивіться Crafty або Gee для більшого інтерфейсу типу малювання).

Основна причина полягає в тому, що, коли я роблю гру, я хочу зробити повноцінну і відшліфовану гру. Частина створення повноцінної та відшліфованої гри - це гарне аудіо. Хоча <audio>тег підтримується в основних веб-переглядачах (припускаючи, що ви надаєте достатньо різних форматів), керувати звуковим createElementзаписом програмно, це певна біль. SoundManager 2 - це допомога в діапазоні, а не рішення. У багатьох випадках це просто відмовиться від використання Flash-об’єкта для настільних ПК. У цей момент я запитую, чому б просто не зробити прокляту річ у Flash?

На iOS, якщо ви не використовуєте хак, як у бібліотеці Jukebox Zynga , ви насправді обмежені лише відтворенням звуків у відповідь на введення користувача. Це смішно.

Крім того, якщо ви не упакуєте свою гру HTML5 як додаток, людям потрібне з'єднання, щоб грати. Час, який я найбільше витрачаю на ігри в мобільні ігри, припадає на метро - сигналу немає. І якщо ви впакуєте свою гру, чи не буде дивно не мати звуку? Якщо я завантажую гру, я очікую певного рівня чуйності та полірування. Читайте: рідний додаток.

Поки подальші розроблені та мобільні браузери HTML5 не стануть швидшими, і аудіо HTML5 не перестане смоктати, я буду весело грати з Javascript <canvas>і все таке, але я не піду так далеко, щоб створити відшліфовану гру з ним. Це зводиться до ваших цілей. Дуже мало хто знає, хто грає в ігри, а не розробники, навіть не має мобільних ігор HTML5 на своєму радарі. Знову ж таки, якщо ви хочете зробити приголомшливі ігри HTML5, зробіть ігри HTML5. Якщо ви хочете робити і продавати приголомшливі ігри, зробіть якість досвіду ваших гравців пріоритетним.


Запит на оновлення в середині 2012 року - покращилася розробка ігор HTML5? Чи є ще розрив у виконанні та проблеми зі звуком?
Спалах

3

Перевірте http://cocos2d-javascript.org/

Його ще не повністю реалізовано. Але як тільки зроблено, це може бути найкращим :)

На цьому сайті є кілька демонстрацій, вони досить непогані ...

Редагувати: Щойно перевірено, демонстрація не є мобільною для мобільних пристроїв ...


3

Як показали інші відповіді, різниця в продуктивності досить велика. Однак існують нові способи отримання власної ефективності в Інтернеті (за допомогою Chrome).

MonoGame - це відкрита реалізація рамки XNA, яка призначена для роботи на якомога більше платформах. Коли це поєднується з NaCl Google Chromes (Native Client), результати є досить вражаючими (потрібен хром).

Моєю порадою буде створити нативну програму в XNA або MonoGame і розглянути можливість NaCl та / або ExEn, щоб перейти на інші ігри. Переважна більшість вашої кодової бази буде однаковою для всіх платформ, але зменшення розміру, що випускає вашу гру, не матиме простоти гри HTML5.

На мою думку, HTML5 просто не існує в застосуванні корисної продуктивності, але існують інші варіанти, які майже конкурують з доступністю HTML5, хоч і додають трохи більше складності (і коштують у певній ситуації) до виходу вашої гри.


Боже мій, я думав, що NaCl призначений лише для рідного коду C ++, але він також працює Mono ?!
Девід Гувейя

1

Я настійно пропоную libgdx, його база на базі Java, в основному створена для розгортання на андроїд і робочий стіл, але останнім часом додала html5 до свого арсеналу, я б настійно рекомендував це. http://code.google.com/p/libgdx/

Деякі ігри, перенесені на html5:


1

Ви можете спробувати PlayN . Наразі це не дуже зріло або добре зафіксовано, і для його роботи потрібні певні зусилля, але це дозволяє програмувати на Java та експортувати свою гру на декілька різних платформ (на даний момент Java, HTML5, Flash, Android та iOS, а в майбутньому Windows Phone 7).

Перевага, яку він має над Corona, Phonegap тощо, полягає в тому, що вона компілює вашу гру для кожної з платформ, а не просто запускає її за допомогою віртуальної машини; це гарантує, що ви отримаєте майже нативну продуктивність на кожній платформі.


0

Дивовижна відповідь та посилання - дякую!

Я роблю власну бенчмаркінг (HTML5 / JS та PhoneGap) і знаходжу ту саму відповідь. HTML5 просто ще не існує. Я не грав з жодною з більш "екзотичних" відповідей, як-от app * mobi, який стверджує, що має збитий браузер, оптимізований для ігор, але загальний план "Напишіть свою гру в HTML5 і грайте в неї по телефону" не життєздатні в цей момент. Може потрапити туди, але я не впевнений. Браузер просто не призначений для того, щоб бути двигуном візуалізації, і ми проскакуємо безліч обручів, щоб потрапити туди. Я думаю, що замість цього ми побачимо, що хтось придумає альтернативу, яка набере критичну масу, і це злетить. Час покаже.

Я хотів би будь-який відгук та конструктивну критику моєї роботи, яка є на GitHub і є безкоштовною для всіх.

https://github.com/GameMaker/PhoneGap-Performance-Test--PGPT-

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.