Bästa Python -spelmotorer

Best Python Game Engines



För att skriva datorspel (vi gamla kallar dem videospel!) Kanske du undrar, Var ska jag börja? För att göra ett spelbart spel i en anständig tidsram och samtidigt lära dig hur programmet fungerar behöver du ett spelramverk. Ramverket skapar många av de konstruktioner som du behöver för att dina spel ska fungera. Du vill inte uppfinna dessa själv. Dessa inkluderar hur man ritar allt till skärmen, hur man upptäcker en kollision och hur man behåller poängen.

Även att få saker att röra sig på skärmen är komplext utan något underliggande bibliotek. I den här artikeln lär du dig om vilka paket som gör vad och hur lätt det är att komma igång med ditt spel.







Varför spelmotorer?

När du börjar programmera ditt spel kommer du att uppskatta kraften i att ha alla grunderna redo, till exempel klasser och funktioner. På så sätt kan du komma igång och fokusera på detaljerna i ditt projekt. Du kanske undrar vad skillnaden är mellan ett ramverk och en spelmotor. På en hög nivå genomför spelmotorn alla snabba operationer - mestadels grafik. Ramverket implementerar logiken, de saker du vill lägga i ditt spel - historien, om du vill.



PyGame

Detta är en uppsättning Python -moduler. Denna uppsättning moduler är avsiktligt liten för att göra det enkelt att komma igång. Formgivarna har också bestämt sig för att skapa många små bitar inom biblioteket. Tack vare denna design kan du byta ut delar av biblioteket när dina behov ändras. Blandaren är till exempel en separat mjukvara; så om du blir mer avancerad i din programmering kan du byta till en annan programvara. Grafikåtergivningsmaskinen är också separat och så vidare. Faktum är att du kan använda PyGame för att prototypa ett spel och överföra en bit i taget till mer avancerad programvara. Med det sagt har PyGame redan ett stort antal spel under sitt namn.



Det är enkelt att komma igång med PyGame men du kan göra det ännu enklare. Paketet pgzero är skapat för lärare att visa programmering. Med paketet kan du enkelt skriva många delar av ditt spel utan pannkodskod.





Besviken

Du kan också installera Kivy som Python -moduler. Detta är det bästa sättet att använda Python för alla ramar. Kivy har fler funktioner än PyGame och skapar mer polerade resultat. För att komma igång har Kivy fantastiska självstudier direkt på sin hemsida. En styrka för Kyvi är deras Kv Design -språk. Detta formspråk gör det enkelt att skapa menyer, spelplan och all grafik. Tack vare detta system behöver du inte skapa bilder för den enklaste grafiken.

På deras sida beskriver de också hur man kommer igång med Kivy med PyCharm. Det finns också tillägg för distribution till Android och iOS. Detta är lite enklare än att använda PyGame.



pyglet-3D

Vid första anblicken verkar pyglet liten och begränsad, men det finns ett djup som gömmer sig under enkelheten. Detta program stöder OpenGL, utan att ha några beroenden, även om du kan utöka mediefunktioner genom att ringa ffmpeg. Pyglet hanterar också konfigurationer med dubbla bildskärmar. Det finns tredjepartsbibliotek tillgängliga som utökar systemet. Du bör veta om dessa bibliotek för alla funktioner de lägger till. Du kanske också vill använda glooey för att skapa ett konsekvent GUI för din applikation. Använd PyShaders för återgivning och Ratcave för hantering av 3D -scener. Om du börjar med pyglet3d är det bra att veta att cocos2d använder pyglet. Detta program bygger en omfattande ram för spelappar och andra GUI-baserade applikationer.

Panda3D

Detta är inte ett paket som du kan använda för att lära dig programmering eller för att enkelt göra ett spel. Det du får här är ett professionellt verktyg för att skapa animationer och spel. Panda3D är skrivet i C ++ för att säkra prestanda. Det mesta av manualen pekar dock på Python -användare. Medan tanken bakom Panda3D är att spelutvecklare ska göra sina spel med Python, kan du också använda C ++.

Panda3d är ett mycket kapabelt system och kommer till och med med ett eget SDK. Om du är villig att anstränga dig och du redan känner till lite Python -programmering, är detta system redan långt bortom allt du vill skapa. När allt kommer omkring använder Disney det för sina kommersiella produkter!

Ren’Py

Du har nog läst det här inlägget för att du vill skapa spel. Detta paket är för att skapa visuella romaner. Om du inte har tänkt igenom din projektidé ännu är det dags. Du kanske vill göra ett berättelsebaserat spel som kräver ett berättande format. Det här är vad Ren’Py är till för.

Det finns redan många kommersiella spel skrivna i Ren’Py och det kommer mer att komma. Du kan också skapa en visuell roman och göra det till ett spel. Med Ren’Py kan du skapa det hela med mestadels textredigerare.

Ursina för att förbättra Panda

Om du tycker att Panda saknas på något sätt, försök använda Ursina. Detta är ett enda utvecklarprojekt, så beror inte på detta paket för större projekt, såvida du inte är villig att bidra. Med detta sagt är Ursina en förbättring för Panda3D. Projektet är också mycket aktivt och det är flera personer som bidragit till det.

Att göra ett spel med detta ramverk är väldigt enkelt och gjort i väldigt få kodrader. Om du känner att ditt projekt kan expandera, oroa dig inte. Detta program är byggt på Panda, så när dina behov ökar kan du använda vilken som helst av Panda3D -funktionerna. Detta ger dig snabb start vid sidan av kraften i ett etablerat system.

Slutsats

För att börja lära dig och använda ett nytt spelutvecklingsramverk, välj några självstudier och kör igenom dem. Välj inte för många, du kommer bara slösa bort din tid. Starta något enkelt projekt, besluta om mycket få funktioner och försök att få dem att fungera tillsammans. När du har avslutat ett projekt kommer du att ha tusen idéer för nästa. Ditt val av spelmotor är inte så viktigt, så länge du omvärderar ditt val tillräckligt tidigt. Detta för att göra den slutliga övergången till en bättre en mindre komplex och mer effektiv.