web-dev-qa-db-fra.com

Commencez par pyglet ou pygame?

Je voudrais savoir quel est le meilleur pour commencer, pyglet ou pygame? Laquelle est la plus rapide et laquelle est la plus active?

J'aimerais également savoir si pyglet obtiendra python 3 support, car j'ai lu ici que cela pourrait ne pas être possible ou que cela prendrait beaucoup de temps).

Serait-il préférable de choisir pygame, à cause du support python 3, ou devrais-je aller avec pyglet?

Merci.

39
Reshure

pygame est richement actif, assistez à la version d'août de 1.9 avec le support de nokia s60, le support py2app/py2exe amélioré et une multitude de fonctionnalités expérimentales (support pour Python 3.1, webcams, gfx, ... Des livres comme Hello World et des compétitions périodiques et amusantes comme ludumdare et pyweek témoignent de la vitalité de sa communauté et de son écosystème.

pyglet a une API plus récente et soignée et est pratique (Python pur, licence BSD au lieu de LGPL).

En ce qui concerne la vitesse, je n'ai exécuté aucun test de référence, mais je suppose que pyglet prêt à l'emploi est meilleur pour exploiter l'accélération matérielle avancée pour le travail 3D, tandis que pygame est meilleur pour le travail 2D et sur le matériel informatique qui n'est nulle part aussi avancé (téléphones intelligents, netbooks, etc, n'ont pas d'accélérateurs 3D HW brillants). Vous pouvez améliorer la vitesse des deux frameworks avec des modules complémentaires, bien que cela ne soit pas pratique.

En termes de support Py3, etc., je crois que le problème est simplement que pygame, beaucoup plus mature et populaire, a un groupe de développement de base beaucoup plus important, donc bien sûr, il peut obtenir de nouvelles choses comme le support Py3 plus tôt.

Si aucun des problèmes ci-dessus n'est décisif pour vous (vous êtes bien avec LGPL vs BSD, ne vous souciez pas beaucoup des smartphones, n'avez pas besoin de livres, etc.), la seule approche raisonnable est vraiment de télécharger les deux et d'essayer la même chose des tâches élémentaires de votre intérêt sur des machines qui vous intéressent - qui vous diront à quel point chacune "correspond à votre cerveau", votre besoin de vitesse, de commodité, etc.

35
Alex Martelli

Je ne peux pas commenter d'autres réponses, donc je dois en faire une nouvelle, désolé.

En termes de vitesse, Pyglet est définitivement plus rapide que pygame prêt à l'emploi, et la vitesse est toujours une préoccupation lors du développement avec pygame (vous devez mettre à jour les plus petites pièces d'écran et se souvenir de ce qui a changé peut être fastidieux). Il n'y a pas un tel problème avec pyglet.

Si vous utilisez cocos2d (une couche au-dessus de pyglet), accélérer les choses est encore plus facile, attachez simplement les sprites à un BatchNode et regardez le FPS monter.

Comme dit dans un commentaire pyglet en tant que support python3.

C'est juste ma préférence personnelle, mais j'aime beaucoup plus Pyglet, et avec cocos2d en plus, c'est vraiment facile à apprendre. L'inconvénient est la communauté beaucoup plus petite.

11
CGGJE

Cela ressemble à un doublon de: Différences entre Python bibliothèques de jeux Pygame et Pyglet?

C'est au moins un endroit où chercher des réponses supplémentaires.

J'ai assisté à la conférence de Steve Johnson sur pyglet à PyOhio (Talk # 18 at http://pyohio.org/2009/Talks/ ) et je suis reparti très impressionné par le peu de code impliqué. pygame semble grand et je (personnellement) ne me soucie pas de toutes les dépendances supplémentaires.

Cela dit, je n'ai pas encore écrit de code non plus. Mon plan est de commencer avec pyglet, puis une fois que je suis à l'aise avec lui, essayez pygame et voyez comment ils se comparent.

Je suis d'accord avec la réponse d'Alex, si vous cherchez Google pour Pygame vs Pyglet, vous trouverez beaucoup de préférences personnelles. La seule différence objective que j'ai vue était la différence dans le nombre de cartes graphiques prises en charge (pygame ne nécessite pas OpenGL, donc pygame peut en prendre plus en charge).

8
user135331