Bedste Python -spilmotorer

Best Python Game Engines



For at skrive computerspil (os gamle kalder dem videospil!), Kan du undre dig over, hvor skal jeg starte? For at lave et spil, der kan spilles i en anstændig tidsramme, samtidig med at du lærer, hvordan programmet fungerer, skal du bruge en spilramme. Rammerne skaber mange af de konstruktioner, du skal bruge for at dine spil fungerer. Du vil ikke opfinde disse selv. Disse inkluderer, hvordan man tegner noget til skærmen, hvordan man opdager en kollision, og hvordan man beholder scoren.

Selv at få tingene til at bevæge sig på skærmen er kompleks uden noget underliggende bibliotek. I denne artikel lærer du om, hvilke pakker der gør hvad, og hvor let det er at komme i gang med dit spil.







Hvorfor spilmotorer?

Når du begynder at programmere dit spil, vil du sætte pris på kraften i at have alt det grundlæggende klar, såsom klasser og funktioner. På denne måde kan du komme i gang og fokusere på detaljerne i dit projekt. Du kan undre dig over, hvad forskellen er mellem en ramme og en spilmotor. På et højt niveau implementerer spilmotoren alle de hurtige operationer - for det meste grafik. Rammerne implementerer logikken, de ting du vil putte i dit spil - historien, hvis du vil.



PyGame

Dette er et sæt Python -moduler. Dette sæt moduler er bevidst lille for at gøre det let at komme i gang. Designerne har også besluttet at skabe mange små stykker inden for biblioteket. Takket være dette design kan du bytte dele af biblioteket ud, når dine behov ændres. Blanderen er f.eks. Et separat stykke software; så hvis du bliver mere avanceret i din programmering, kan du skifte til et andet stykke software. Grafikgengivelsesmaskinen er også separat og så videre. Faktisk kan du bruge PyGame til at prototype et spil og overføre et stykke ad gangen til mere avanceret software. Når det er sagt, har PyGame allerede et stort antal spil under sit navn.



Det er let at komme i gang med PyGame, men du kan gøre det endnu lettere. Pgzero -pakken er lavet til, at lærere kan vise programmering. Med pakken kan du nemt skrive mange dele af dit spil uden kogepladekode.





Skuffet

Du kan også installere Kivy som Python -moduler. Dette er den bedste måde at bruge Python til alle rammer. Kivy har flere funktioner end PyGame og skaber mere polerede resultater. For at komme i gang har Kivy gode selvstudier lige på deres hjemmeside. En styrke ov Kyvi er deres Kv Design -sprog. Dette designsprog gør det let at oprette menuer, spilplan og al grafik. Takket være dette system behøver du ikke at oprette billeder til den enkleste grafik.

På deres side beskriver de også, hvordan man kommer i gang med at bruge Kivy med PyCharm. Der er også udvidelser til implementering til Android og iOS. Dette er lidt lettere end at bruge PyGame.



pyglet-3D

Ved første øjekast virker pyglet lille og begrænset, men der gemmer sig dybde under enkelheden. Dette program understøtter OpenGL, uden at have nogen afhængigheder, selvom du kan udvide mediefunktioner ved at ringe til ffmpeg. Pyglet håndterer også opsætninger med to skærme. Der findes tredjepartsbiblioteker, der udvider systemet. Du bør vide om disse biblioteker for alle de funktioner, de tilføjer. Du vil måske også bruge glooey til at lave en konsekvent GUI til din applikation. Brug PyShaders til gengivelse og Ratcave til håndtering af 3D -scener. Hvis du starter med pyglet3d, er det godt at vide, at cocos2d bruger pyglet. Dette program bygger en omfattende ramme for spil-apps og andre GUI-baserede applikationer.

Panda3D

Dette er ikke en pakke, du kan bruge til at lære programmering eller til at lave et spil let. Hvad du får her er et professionelt værktøj til at oprette animationer og spil. Panda3D er skrevet i C ++ for at sikre ydeevnen. Det meste af manualen peger dog på Python -brugere. Selvom tanken bag Panda3D er, at spiludviklere skal lave deres spil ved hjælp af Python, kan du også bruge C ++.

Panda3d er et meget dygtigt system og kommer endda med sit eget SDK. Hvis du er villig til at gøre en indsats, og du allerede kender noget Python -programmering, er dette system allerede langt ud over alt, hvad du vil oprette. Når alt kommer til alt, bruger Disney det til deres kommercielle produkter!

Ren’Py

Du har sandsynligvis læst dette indlæg, fordi du vil oprette spil. Denne pakke er til at skabe visuelle romaner. Hvis du ikke har gennemtænkt din projektide endnu, er det nu, der er tid. Du vil måske lave et historiebaseret spil, der kræver et fortællingsformat. Det er det, Ren’Py er til.

Der er allerede mange kommercielle spil skrevet i Ren’Py, og der kommer mere til. Du kan også oprette en visuel roman og gøre det til et spil. Med Ren’Py kan du oprette det hele ved for det meste at bruge tekstredigerere.

Ursina for at forbedre Panda

Hvis du synes Panda mangler på en eller anden måde, kan du prøve at bruge Ursina. Dette er et enkelt udviklerprojekt, så du skal ikke afhænge af denne pakke til større projekter, medmindre du er villig til at bidrage. Når det er sagt, er Ursina en forbedring til Panda3D. Projektet er også meget aktivt, og der er flere mennesker, der har bidraget til det.

At lave et spil med denne ramme er meget let og udført i meget få kodelinjer. Hvis du føler, at dit projekt kan udvide sig, skal du ikke bekymre dig. Dette program er bygget på Panda, så når dine behov stiger, kan du bruge en hvilken som helst af Panda3D -funktionerne. Dette giver dig hurtig start ved siden af ​​kraften i et etableret system.

Konklusion

For at begynde at lære og bruge en ny spiludviklingsramme, skal du vælge et par selvstudier og køre dem igennem. Vælg ikke for mange, du spilder bare din tid. Start ethvert enkelt projekt, beslut dig for meget få funktioner, og prøv at få dem til at fungere sammen. Når du er færdig med et projekt, har du tusind ideer til det næste. Dit valg af spilmotor er ikke så vigtigt, så længe du revurderer dit valg tidligt nok. Dette er for at gøre den endelige overgang til en bedre en mindre kompleks og mere effektiv.