web-dev-qa-db-fra.com

Décidez Pixi.js ou Phaser

Tout:

Un de mes projets d’école est de créer un jeu de page Web multijoueur en temps réel. J’ai du mal à décider si je devrais utiliser Pixi.js ou Phaser pour le graphique et le contrôle du jeu. mieux que l'autre?

Merci

36
Kuan

Phaser utilise Pixi pour le rendu, bien qu’il en soit une version plus ancienne et fortement modifiée. Les versions actuelles de Pixi peuvent vous donner de meilleures performances, mais vous devrez implémenter à la main ce qui est disponible dans Phaser.

Ils sont différents par le fait que Pixi est un moteur de rendu et Phaser est un framework de jeu.

Je citerai Rich, le créateur de Phaser:

Voici ce que Phaser ajoute à Pixi:

  • Choix de systèmes physiques (arcade ou corps entier)
  • Un monde de jeu et une caméra qui peuvent faire un panoramique
  • Support Tilemap
  • Un système de particules
  • Prise en charge du son (audio Web et audio hérité)
  • Traitement des entrées plus avancé (priorité d'entrée, glisser-déposer, etc.)
  • Entrées clavier et manette de jeu
  • Gestionnaire d'échelles pour gérer le redimensionnement de jeu/scène + support plein écran
  • Tween Manager pour interpoler des objets de jeu, reliés à l'horloge principale (afin que la pause soit correctement effectuée lorsque votre jeu le fait)
  • Chargeur d'actifs (prenant en charge tous types de fichiers) et cache
  • Un gestionnaire d'état pour vous permettre de basculer facilement entre les états de jeu
  • Horloge de jeu + timers personnalisés + événements de minuterie

Et probablement beaucoup plus j'ai oublié. Comme quelqu'un l'a dit, cela dépend entièrement de ce que vous voulez faire. Beaucoup de gens utilisent Pixi qui ne fait pas de jeux du tout. Cependant, comme il s’agit d’un forum de développement de jeu, je vais penser que vous le faites :)

Je suppose juste l'essayer. Si vous ne l'aimez pas, mettez-le à l'expérience et utilisez simplement Pixi "raw".

Source: http://www.html5gamedevs.com/topic/12656-phaser-pixi/#comment-7289

En fonction du temps que vous pouvez attendre, vous pourrez peut-être attendre pour essayer Phaser 3 (Lazer), qui est en préparation et qui aura son propre moteur de rendu. Cependant, je pense que l’apprentissage de la version actuelle de Phaser est un bon point de départ et que beaucoup de choses à Lazer seront identiques.

50
Kamen Minkov

Phaser vous offre un cadre de jeu complet. Pixi est un moteur de rendu tel que décrit par Kamen ci-dessus.

Mon idée, si vous êtes débutant en développement de jeux HTML5, vous pouvez avoir deux approches différentes;

  • Si vous avez un produit devant vous à compléter, Phaser vous donne plus d’outils et donc plus de vitesse. C'est la plus grande mer dans laquelle nager pour le développement de jeux HTML5. Mais il a ses propres limites. Bien sûr, vous pouvez écrire vos propres outils, mais à la fin, il s’agit d’un cadre et, comme tout, il vous oblige à utiliser ses propres flux et outils pour fonctionner correctement. Il faudrait un peu de temps à un développeur pour comprendre sa faille, identifier ses besoins et, si Phaser ne les y satisfait pas, mettre en œuvre ses propres solutions. Mais beaucoup de gens utilisent Phaser et le plus probablement, il existe une solution à tous les problèmes pour un débutant. Au début, ils utilisaient Pixi.js comme moteur de rendu, mais ils ont maintenant le leur.

  • Si vous souhaitez apprendre en approfondissant les moteurs de rendu HTML5 et le développement de jeux, commencer par utiliser Pixi.js pourrait être une meilleure décision. Comme mentionné, Pixi.js est uniquement le moteur de rendu. Il a des fonctionnalités intéressantes, mais il a besoin de plus de développement pour créer des jeux. Mais cela vous donne aussi la liberté. La plupart du temps, vous n’aurez pas à traiter avec des moteurs de rendu (WebGL ou Canvas), mais le repos vous appartient entièrement. Personnellement, j'ai commencé avec Pixi.js, je connaissais Phaser mais je n'y ai pas jeté un œil et j'ai écrit mon propre cadre. Après que mon framework soit entré dans le développement, j'ai vérifié Phaser et je me suis rendu compte que ce que j'avais en tête existait déjà pour la plupart dans Phaser. Mais cela m’a tout de même apporté des informations plus détaillées sur le développement de jeux HTML5.

32
alicankoker