Los mejores motores de juegos de Python

Best Python Game Engines



Para escribir juegos de computadora (¡los viejos los llamamos videojuegos!), Es posible que se pregunte: ¿Por dónde empiezo? Para hacer un juego jugable en un período de tiempo decente y al mismo tiempo aprender cómo funciona el programa, necesitará un marco de juego. El marco crea muchas de las construcciones que necesitará para que sus juegos funcionen. No querrás inventarlos tú mismo. Estos incluyen cómo dibujar cualquier cosa en la pantalla, cómo detectar una colisión y cómo llevar la puntuación.

Incluso hacer que las cosas se muevan en la pantalla es complejo sin una biblioteca subyacente. En este artículo, aprenderá qué paquetes hacen qué y qué tan fácil es comenzar a jugar.







¿Por qué Game Engines?

Cuando comiences a programar tu juego, apreciarás el poder de tener todos los elementos básicos listos, como clases y funciones. De esta manera, puede comenzar y concentrarse en los detalles de su proyecto. Quizás se pregunte cuál es la diferencia entre un marco y un motor de juego. En un nivel alto, el motor del juego implementa todas las operaciones rápidas, principalmente gráficos. El marco implementa la lógica, las cosas que quieres poner en tu juego, la historia, por así decirlo.



PyGame

Este es un conjunto de módulos de Python. Este conjunto de módulos es deliberadamente pequeño para facilitar el inicio. Los diseñadores también han decidido crear muchas piezas pequeñas dentro de la biblioteca. Gracias a este diseño, puede intercambiar partes de la biblioteca cuando cambien sus necesidades. El mezclador, por ejemplo, es una pieza de software separada; por lo que si avanza más en su programación, puede cambiar a otra pieza de software. La máquina de renderizado de gráficos también está separada, y así sucesivamente. De hecho, podría usar PyGame para crear un prototipo de un juego y hacer la transición de una pieza a la vez a un software más avanzado. Dicho esto, PyGame ya tiene una gran cantidad de juegos bajo su nombre.



Comenzar con PyGame es fácil, pero puede hacerlo aún más fácil. El paquete pgzero está hecho para que los profesores muestren la programación. Con el paquete, puede escribir fácilmente muchas partes de su juego sin un código repetitivo.





Decepcionado

También puede instalar Kivy como módulos de Python. Esta es la mejor forma de usar Python para cualquier marco. Kivy tiene más funciones que PyGame y crea resultados más pulidos. Para comenzar, Kivy tiene excelentes tutoriales directamente en su página de inicio. Una de las fortalezas de Kyvi es su lenguaje Kv Design. Este lenguaje de diseño facilita la creación de menús, planes de juego y todos los gráficos. Gracias a este sistema, no es necesario crear imágenes para los gráficos más simples.

En su página, también detallan cómo comenzar a usar Kivy con PyCharm. También hay extensiones para implementar en Android e iOS. Esto es un poco más fácil que usar PyGame.



pyglet-3D

A primera vista, Pyglet parece pequeño y limitado, pero hay profundidad escondida debajo de la simplicidad. Este programa es compatible con OpenGL, aunque no tiene dependencias, aunque puede ampliar las capacidades de los medios llamando a ffmpeg. Pyglet también maneja configuraciones de dos monitores. Hay bibliotecas de terceros disponibles que amplían el sistema. Debe conocer estas bibliotecas por todas las funciones que agregan. Es posible que también desee utilizar glooey para crear una GUI coherente para su aplicación. Utilice PyShaders para el renderizado y Ratcave para manejar escenas 3D. Si comienza con pyglet3d, es bueno saber que cocos2d usa pyglet. Este programa crea un marco integral para aplicaciones de juegos y otras aplicaciones basadas en GUI.

Panda3D

Este no es un paquete que pueda usar para aprender a programar o para hacer un juego fácilmente. Lo que obtienes aquí es una herramienta profesional para crear animaciones y juegos. Panda3D está escrito en C ++ para salvaguardar el rendimiento. La mayor parte del manual, sin embargo, apunta a los usuarios de Python. Si bien la idea detrás de Panda3D es que los desarrolladores de juegos creen sus juegos usando Python, también puedes usar C ++.

Panda3d es un sistema muy capaz e incluso viene con su propio SDK. Si está dispuesto a esforzarse y ya conoce algo de programación en Python, este sistema ya está mucho más allá de lo que quiera crear. ¡Después de todo, Disney lo está usando para sus productos comerciales!

Ren’Py

Probablemente hayas leído esta publicación porque quieres crear juegos. Este paquete es para crear novelas visuales. Si aún no ha pensado en la idea de su proyecto, ahora es el momento. Es posible que desee crear un juego basado en una historia que requiera un formato narrativo. Para eso está Ren’Py.

Ya hay muchos juegos comerciales escritos en Ren’Py y habrá más por venir. También puede crear una novela visual y convertirla en un juego. Con Ren’Py, puede crearlo todo utilizando principalmente editores de texto.

Ursina para mejorar Panda

Si encuentra que Panda carece de alguna manera, intente usar Ursina. Este es un proyecto de desarrollador único, así que no dependa de este paquete para proyectos más grandes, a menos que esté dispuesto a contribuir. Dicho esto, Ursina es una mejora de Panda3D. El proyecto también es muy activo y hay varias personas que contribuyeron a él.

Hacer un juego con este framework es muy fácil y se hace en muy pocas líneas de código. Si cree que su proyecto podría expandirse, no se preocupe. Este programa se basa en Panda, por lo que cuando sus necesidades aumentan, puede utilizar cualquiera de las funciones de Panda3D. Esto le brinda un despegue rápido junto con la potencia de un sistema establecido.

Conclusión

Para comenzar a aprender y usar un nuevo marco de desarrollo de juegos, elija algunos tutoriales y ejecútelos. No escoja demasiados, solo estará perdiendo el tiempo. Inicie cualquier proyecto simple, decida sobre muy pocas características e intente hacer que funcionen juntas. Cuando haya terminado un proyecto, tendrá mil ideas para el siguiente. Su elección del motor de juego no es tan vital, siempre y cuando vuelva a evaluar su elección con la suficiente antelación. Esto es para hacer que la eventual transición a una mejor sea menos compleja y más eficiente.