Även att få saker att röra sig på skärmen är komplicerat 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å implementerar spelmotorn alla snabba operationer - mestadels grafik. Ramverket implementerar logiken, de saker du vill lägga i ditt spel - berättelsen, om du vill.
PyGame
Detta är en uppsättning Python-moduler. Denna uppsättning moduler är medvetet liten för att göra det enkelt att komma igång. Designarna har också beslutat att skapa många små bitar inom biblioteket. Tack vare denna design kan du byta ut delar av biblioteket närhelst dina behov ändras. Mixern är till exempel en separat mjukvara; så om du blir mer avancerad i din programmering kan du växla till en annan mjukvara. Grafik rendering maskinen är också separat, och så vidare. I själva verket kan du använda PyGame för att prototyper 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.
Att komma igång med PyGame är enkelt men du kan göra det ännu enklare. Pgzero-paketet är gjort för lärare att visa programmering. Med paketet kan du enkelt skriva många delar av ditt spel utan pannkodskod.
Kivy
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 tutorials direkt på deras hemsida. En styrka över Kyvi är deras Kv Design-språk. Detta designsprå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 att använda 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 djup som gömmer sig under enkelheten. Detta program stöder OpenGL, men har inga beroenden, men du kan utöka mediefunktionerna genom att ringa ffmpeg. Pyglet hanterar också inställningar för dubbla skärmar. Det finns tredjepartsbibliotek tillgängliga som utökar systemet. Du bör känna till dessa bibliotek för alla funktioner de lägger till. Du kanske också vill använda glooey för att skapa en konsekvent GUI för din applikation. Använd PyShaders för rendering 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 ett omfattande ramverk 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 göra ett spel enkelt. Vad du får här är ett professionellt verktyg för att skapa animationer och spel. Panda3D är skrivet i C ++ för att skydda 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 till och med har sin egen SDK. Om du är villig att anstränga dig och du redan känner till en del 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é än är det dags. Du kanske vill skapa ett berättelsebaserat spel som kräver ett berättande format. Detta är vad Ren'Py är 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 den 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 utvecklingsprojekt, så lita 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 av Panda3D. Projektet är också mycket aktivt och det finns flera personer som har bidragit till det.
Att skapa ett spel med detta ramverk är väldigt enkelt och görs i mycket få kodrader. Oroa dig inte om du känner att ditt projekt kan expandera. Detta program bygger på Panda, så när dina behov ökar kan du använda någon av Panda3D-funktionerna. Detta ger dig snabb start tillsammans med kraften i ett etablerat system.
Slutsats
För att börja lära dig och använda ett nytt ramverk för spelutveckling, välj några handledning och kör igenom dem. Välj inte för många, du slösar bara bort din tid. Starta ett enkelt projekt, bestäm mycket få funktioner och försök få dem att fungera tillsammans. När du har avslutat ett projekt kommer du att ha tusen idéer till nästa. Ditt val av spelmotor är inte så viktigt, så länge du omprövar ditt val tillräckligt tidigt. Detta för att göra den eventuella övergången till en bättre mindre komplex och effektivare.