2009-08-11 11 views
32

Me gustaría saber qué es lo mejor para empezar, pyglet o pygame? ¿Cuál es más rápido y cuál es más activo?Comience con pyglet o pygame?

También me gustaría saber si pyglet obtendrá el soporte de python 3, porque he leído here que podría no ser posible o tomaría mucho tiempo.

¿Sería mejor elegir pygame, debido al soporte python 3, o debería ir con pyglet?

Gracias.

+0

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

+5

No lo llamaría duplicado. Esa pregunta es preguntar por las diferencias, y no cuál es mejor para empezar. – Reshure

+0

¿Para hacer qué? No dices para qué se usará. – Nick

Respuesta

31

pygame es muy activo, atestigua el lanzamiento de Aug de 1.9 con soporte de nokia s60, compatibilidad mejorada con py2app/py2exe, y un conjunto de características experimentales (soporte para Python 3.1, webcams, gfx, ...). Los libros como Hello World y las competiciones periódicas y divertidas como ludumdare y pyweek dan testimonio de la vitalidad de su comunidad y ecosistema.

pyglet tiene una API prolija y nueva, y es conveniente (licencia pura de Python, BSD en lugar de LGPL).

En cuanto a la velocidad, no he ejecutado ningún punto de referencia, pero entiendo que fuera de la caja pyglet es mejor para explotar aceleración HW avanzada para el trabajo en 3D, mientras que pygame es mejor en trabajo 2D y en HW que no es tan avanzado (smart teléfonos, netbooks, etc. no tienen aceleradores 3D HW brillantes). Puede mejorar la velocidad de ambos frameworks con complementos, aunque eso pierde conveniencia.

En términos de compatibilidad Py3, creo que el problema es simplemente que pygame, mucho más maduro y popular, tiene un grupo de desarrollo central mucho más grande, por lo que puede obtener cosas nuevas como soporte de Py3 fuera de la puerta .

Si ninguno de los problemas anteriores es decisivo para ti (estás bien con LGPL vs BSD, no te preocupan mucho los teléfonos inteligentes, no necesitas libros, etc.), el único enfoque sensato es descargar ambos y prueba las mismas tareas elementales que te interesan en las máquinas que te interesan, eso te dirá qué tan bien encaja cada una en tu cerebro, tu necesidad de velocidad, comodidad, etc.

+0

aprobado por Douglas :). Pygame es la vida, el amor y la felicidad, y Hello World es el mejor libro de Python jamás creado. –

7

Este parece ser un duplicado de: Differences between Python game libraries Pygame and Pyglet?

Eso es al menos un lugar para buscar respuestas adicionales.

Asistí a la charla de Steve Johnson sobre pyglet en PyOhio (Charla # 18 en http://pyohio.org/2009/Talks/) y me quedé muy impresionado con la poca cantidad de código involucrado. pygame parece grande y a mí (personalmente) no me importan todas las dependencias adicionales.

Dicho esto, todavía no he escrito ningún código para ninguno. Mi plan es comenzar con pyglet y luego, cuando me sienta cómodo con él, probar pygame y ver cómo se comparan.

Estoy de acuerdo con la respuesta de Alex, si buscas en google pygame contra pyglet, encontrarás muchas preferencias personales. La única diferencia objetiva que vi fue la diferencia en la cantidad de tarjetas gráficas compatibles (pygame no requiere OpenGL, por lo que pygame puede admitir más).

+0

He visto esa pregunta, pero la respuesta no me parece completa. – Reshure

7

No puedo comentar otras respuestas, así que tengo que hacer esta nueva, lo siento.

velocidad a gota, Pyglet es definitivamente más rápido que pygame fuera de la caja, y la velocidad es siempre una preocupación cuando se desarrolla con pygame (hay que actualizar las partes más pequeñas de la pantalla, y recordando lo que ha cambiado puede ser tedioso). No hay tal problema con pyglet.

Si usa cocos2d (una capa encima de pyglet) acelerar las cosas es aún más fácil, simplemente conecte los sprites a un BatchNode, y observe cómo aumenta el FPS.

Como dije en un comentario pyglet como soporte python3.

Es solo mi preferencia personal, pero me gusta mucho más Pyglet, y con cocos2d en la parte superior, es muy fácil de aprender. La desventaja es la comunidad mucho más pequeña.