Python

Bedste Python-spilmotorer

Bedste Python-spilmotorer
At skrive computerspil (os oldies kalder dem videospil!), undrer du dig måske, ”Hvor starter jeg?”For at skabe et spil, der kan spilles inden for en anstændig tidsramme, mens du også lærer, hvordan programmet fungerer, skal du have en spilramme. Rammen skaber mange af de konstruktioner, som du har brug for for at dine spil skal fungere. Du ønsker ikke at opfinde disse selv. Disse inkluderer, hvordan man tegner noget til skærmen, hvordan man opdager en kollision, og hvordan man holder scoren.

Selv at få ting til at bevæge sig på skærmen er kompliceret 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å styrken ved at have alt det grundlæggende klar, såsom klasser og funktioner. På denne måde kan du komme i gang og fokusere på oplysningerne i dit projekt. Du undrer dig måske 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. Rammen implementerer logikken, de ting, du vil lægge 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. Mixeren er for eksempel et separat stykke software; så hvis du bliver mere avanceret i din programmering, kan du skifte til et andet stykke software. Den grafiske gengivelsesmaskine er også separat osv. Faktisk kunne du bruge PyGame til at prototype et spil og overføre et stykke ad gangen til mere avanceret software. Med det sagt, har PyGame allerede et stort antal spil under sit navn.

Kom godt i gang med PyGame er let, men du kan gøre det endnu lettere. Pgzero-pakken er lavet, så lærere kan vise programmering. Med pakken kan du nemt skrive mange dele af dit spil uden kedelpladekode.

Kivy

Du kan også installere Kivy som Python-moduler. Dette er den bedste måde at bruge Python til enhver ramme. Kivy har flere funktioner end PyGame og skaber mere polerede resultater. For at komme i gang har Kivy gode tutorials lige på deres hjemmeside. En styrke over Kyvi er deres Kv Design sprog. Dette designsprog gør det nemt at oprette menuer, spilplan og al grafik. Takket være dette system behøver du ikke 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 skjuler dybde sig under enkelheden. Dette program understøtter OpenGL, men har ingen afhængigheder, selvom du kan udvide mediefunktionerne ved at ringe til ffmpeg. Pyglet håndterer også dual-monitor opsætninger. Der er tredjepartsbiblioteker tilgængelige, der udvider systemet. Du bør vide om disse biblioteker for alle de funktioner, de tilføjer. Det kan også være en god idé at bruge trist til at skabe en ensartet 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 spilapps 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 skabe animationer og spil. Panda3D er skrevet i C ++ for at sikre ydeevne. Det meste af manualen peger dog på Python-brugere. Mens ideen bag Panda3D er for spiludviklere at lave deres spil ved hjælp af Python, kan du også bruge C++.

Panda3d er et meget kapabelt system og leveres endda med sin egen 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 oprettelse af visuelle romaner. Hvis du ikke har tænkt igennem din projektidé endnu, er det tid. Det kan være en god idé at lave et historiebaseret spil, der kræver et fortællende format. Dette er hvad Ren'Py er beregnet til.

Der er allerede mange kommercielle spil skrevet i Ren'Py, og der kommer mere. Du kan også oprette en visuel roman og gøre det til et spil. Med Ren'Py kan du oprette det hele ved hjælp af for det meste teksteditorer.

Ursina for at forbedre Panda

Hvis du finder Panda mangler på en eller anden måde, så prøv at bruge Ursina. Dette er et enkelt udviklerprojekt, så afhæng ikke af denne pakke til større projekter, medmindre du er villig til at bidrage. Når det er sagt, er Ursina en forbedring af 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å linjer kode. Hvis du føler, at dit projekt kan udvides, 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 ​​styrken i et etableret system.

Konklusion

For at begynde at lære og bruge en ny ramme om spiludvikling skal du vælge et par selvstudier og løbe igennem dem. Vælg ikke for mange, du spilder bare din tid. Start ethvert simpelt projekt, vælg meget få funktioner, og prøv at få dem til at arbejde 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 mindre kompleks og mere effektiv.

Mus Sådan ændres mus og touchpad-indstillinger ved hjælp af Xinput i Linux
Sådan ændres mus og touchpad-indstillinger ved hjælp af Xinput i Linux
De fleste Linux-distributioner leveres som standard med "libinput" -biblioteket til at håndtere inputhændelser på et system. Det kan behandle inputhæn...
Mus Remap dine museknapper forskelligt til anden software med X-Mouse Button Control
Remap dine museknapper forskelligt til anden software med X-Mouse Button Control
Måske har du brug for et værktøj, der kan ændre din muses kontrol med hver applikation, du bruger. Hvis dette er tilfældet, kan du prøve en applikatio...
Mus Microsoft Sculpt Touch Wireless Mouse Review
Microsoft Sculpt Touch Wireless Mouse Review
Jeg har for nylig læst om Microsoft Sculpt Touch trådløs mus og besluttede at købe den. Efter at have brugt det et stykke tid besluttede jeg at dele m...