Je me demandais si des experts pourraient partager les connaissances et les ressources nécessaires pour commencer à créer des jeux avec les dernières normes HTML et JavaScript (ou ce que certains aiment appeler HTML 5). Existe-t-il des bibliothèques JavaScript essentielles au processus? Mis à part la <canvas>
balise, de quels autres éléments HTML devons-nous être conscients?
web
html5
javascript
Edmundito
la source
la source
Il existe déjà quelques frameworks: GameQuery et Akihabara , qui est un plugin pour jQuery pour effectuer certaines activités liées au jeu, comme des animations, regrouper des sprites, détecter des collisions et lire les entrées des joueurs.
la source
Juste pour jeter plus de ressources, consultez RaphaelJS . C'est une très belle bibliothèque de dessins et d'animations SVG qui a une belle API. N'oubliez pas de consulter les démos.
Dans l'ensemble, je recommanderais les
<canvas>
balises plutôt que la manipulation directe du DOM (par exemple, faire en sorte que chaque sprite soit le sien<div>
pour rendre les tests de hit incroyablement simples). Il est facile d'obtenir une manipulation DOM erronée et peu performante, tandis que les stratégies de développement 2D traditionnelles fonctionnent bien sur un canevas HTML.la source
En plus de certains des cadres de création de jeux qui existent, vous devez connaître le Burst Engine, qui est un cadre JS pour afficher des animations basées sur SVG dans un canevas HTML5:
http://burst.bocoup.com/
Jusqu'à présent, j'ai vu des gens mentionner les balises et, mais il y a d'autres choses DOM qui sont vitales pour le développement de jeux JS / HTML, y compris des choses comme l'ajout de rappels EventListener à l'élément pour des choses comme les événements 'mousemove' et 'mousedown'. Par exemple, cela prend le premier élément de canevas qu'il peut trouver et le configure de sorte que lorsque vous cliquez sur le canevas, il appelle une fonction que vous avez définie appelée "shootAtClick":
document.getElementsByTagName ("CANVAS") [0] .addEventListener ('mousedown', shootAtClick, false);
Vous pouvez le voir en action dans cet exemple où j'ai étendu le moteur Akihabara pour accepter le contrôle de base de la souris. (Appuyez sur Z pour commencer, utilisez les touches fléchées pour vous déplacer, cliquez sur la souris pour tirer dans la direction du curseur.)
la source
Connaissance des composants HTML5 pris en charge dans quels navigateurs.
Bien que la compatibilité entre les navigateurs s'améliore et devienne plus uniforme au fil du temps, certains des composants les plus récents ne sont toujours pas pris en charge de la même manière.
Le stockage local peut avoir des différences spécifiques au navigateur, et pour la prise en charge héritée, vous aurez certainement besoin d'une bibliothèque telle que jStorage ou YUI Storage Lite .
Les sockets Web peuvent également avoir des différences spécifiques au navigateur, mais socket.io ressemble à une bibliothèque prometteuse qui fournit une abstraction pratique.
La compatibilité audio est un composant assez important qui nécessite différents fichiers audio pour différents navigateurs: http://html5doctor.com/native-audio-in-the-browser/
Chrome présente quelques bogues audio importants, tels que l' impossibilité de lire de courts fichiers audio et la lecture de nombreux sons simultanés peut bloquer l'ensemble du navigateur.
L'essentiel est de comprendre les différences de navigateur, en utilisant des bibliothèques pour résumer et fournir un support hérité selon les besoins.
la source
Le HTML et le JavaScript sont des plateformes honnêtement assez mauvaises pour le développement de jeux, mais cela n'aura pas d'importance jusqu'à ce que vous ayez décidé d'un type de jeu. La réponse serait radicalement différente pour un jeu de tir à la première personne, un RTS ou un jeu de puzzle.
Notez que vous commencez à obtenir des réponses vagues et vagues de la part de technologies aléatoires qui semblent intéressantes. C'est un signe d'avertissement que vous n'avez pas posé de question avec une réponse particulièrement légitime.
Vous pourriez aussi bien demander de quoi vous avez besoin en C ++ pour écrire des applications. Ça dépend. Parlez-nous davantage du projet et vous obtiendrez peut-être une réponse utile.
Dans l'ensemble, il y a une raison pour laquelle presque tous les jeux Web sont toujours Flash.
la source