Beste Python -spillmotorer

Best Python Game Engines



For å skrive dataspill (vi gamle kaller dem videospill!), Lurer du kanskje på: Hvor skal jeg begynne? For å lage et spill som kan spilles i en anstendig tidsramme, samtidig som du lærer hvordan programmet fungerer, trenger du et spillramme. Rammeverket skaper mange av konstruksjonene du trenger for at spillene dine skal fungere. Du vil ikke finne på disse selv. Disse inkluderer hvordan du tegner alt til skjermen, hvordan du oppdager en kollisjon og hvordan du beholder poengsummen.

Selv å få ting til å bevege seg på skjermen er komplekst uten noe underliggende bibliotek. I denne artikkelen lærer du om hvilke pakker som gjør hva og hvor enkelt det er å komme i gang med spillet ditt.







Hvorfor spillmotorer?

Når du begynner å programmere spillet ditt, vil du sette pris på kraften i å ha alt det grunnleggende klart, for eksempel klasser og funksjoner. På denne måten kan du komme i gang og fokusere på detaljene i prosjektet ditt. Du lurer kanskje på hva som er forskjellen mellom et rammeverk og en spillmotor. På et høyt nivå implementerer spillmotoren alle de raske operasjonene - for det meste grafikk. Rammeverket implementerer logikken, tingene du vil legge inn i spillet ditt - historien, hvis du vil.



PyGame

Dette er et sett med Python -moduler. Dette settet med moduler er bevisst lite for å gjøre det enkelt å komme i gang. Designerne har også bestemt seg for å lage mange små biter i biblioteket. Takket være dette designet kan du bytte ut deler av biblioteket når behovene dine endres. Blanderen, for eksempel, er et eget stykke programvare; så hvis du blir mer avansert i programmeringen, kan du bytte til en annen programvare. Grafisk gjengivelsesmaskin er også separat, og så videre. Faktisk kan du bruke PyGame til å prototype et spill og overføre ett stykke om gangen til mer avansert programvare. Når det er sagt, har PyGame allerede et stort antall spill under navnet.



Det er enkelt å komme i gang med PyGame, men du kan gjøre det enda enklere. Pgzero -pakken er laget for lærere å vise programmering. Med pakken kan du enkelt skrive mange deler av spillet ditt uten kjelekode.





Skuffet

Du kan også installere Kivy som Python -moduler. Dette er den beste måten å bruke Python for alle rammer. Kivy har flere funksjoner enn PyGame og skaper mer polerte resultater. For å komme i gang har Kivy flotte opplæringsprogrammer rett på hjemmesiden deres. En styrke for Kyvi er deres Kv Design -språk. Dette formspråket gjør det enkelt å lage menyer, spillplaner og all grafikk. Takket være dette systemet trenger du ikke å lage bilder for den enkleste grafikken.

På siden deres beskriver de også hvordan du kommer i gang med å bruke Kivy med PyCharm. Det er også utvidelser for distribusjon til Android og iOS. Dette er litt enklere enn å bruke PyGame.



pyglet-3D

Ved første øyekast virker pyglet liten og begrenset, men det er dybde som skjuler seg under enkelheten. Dette programmet støtter OpenGL, men har ingen avhengigheter, selv om du kan utvide mediefunksjonene ved å ringe ffmpeg. Pyglet håndterer også oppsett med to skjermer. Det er tredjepartsbiblioteker tilgjengelig som utvider systemet. Du bør vite om disse bibliotekene for alle funksjonene de legger til. Det kan også være lurt å bruke glooey for å lage en konsekvent GUI for applikasjonen din. Bruk PyShaders for gjengivelsen og Ratcave for håndtering av 3D -scener. Hvis du starter med pyglet3d, er det godt å vite at cocos2d bruker pyglet. Dette programmet bygger et omfattende rammeverk for spillapper og andre GUI-baserte applikasjoner.

Panda3D

Dette er ikke en pakke du kan bruke til å lære programmering eller for å lage et spill enkelt. Det du får her er et profesjonelt verktøy for å lage animasjoner og spill. Panda3D er skrevet i C ++ for å sikre ytelsen. Det meste av håndboken peker imidlertid på Python -brukere. Selv om ideen bak Panda3D er at spillutviklere skal lage spillene sine ved hjelp av Python, kan du også bruke C ++.

Panda3d er et veldig dyktig system og kommer til og med med sin egen SDK. Hvis du er villig til å gjøre en innsats, og du allerede kan litt Python -programmering, er dette systemet allerede langt utover alt du vil lage. Tross alt bruker Disney det til sine kommersielle produkter!

Ren’Py

Du har sannsynligvis lest dette innlegget fordi du vil lage spill. Denne pakken er for å lage visuelle romaner. Hvis du ikke har tenkt gjennom prosjektideen din ennå, er det på tide. Det kan være lurt å lage et historiebasert spill som krever et fortellende format. Det er dette Ren’Py er til for.

Det er allerede mange kommersielle spill skrevet i Ren’Py, og det kommer mer. Du kan også lage en visuell roman og gjøre det til et spill. Med Ren’Py kan du lage det hele ved å bruke teksteditorer.

Ursina for å forbedre Panda

Hvis du synes Panda mangler på en eller annen måte, kan du prøve å bruke Ursina. Dette er et enkelt utviklerprosjekt, så ikke avhengig av denne pakken for større prosjekter, med mindre du er villig til å bidra. Når det er sagt, er Ursina en forbedring for Panda3D. Prosjektet er også veldig aktivt, og det er flere som har bidratt til det.

Å lage et spill med dette rammeverket er veldig enkelt og gjort i svært få kodelinjer. Hvis du føler at prosjektet ditt kan utvide seg, ikke bekymre deg. Dette programmet er bygget på Panda, så når behovene dine øker, kan du bruke hvilken som helst av Panda3D -funksjonene. Dette gir deg rask start ved siden av kraften i et etablert system.

Konklusjon

For å begynne å lære og bruke et nytt rammeverk for spillutvikling, velg noen få opplæringsprogrammer og kjør gjennom dem. Ikke velg for mange, du vil bare kaste bort tiden din. Start et enkelt prosjekt, bestem deg for få funksjoner, og prøv å få dem til å fungere sammen. Når du er ferdig med ett prosjekt, vil du ha tusen ideer til det neste. Ditt valg av spillmotor er ikke så viktig, så lenge du vurderer valget ditt tidlig nok. Dette er for å gjøre den endelige overgangen til en bedre en mindre kompleks og mer effektiv.