Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Desarrollo con Python, ¿qué me conviene?

Iniciado por Bakudan, 10 de Enero de 2010, 06:52:13 AM

« anterior - próximo »

Bakudan

Buenas, tenía mucho tiempo sin pasarme por acá : ).

Soy un principiante en los "menesteres" del gamedev; empecé usando GameMaker (un toolkit que llegué a dominar bastante bien). Tras aprender los fundamentos de la programación y coger bastante experiencia usando GameMaker, empecé -después de muchos intentos fallidos- un proyecto medianamente serio.

Desafortunadamente para el proyecto, y afortunadamente para mi salud (y la de mi PC), decidí migrar a GNU/Linux... en este punto, tuve que dejar GameMaker atrás. Después de amar Linux, cambié mi postura: estoy en contra de ese criterio de mandar al diablo GNU/Linux solo por representar un sector "minoritario", :/ por pensamientos como ese, GNU/Linux no crece al ritmo que debería.

Llendo al cuento, me dispuse a usar algún game engine multiplafatorma; venía arrastrando ya bastantes experiencias con BlitzMax, me gustó bastantillo, el lenguaje es simple... pero decidí dejarlo, en primera instancia porque no tengo intención de pagar la costosa licencia y en segunda, porque me he dispuesto a usar solo software libre/opensource.

Un tiempo usé Ruby con Gosu, pero lo dejé por el tema del rendimiento.

Después me enamoré de Python. Aquí me nació un problema de elección.

Primeramente, está la librería PyGame (el SDL para Python). PyGame me gustó bastante, el problema es que por mis experiencias con GameMaker, tiendo a ser abusón respecto al apartado gráfico, y me preocupa un poco el hecho de que PyGame no tenga aceleración por hardware (según sé).

Después encontré PyGlet, me agrada bastante, por su base en OpenGL, buen soporte de audio, y algunos dicen que es la mejor biblioteca para programar juegos en Python. Creo que PyGlet podría ser la mejor opción, pero según sé, es mucho mas enrolloso que PyGame.

En ese punto, luego encontré Cocos2d, un framework basado en PyGlet que luce de fábula, de hecho me había dispuesto a adoptar este, hasta que noté un "pequeño" detallazo, su desarrollo está medio congelado desde el 2008 (se quedaron en la versión 0.3.0), los desarrolladores al parecer, se centraron en su versión para iPhone/Objective-C.

También encontré algo de información sobre PyCap/TuxCap basado en PopCap, ¿alguien lo ha probado?

Aunque el juego que pretendo reescribir no pide mucho (podría realizarlo perfectamente con PyGame), quiero ir adaptándome a alguna biblioteca/framework para realizar proyectos mas exigentes en el futuro.

¿Qué me recomiendan? o inclusive, ¿conocen alguna buena alternativa multiplataforma? (que no sea para C++ y preferentemente opensource).

PD: Una screenshot del juego : ).

Con algo de inspiración del mítico Gish y algunos juegos como Koda.
00t

Zaelsius

Citarno tengo intención de pagar la costosa licencia y en segunda, porque me he dispuesto a usar solo software libre/opensource.

Si es por ideología... bueno. Pero siendo prácticos, $80 no es nada en relación con lo que obtienes: un software multiplataforma, con IDE propio, más que probado y testeado, y con soporte (porque para eso pagas).

Respecto a PyGame, que yo sepa sí tiene aceleración hardware.

Y ya en general, cuando no estés seguro de si una tecnología te va a permitir hacer lo que tú quieres, desarrolla un prototipo. No sé, si calculas que tu juego va a tener 100 sprites en pantalla, varias capas de scroll... haz algo similar a eso rápido y así te aseguras de que el rendimiento será bueno con la tecnología elegida.

Vicente

Haz el juego y preocúpate del rendimiento después. Dejate de optimizaciones prematuras que no valen para casi nada...

Bakudan

@ZaelZiuS: :/ Es más por la cuestión ideológica. De hecho, había visto varios game engines (como Torque2D, que solo es 20 dolarillos mas caro que BlitzMax), tuve la intención (alguna vez) de comprar alguno, pero luego decidí que no.

Estaba viendo una librería llamada Rabbyt para Python, al parecer en combinación con PyGlet podría ser una excelente forma de trabajar... pero me interesa saber si alguien ha probado PyCap/TuxCap, porque he escuchado muy buenas recomendaciones del PopCap Games Framework.

@Vicente: Creo que tienes razón... veré que hago.
00t

Mars Attacks

Hombre, una cosa es optimización prematura y otra análisis de viabilidad, que es de lo que habla Zaelsius. Puede que, llegado el momento, no tengas de donde rascar y entonces la has liado (pienso en consolas portátiles o móviles).

Vicente

Cita de: Mars Attacks en 10 de Enero de 2010, 09:10:10 PM
Hombre, una cosa es optimización prematura y otra análisis de viabilidad, que es de lo que habla Zaelsius. Puede que, llegado el momento, no tengas de donde rascar y entonces la has liado (pienso en consolas portátiles o móviles).

Tu has visto la misma screenshot que he visto yo, no? ;)

kraj0t

Tienes también PythonOgre, la versión en python de Ogre. Aunque puede que esté algo desactualizada, pero bueno, ahí está.
Muerte y destrucción a tú
¿A yo?
¡A tú!

tamat

Yo he usado pygame (puedes echar una ojeada a mi blog donde documenté un poco el proceso) y mi experiencia es que no es más que un wrapper de SDL con alguna pijada más.

Yo como programador de OpenGL que soy traté de pasarme a python para prototipar juegos pero mi experiencia fué que para algunas cosas está genial, para otras se hace algo pesado, por ejemplo, crear un array de vertices o trabajar a nivel de byte (algo que yo uso constantemente).

Tienes toda la potencia del hardware, de hecho yo programé shaders y tal. Si necesitas código tienes todo mi codigo colgado en mi blog.

Pero yo al igual que tú eché en falta algo más de alto nivel, tampoco busqué demasiado, como mucho miré el Panda pero no me convenció del todo.
Por un stratos menos tenso

Bakudan

@kraj0t: ¿Qué no Ogre es para 3D? o_O... lo siento, soy de los "Long Live 2D". Para 3D en Python yo he tenido excelentes impresiones de Panda3D.

@tamat: Si, sabía PyGame fue una "continuación" del difunto PySDL.

Soy conciente de que Python va a resultar lento para cosas "complejas", pero tampoco pretendo programar cosas gigantescas en el.

Le pegaré una ojeada a la info de tu blog, me resultará bastante útil.

Por otro lado, al final me he decidido a utilizar "Rabbyt", una librería de sprites para Python que renderiza mediante OpenGL que pretende ser rápida (en rendimiento) pero simple a la vez, que es un complemento para PyGame o PyGlet... pero todavía no me decido cual de los dos usar.

Saludos, y gracias a todos por el soporte : D.
00t






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.