Основні знання для створення ігор на основі HTML / JavaScript [закрито]


17

Мені було цікаво, чи можуть хто-небудь з експертів там поділитися знаннями та ресурсами того, що потрібно, щоб почати робити ігри з найновішими стандартами HTML та JavaScript (або з того, що деякі хочуть називати HTML 5). Чи є бібліотеки JavaScript, які є важливими для цього процесу? Крім <canvas>тегу, які ще фрагменти HTML нам потрібні?

Відповіді:


9

Ви повинні знати про теги аудіо та відео . Веб-зберігання є досить важливим, якщо вам потрібно зберегти багато даних для збережених ігор тощо.

Вже є декілька ігор JavaScript html5, акіхабара досить популярна.

Щодо інших бібліотек, Jquery і Functional Javascript - це 2 моїх улюблених.


які сильні сторони кожного кадру? Який із найпростіших, найміцніших та найчистіших кодів? Слово "Функціонал" у функціональному Javascript -термі звучить цікаво, про що це насправді? Яку основу ви б запропонували пітоністу?

що надає Веб-сховище, що DB не може?
закінчився термін дії

@expiredninja база даних насправді буде кращою, але веб-сховище є локальним для машини користувача. Ні хостингу, ні швидше, ніж здійснення дзвінків ajax і т. Д. Ця відповідь (трохи) застаріла з прийомами, які використовуються в сучасних браузерних іграх.
jdeseno

6

Вже є кілька фреймворків: GameQuery та Akihabara , що є плагіном для jQuery, щоб робити деякі пов'язані з іграми дії, наприклад, анімації, групувати спрайт, виявляти зіткнення та читати введення гравця.


4

Просто, щоб викинути більше ресурсів, перевірити RaphaelJS . Це дуже приємна бібліотека малюнків та анімації SVG, яка має приємний API. Не забудьте перевірити демонстрацію.

Загалом, я б рекомендував <canvas>теги за прямі маніпуляції з DOM (наприклад, зробити кожен спрайт власним, <div>щоб зробити тестування хітів просто вражаючим). Легко отримати маніпуляції з DOM неправильно та погано виконати, тоді як традиційні стратегії розвитку 2d добре працюють на HTML-полотні.


3

Окрім деяких фреймворків для ігор, які там знаходяться, вам слід знати про Burst Engine, який є JS-рамкою для відображення анімації на основі SVG в HTML5-полотні:

http://burst.bocoup.com/

Поки я бачив, як люди згадують про теги та теги, але є й інші речі DOM, які є життєво важливими для розробки ігор JS / HTML, включаючи такі речі, як додавання виклику EventListener до елемента для таких речей, як події 'mousemove' та 'mousedown'. Наприклад, цей беруть перший елемент полотна, який він може знайти, і налаштовує його так, що при натисканні на полотно він викликає функцію, яку ви визначили під назвою "shootAtClick":

document.getElementsByTagName ("CANVAS") [0] .addEventListener ('mousedown', shootAtClick, false);

Ви можете бачити це в цьому прикладі, коли я розширив двигун Akihabara, щоб прийняти базове управління мишею. (Для початку натисніть Z, для переміщення використовуйте клавіші зі стрілками, клацніть мишкою, щоб стріляти в напрямку курсору.)


3

Знання, які компоненти HTML5 підтримуються в яких браузерах.

Незважаючи на те, що сумісність між веб-переглядачами стає все кращою та рівномірнішою з часом, деякі нові компоненти все ще не підтримуються повністю однаково.

Локальне зберігання даних може мати деякі специфічні відмінності браузерів, а також для підтримки старих версій ви напевне будете потребувати бібліотеці , такі як jStorage або YUI Storage Lite .

Веб-сокети також можуть мати специфічні відмінності для браузера, але socket.io виглядає як багатообіцяюча бібліотека, яка забезпечує зручну абстракцію.

Аудіо сумісність - це досить важливий компонент, який вимагає різних звукових файлів для різних браузерів: http://html5doctor.com/native-audio-in-the-browser/

У Chrome є кілька істотних помилок аудіо, наприклад , неможливість відтворення коротких аудіофайлів , а відтворення багатьох одночасних звуків може призвести до збою всього браузера.

Головне - зрозуміти відмінності веб-переглядача, використовуючи бібліотеки для абстрагування та надання необхідної підтримки.


1

HTML та JavaScript - це чесно досить погані платформи для розробки ігор, але це не має значення, поки ви не зважитеся на якусь гру. Відповідь кардинально відрізнятиметься від шутера від першої особи, RTS або головоломки.

Зауважте, що ви починаєте отримувати розпливчасті відповіді, коли махаєте рукою, відбиваючи випадкові технології, які здаються акуратними. Це попереджувальний знак, що ви не ставили запитання з особливо законною відповіддю.

Ви також можете запитати, які C ++ речі вам потрібні для написання програм. Це залежить. Розкажіть нам більше про проект, і ви можете отримати корисну відповідь.

Загалом, є причина, що майже всі веб-ігри все ще є Flash.


4
Я погоджуюся з тим, що питання нечітке і відповіді всюди, але не погоджуюся, що «HTML і [JS] - це погані платформи для розвитку ігор». Пам'ятаєте каракулі Pac-Man від Google? Прямий HTML і JS. Я думаю, що певна повсякденна гра працює на цій платформі досить добре, і люди, які використовують Інтернет, вже мають час виконання. (=
drhayes

1
Нічого собі, pac-man. Першовідкриваючий. Існує причина, що ніхто не використовує HTML / JS в іграх для чого-небудь, крім технологічних демонстрацій.
Джон Haugeland

1
@Edmundito: Якщо ви вважаєте, що це "питання" повинно йти, воно має бути позначене як CW.
Джессі Дорсі

12
-1 нікчемна відповідь. Якщо ви вважаєте, що веб-ігри не є хорошою платформою, тоді сідайте. Я не знаю, чому це отримало так багато відгуків, можливо, інші люди поділяють вашу думку, але це зовсім не сприяє відповіді на це питання.
Ricket

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