Buenos motores de juego de Python 3d

Buenos motores de juego de Python 3d

Introducción

Encontrar un marco para los motores de juego 3D hechos para y con Python puede resultar muy difícil. La razón de esto es que Python se encuentra rápidamente hacia problemas de rendimiento cuando aumenta la complejidad. La representación de gráficos rápidos no es lo que mejor hace Python. Sin embargo, dado que Python es muy bueno para crear la lógica y es bastante popular, tiene muchas opciones para ejecutar marcos escritos en C++.

Para hacer que esto funcione para los motores de juego 3D, no puedes hacer todo como lo harás generalmente en Python. La mayoría de los marcos crean un envoltorio para sus bibliotecas C ++. Tendrá que descubrir cómo compilar para que Python pueda recordar este envoltorio. Cubren en la documentación de cómo compilar con el envoltorio de Python.

Estilo de juego y elección del idioma

Considere, antes de comenzar, si su juego es un juego de plataformas, un tirador en primera persona o un diálogo basado en. Tal vez, crearás un juego que desafíe las habilidades intelectuales. Esto no necesita gráficos de alto rendimiento. El punto es que necesitará saber lo que está tratando de lograr antes de comenzar. Es posible que esté acostumbrado a Python para programar. Pero si está buscando crear juegos con muchos efectos, debe considerar otros lenguajes de programación. Es un gran esfuerzo aprender un nuevo idioma, pero también es extremadamente satisfactorio una vez que hayas aprobado ese obstáculo inicial de lo básico. El momento en que la documentación regular tiene sentido, incluso de un vistazo rápido.

Enlaces, bibliotecas a considerar

Para hacer juegos, necesitará crear gráficos, menús y audio. Hay varias bibliotecas y enlaces de pitón para manejar estos casos. Una de las bibliotecas más comunes es SDL2, que brinda a los programadores acceso directo al video FrameBuffer, salida de audio, mouse y teclado. Sin estos, tu juego tendrá que usar rutinas regulares, que a veces pueden ser lentas. La primera versión todavía está presente, pero SDL2 tiene todos los dispositivos necesarios.

SFML2 juega un papel similar a la mayoría de las funciones multimedia, y reúne todas las funciones. Por el contrario, SDL2 contiene muchas piezas más pequeñas que debe atraer a su código uno a la vez.

Para Python, necesitará los paquetes PySDL2 y Pysfml2, respectivamente.

Piogre

Los diseñadores de Pyogre escribieron el marco Ogre en C ++ con un envoltorio para Python. El envoltorio es un envoltorio incorporado. El proyecto anterior todavía está disponible en la web. Seguir los tutoriales puede ser útil, pero tenga cuidado, ya que no todo lo disponible en línea será correcto. Ogre tiene clases para muchos objetos del mundo, que te da una capa sobre OpenGL y Direct3D.

Ogre funciona con escenas y puede crear todos los gráficos que pueda necesitar para su juego. Los módulos Pyogre funcionan para versiones antes de Ogre Version V1.05. Después de eso, hay otros módulos disponibles. El software Ogre incluye scripts de Python para importar datos de Blender a Ogre. Esto hace posible crear sus recursos en Blender para su juego. Otros exportadores también están disponibles.

http: // wiki.Ogre3d.org/

Alegro

Allegro maneja todo el trabajo pesado de la creación de Windows, la aceptación de la entrada del usuario, las imágenes de dibujo y la reproducción de sonidos, todas las características que son útiles para videojuegos y programación multimedia. Los diseñadores de Allegro no afirman que este programa sea un motor de juego, pero es útil para hacer juegos.

Dado que Allegro fue construido en C ++, deberá crear el envoltorio para usar este programa en Python. Puedes realizar este paso compilando desde la fuente. El proceso crea las clases en un archivo llamado Allegro.py. Una vez que haya completado este paso, puede elegir las clases de ese archivo, pero se recomienda que también lea la documentación regular sobre cómo funciona este programa. Esto puede complicar el proceso, pero aprender C ++ también es una tarea.

https: // github.com/liballeg/allegro5

Armory 3D - Extensión de la licuadora

Este paquete utiliza la licuadora como plataforma de desarrollo y haxe como lenguaje de programación. Sí, deberá cambiar a HAXE, pero puede convertir una lógica del juego existente de Python. Armory3D opera dentro de la licuadora como una extensión, donde puedes crear todos tus recursos para el juego.

Aunque Armory 3D no se ejecuta en Python, considere este programa cuidadosamente, ya que puede comenzar muy rápidamente con esta herramienta. https: // Armory3d.org/

Urho3d

Este paquete utiliza la licuadora como plataforma de desarrollo y utiliza HAXE como lenguaje de programación. Nuevamente, deberá cambiar a HAXE, pero puede convertir una lógica del juego existente de Python. Armory3D opera dentro de la licuadora como una extensión, donde puedes crear todos tus recursos para el juego.

A pesar de que Urho3D no se ejecuta en Python, considere este programa cuidadosamente también, ya que puede comenzar muy rápidamente con esta herramienta. https: // Armory3d.org/

Ursina

Ursina está escrita en Python y construida en Panda3d. Esta herramienta está diseñada para proporcionar muchas primitivas, como un cubo, esfera, etc., para que puedas pasar al juego en sí mismo lo antes posible. Panda3d hace el trabajo profundo y Ursina le ofrece funciones de programa listas para hornear. Una clase de reproductor te ofrece las opciones para registrar las teclas presionadas y los movimientos del mouse.

La mayoría de las funciones son intuitivas de usar con nombres claros y funciones fácilmente comprensibles. Podrá comenzar rápidamente con su juego si usa esta herramienta de creación de juegos. Ursina también tiene herramientas para convertir archivos de mezcla y PSD.

https: // github.com/tokepetter/ursina

Motor de juego de licuador (?)

Antes de la versión 2.79, Blender tenía un motor de juego incorporado. En versiones posteriores, sin embargo, los diseñadores optaron por eliminar el motor del juego de la compilación estándar y centrarse en las animaciones. Entonces, la gente de UPBGE decidió crear su propia extensión que funcione dentro de la licuadora. Por lo tanto, puedes usar Blender para crear todo el juego. ¿Cómo se vincula con el desarrollo del juego de Python??

BPGE tiene una API que le permite acceder a todos los datos que crea mientras trabaja dentro de Blender. Puede usar la consola dentro de la licuadora para acceder y probar la API. De hecho, podría escribir todo el programa de esta manera, pero esa puede no ser la mejor opción para sus necesidades. Por lo menos, tendrá todos los recursos listos y la forma en que los desee desde el momento en que los cree.

Godot - Gdscript, no Python

Si quieres escribir un juego y te sientes cómodo con Python, también puedes usar Godot. Este idioma es muy similar a Python, solo es especialmente para escribir juegos.

Conclusión

Hay muchos marcos para escribir juegos en Python. Si está buscando crear juegos 3D de alto rendimiento, debe considerar seriamente aprender otros idiomas para esos juegos. Asegúrese de que su elección de programa le permita seguir su idea de juego original. Si es necesario, adapte su lenguaje de programación a su visión personal.