Si je décidais d'écrire un jeu simple, texte et graphique (2d), quelles bibliothèques utiliserais-je? (Supposons que nous utilisons un navigateur compatible HTML5)
Les principales choses auxquelles je peux penser
- Rendu de texte à l'écran
- Animation de sprites (en utilisant images / css)
- Entrée (capture des touches fléchées et obtention des positions relatives de la souris)
- Peut-être certaines ressources préchargées ou le chargement dynamique des ressources et le choix de l'ordre
- Le son (mais je ne suis pas sûr de l’importance que cela revêt pour moi au début). Peut-être avec le mélange et l'enchaînement des sons ou une boucle pour toujours jusqu'à l'arrêt.
- Mise en réseau (priorité faible) pour connecter un utilisateur à un autre ou pour obtenir en permanence des données GET sans demande multiple (je sais que cela existe mais je ne sais pas à quel point il est facile à configurer ou à utiliser. Mais cela n’est pas important pour moi. la question).
html5
javascript
utilisateur1047
la source
la source
Réponses:
jQuery et MooTools sont de superbes bibliothèques JavaScript; Je préfère jQuery moi-même. L’un ou l’autre vous assistera dans le développement de votre jeu JS si vous utilisez le DOM. Si vous optez pour le rendu Canvas, je pense toujours que vous devriez utiliser l'une de ces bibliothèques, mais vous devrez apprendre les fonctions de Canvas. Voici un tutoriel qui vous initie à la zone de travail en créant un clone Breakout, de sorte que ce peut être exactement le genre de chose que vous recherchez (et il utilise jQuery).
L'animation des images-objets consiste à changer une image src, à précharger plusieurs images et à les échanger, ou dans un canevas, en dessinant simplement les images d'une animation. Les bibliothèques ci-dessus peuvent vous aider dans n'importe quel cas. Les bibliothèques aident également à la saisie (examinez des événements tels que onkeypress et onmousemove).
Pour les ressources de préchargement, il me semble que certains jeux utilisent une seule image "feuille de sprite" ( voici celle du jeu Pacman de Google ). Je pense qu'ils créent essentiellement une DIV d'une taille de mosaïque, avec la propriété CSS background-image définie sur la feuille de sprite et la propriété background-position sur le décalage de la mosaïque sur la feuille de sprite. Je n'ai pas vu de bibliothèque qui le fasse pour vous, mais jQuery ou MooTools peut vous aider jusqu'à créer dynamiquement le DIV et à manipuler son CSS. Sinon, le préchargement des images consiste à créer des
<img>
balises contenant les images à précharger, sans les ajouter à la page (ni à les ajouter de manière invisible). Voici un article de blog qui contient du code pour une fonction utilisant jQuery pour précharger des images pour vous.SoundManager 2 semble être la bibliothèque de sons JS à utiliser; Je sais que Vanthia l' utilise, et le Pacman de Google autilisé quelque chose de similaire (ou du moins la même technique, qui consiste à utiliser un fichier Flash caché sur la page pour jouer des sons).
Pour la mise en réseau, jQuery peut gérer AJAX pour vous, ou si vous souhaitez davantage de mise en réseau en temps réel (et que le serveur le fasse), examinez les sockets JavaScript . Je ne sais pas s'il existe une bibliothèque stable pour cela, mais vous pourriez examiner ceci ou cela . Il utilise essentiellement un fichier Java ou Flash caché sur la page afin que vous puissiez établir une véritable communication socket avec JavaScript, ce qui est beaucoup plus rapide que les interrogations AJAX et légèrement plus efficace que "AJAX Push" . Cependant, AJAX Push sera probablement ce que vous voulez et APE (Ajax Push Engine) est probablement la bibliothèque à utiliser.
En outre, voici une présentation technique de Google intitulée "Création d’un moteur de jeu basé sur JavaScript pour le Web" . Ça a l'air chouette.
la source
Lorsque j'ai évalué les moteurs JavaScript il y a un moment, mon préféré était Crafty:
http://craftyjs.com/
Il y avait une foule d'options que je devais prendre en compte, et quelques autres que j'aimais bien étaient:
http://easeljs.com/
http://www.limejs.com/
http://code.google.com/p/casualjs/
(Incidemment, une autre option qui a l'air plutôt délicate au départ est http://impactjs.com/, mais vu que cela coûte de l'argent et que les autres options que j'ai examinées étaient des moteurs à code source ouvert, il y avait des omissions flagrantes, comme l'impossibilité de joindre des éléments d'affichage dans une hiérarchie.)
MISE À JOUR: Cela fait presque deux ans que j'ai posté cette réponse et la situation a légèrement changé (il s'agit d' un domaine technologique naissant.) Bien que Crafty soit toujours un excellent choix, EaselJS a pris beaucoup d'élan (notamment considérant que Adobe a sauté sur le train EaselJS .) Je vais passer à cet outil pour les projets futurs (notez également qu'il a un nouveau site Web )
la source
Le moteur des jeux d'effets (javascript) est fantastique pour les jeux en 2D, basés sur des tuiles / sprites. Le site Web ne fait pas un très bon travail de description de ce qui est génial à ce sujet, mais dès que vous aurez trouvé l'excellente documentation, vous verrez tout ce qui a été couvert pour vous:
Je ne peux vraiment pas fournir une liste exhaustive car elle est si complète. Une chose qui manque, c'est la possibilité de créer des menus dans le jeu et une interface utilisateur (par exemple, des gestionnaires d'équipement, etc.), mais c'est supposé être sur la liste de tâches.
la source
Je maintiens un moteur de jeu en toile 2D appelé JawsJS - http://jawsjs.com/
Source @ https://github.com/ippa/jaws
notes de falaise:
la source
L'impact va être malade! Jetez un coup d’œil à la démo, Biolab Disaster .
la source
J'ai moi-même fait des recherches dans ce domaine récemment, alors laissez-moi mettre mon argent à 0,02 $:
PlayN Est une bibliothèque multi-plateformes de Google, qui compile un jeu orienté objet de Java à javascript / Flash / Android. Il gérera JSON (AJAX), les modèles de données et sa sémantique pour les mises à jour et le rendu. Des trucs très cool.
Processing est une bibliothèque simple à utiliser destinée aux concepteurs et aux artistes. Il est exceptionnellement simple à utiliser et peut vous donner d'excellents résultats. J'ai utilisé la version Java pour la modélisation scientifique, et c'est un plaisir à utiliser. Les scènes 3D auront besoin de WebGL, mais les scènes 2D ne fonctionneront pas.
Three.js a quelques démos superbes. Il nécessite WebGL, mais le résultat semble en valoir la peine. Il existe également d’excellents exemples en ligne.
Voici quelques-uns des autres éléments de mes linkdumps personnels liés à WebGL:
la source
Akihabara est un cadre que j'ai vu apparaître à plusieurs endroits. Un de mes amis a également créé une série de didacticiels et de documentation pour le framework.
la source
http://rocketpack.fi/ semble avoir quelque chose à venir.
la source
CreateJs est un autre sujet sur lequel j'ai récemment étudié avec un grand intérêt . C'est une collection de bibliothèques open source à inclure ...
Supplémentaire il EaslJs Joue bien avec Box2D JS
la source
Plugins Pixie
Les créateurs de Contrasaurus ont publié beaucoup de leurs composants individuels !!!
Ils ont du code pour faire des transformations de matrice , des abstractions de la toile et bien d'autres choses intéressantes.
Leur code est génial et leurs bibliothèques sont vraiment utiles.
la source
Impact JavaScript Game Engine pour iOS semble prometteur. Le lien montre une démo, mais elle n'a pas encore été publiée.
la source
Etrange que Google Closure Library n'ait pas été mentionné. Il a une API énorme, permet un style de codage plus orienté objet et dispose du compilateur.
Jusqu'à présent, je n'ai utilisé que le compilateur, mais je compte étudier le repos le plus rapidement possible.
la source
J'utilise habituellement jawsjs parce qu'il est très facile de le configurer et de commencer à développer un jeu en quelques minutes. Il a beaucoup de classes par défaut vraiment utiles (Tilemap, Viewport, Sprite et autres) qui aident vraiment au développement de jeux.
la source
En fait, vous en avez beaucoup, mais cela dépend en premier lieu du type de moteur de jeu que vous recherchez. Je peux vous donner quelques références parmi les plus remarquables.
Moteurs de jeux 2D
Moteurs de jeux 3D
La fondation Mozilla travaille sur un moteur de jeu en 3D appelé Paladin . C'est Mozilla qui ne peut pas vraiment faire mal, je suppose.
la source
Il existe également GameQuery, un moteur de jeu basé sur jQuery. A une documentation décente sur leur API, ainsi que quelques API de wrapper sonores auxquels ils sont liés sur leur site.
http://gamequery.onaluf.org/
la source
Mozilla Gaming a une liste sur ses pages de ressources . Il est lié à Diggy , un moteur de jeu DHTML que j'ai construit il y a longtemps. Démo en direct ici!
la source
Matrix.js est utile si vous souhaitez obtenir des transformations matricielles de style Flash.
la source
Tom ici de Scirra, nous sommes une équipe de 2 hommes qui ont créé Construct 2, le créateur de jeux HTML5 . (Version gratuite disponible).
Vous voudrez peut-être envisager un moteur comme le nôtre, car il vous apportera beaucoup de démarches. Par exemple, faire des collisions dans le code vous-même peut être très délicat (pensez aux collisions de polygones). Tout sur votre liste est facilement réalisable avec Construct 2.
la source