Millors motors de joc Python

Best Python Game Engines



Per escriure jocs d’ordinador (els vells els anomenem videojocs!), Potser us preguntareu, per on començo? Per fer un joc jugable en un període de temps decent i alhora aprendre com funciona el programa, necessitareu un marc de joc. El marc crea moltes de les construccions que necessitareu perquè els vostres jocs funcionin. No els voleu inventar vosaltres mateixos. Aquests inclouen com dibuixar qualsevol cosa a la pantalla, com detectar una col·lisió i com mantenir la puntuació.

Fins i tot fer moure les coses a la pantalla és complex sense una biblioteca subjacent. En aquest article, aprendràs sobre quins paquets fan què i què tan fàcil és iniciar el joc.







Per què els motors de joc?

Quan comenceu a programar el vostre joc, apreciarà el poder de tenir a punt tots els conceptes bàsics, com ara classes i funcions. D’aquesta manera, podeu començar i centrar-vos en els detalls del vostre projecte. Us podeu preguntar quina diferència hi ha entre un framework i un motor de jocs. A un nivell alt, el motor del joc implementa totes les operacions ràpides, sobretot gràfics. El marc implementa la lògica, les coses que voleu posar al vostre joc: la història, si voleu.



PyGame

Es tracta d’un conjunt de mòduls Python. Aquest conjunt de mòduls és deliberadament petit perquè sigui fàcil començar. Els dissenyadors també han decidit crear moltes peces petites a la biblioteca. Gràcies a aquest disseny, podeu canviar parts de la biblioteca sempre que canviïn les vostres necessitats. El mesclador, per exemple, és un programari separat; per tant, si us avanceu en la vostra programació, podeu canviar a un altre programari. La màquina de representació gràfica també és independent, etc. De fet, podeu utilitzar PyGame per prototipar un joc i passar una peça a la vegada a un programari més avançat. Dit això, PyGame ja té un gran nombre de jocs sota el seu nom.



Començar a utilitzar PyGame és fàcil, però el podeu fer encara més fàcil. El paquet pgzero està fet perquè els professors mostrin la programació. Amb el paquet, podeu escriure fàcilment moltes parts del vostre joc sense codi boilerplate.





Decebut

També podeu instal·lar Kivy com a mòduls Python. Aquesta és la millor manera d'utilitzar Python per a qualsevol marc. Kivy té més funcions que PyGame i crea resultats més refinats. Per començar, Kivy té excel·lents tutorials a la seva pàgina principal. Un dels punts forts de Kyvi és el llenguatge de disseny Kv. Aquest llenguatge de disseny facilita la creació de menús, pla de joc i tots els gràfics. Gràcies a aquest sistema, no necessiteu crear imatges per obtenir gràfics més senzills.

A la seva pàgina, també detallen com començar a utilitzar Kivy amb PyCharm. També hi ha extensions per implementar-les a Android i iOS. Això és una mica més fàcil que utilitzar PyGame.



pyglet-3D

A primera vista, pyglet sembla petit i limitat, però hi ha una profunditat que s’amaga sota la senzillesa. Aquest programa és compatible amb OpenGL, tot i que no té dependències, tot i que podeu ampliar les capacitats multimèdia trucant a ffmpeg. Pyglet també s’encarrega de les configuracions de monitor dual. Hi ha biblioteques de tercers disponibles que amplien el sistema. Hauríeu de conèixer aquestes biblioteques per conèixer totes les funcions que afegeixen. També és possible que vulgueu utilitzar glooey per crear una GUI coherent per a la vostra aplicació. Utilitzeu PyShaders per a la representació i Ratcave per gestionar escenes en 3D. Si comenceu per pyglet3d, és bo saber que cocos2d utilitza pyglet. Aquest programa crea un marc complet per a aplicacions de jocs i altres aplicacions basades en GUI.

Panda3D

Aquest no és un paquet que pugueu utilitzar per aprendre a programar o fer un joc fàcilment. El que obteniu aquí és una eina professional per crear animacions i jocs. Panda3D està escrit en C ++ per protegir el rendiment. La major part del manual, però, apunta als usuaris de Python. Tot i que la idea darrere de Panda3D és que els desenvolupadors de jocs facin els seus jocs amb Python, també podeu utilitzar C ++.

Panda3d és un sistema molt capaç i fins i tot inclou un SDK propi. Si esteu disposat a esforçar-vos i ja coneixeu algunes programacions de Python, aquest sistema ja està molt més enllà de tot el que vulgueu crear. Al cap i a la fi, Disney l’utilitza per als seus productes comercials.

Ren’Py

Probablement heu llegit aquest missatge perquè voleu crear jocs. Aquest paquet és per crear novel·les visuals. Si encara no heu pensat en la vostra idea de projecte, ara és el moment. És possible que vulgueu fer un joc basat en la història que requereixi un format narratiu. Per a això serveix Ren’Py.

Ja hi ha molts jocs comercials escrits a Ren’Py i n’hi haurà d’altres per venir. També podeu crear una novel·la visual i convertir-la en un joc. Amb Ren’Py, podeu crear-ho tot utilitzant principalment editors de text.

Ursina per millorar Panda

Si a Panda li falta alguna manera, proveu d’utilitzar Ursina. Es tracta d'un projecte de desenvolupador únic, per tant, no depeneu d'aquest paquet per a projectes més grans, tret que estigueu disposat a contribuir. Dit això, Ursina és una millora de Panda3D. El projecte també és molt actiu i hi ha diverses persones que hi van contribuir.

Fer un joc amb aquest marc és molt fàcil i es fa en poques línies de codi. Si creieu que el vostre projecte podria expandir-se, no us preocupeu. Aquest programa està basat en Panda, de manera que quan les vostres necessitats augmentin, podeu utilitzar qualsevol de les funcions de Panda3D. Això us proporciona un ràpid enlairament al costat del poder d’un sistema establert.

Conclusió

Per començar a aprendre i utilitzar un nou marc de desenvolupament de jocs, trieu uns quants tutorials i executeu-los. No trieu massa, només perdreu el temps. Inicieu qualsevol projecte senzill, decidiu per poques funcions i intenteu que funcionin junts. Quan hàgiu acabat un projecte, tindreu mil idees per al següent. La vostra elecció del motor de joc no és tan vital, sempre que revalueu la vostra elecció prou aviat. Es tracta de fer que la transició eventual a una altra millor sigui menys complexa i més eficient.