2009-08-11 5 views
32

Je voudrais savoir quel est le meilleur pour commencer, pyglet ou pygame? Lequel est le plus rapide et lequel est le plus actif?Commencez par pyglet ou pygame?

Je voudrais également savoir si pyglet obtiendra le support de python 3, parce que j'ai lu here que cela pourrait ne pas être possible ou cela prendrait beaucoup de temps.

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

Merci.

+0

Duplicata de http://stackoverflow.com/questions/370680/differences-between-python-game-libraries-pygame-and-pyglet –

+5

Je ne dirais pas que c'est un doublon. Cette question demande les différences, et non celle qui est la meilleure pour commencer. – Reshure

+0

Pour faire quoi? Vous ne dites pas à quoi il servira. – Nick

Répondre

31

pygame est richement active, comme en témoigne la version 1.9 de août avec le support de nokia s60, le support py2app/py2exe amélioré et un large éventail 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 soignée, plus récente, et pratique (pure Python, licence BSD au lieu de LGPL). Pour ce qui est de la vitesse, je n'ai pas de benchmark, mais je pense que pyglet est mieux à même d'exploiter l'accélération matérielle avancée pour le travail 3D, tandis que pygame est meilleur en 2D et en HW que nulle part ailleurs (smart les téléphones, netbooks, etc, n'ont pas d'accélérateurs HW 3D brillants). Vous pouvez améliorer la vitesse des deux frameworks avec des add-ons, 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 grand, donc bien sûr, il peut obtenir de nouvelles choses comme le support de 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, pas besoin de livres, etc, etc.), la seule approche sensée est vraiment de télécharger les deux et essayez les mêmes tâches élémentaires de votre intérêt sur les machines de votre intérêt - cela vous dira à quel point chaque «correspond à votre cerveau», votre besoin de vitesse, de commodité, et ainsi de suite.

+0

Douglas approuvé :). Pygame est la vie, l'amour et le bonheur, et Hello World est le meilleur livre Python jamais fait. –

7

Cela semble être un double de: Differences between Python game libraries Pygame and Pyglet?

qui est au moins un endroit pour chercher des réponses supplémentaires. J'ai assisté à l'exposé de Steve Johnson sur pyglet à PyOhio (Discuter # 18 au http://pyohio.org/2009/Talks/) et est parti assez 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 encore écrit aucun code pour l'un ou l'autre. Mon plan est de commencer avec pyglet et puis après je suis à l'aise avec elle, essayez pygame et voir comment ils se comparent.

Je suis d'accord avec la réponse d'Alex, si vous google pour pygame vs pyglet, vous trouverez beaucoup de préférences personnelles. A propos de la seule différence objective que j'ai vu était la différence dans le nombre de cartes graphiques sont prises en charge (pygame ne nécessite pas OpenGL donc pygame peut supporter plus).

+0

J'ai vu cette question mais la réponse ne me semble pas complète. – Reshure

7

Je ne peux pas commenter d'autres réponses, donc je dois faire ce nouveau, désolé.

En terme de vitesse, Pyglet est nettement plus rapide que pygame hors-the-box, et la vitesse est toujours une préoccupation lors du développement avec pygame (vous devez mettre à jour les plus petites parties de l'écran, et se souvenant de ce qui a changé peut être fastidieux). Il n'y a pas de problème avec pyglet.Si vous utilisez cocos2d (une couche au-dessus de pyglet) accélérer les choses est encore plus facile, il suffit d'attacher les sprites à un BatchNode, et regarder le FPS augmenter.

Comme dit dans un commentaire pyglet comme support python3.

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

Questions connexes