Piton

Jó 3D Python játékmotorok

Jó 3D Python játékmotorok

Bevezetés

A Python számára készített és a vele készített 3D-s játékmotorok kerete nagyon nehéz lehet. Ennek az az oka, hogy a Python az összetettség növekedésével gyorsan teljesítményproblémákba ütközik. A gyors grafikus megjelenítés nem a Python számára a legjobb. Mivel azonban a Python nagyon jó a logika létrehozásához és meglehetősen népszerű, sok lehetősége van a C-ben írt keretek futtatására++.

Ahhoz, hogy ez a 3D-s játékmotoroknál működjön, nem lehet mindent megtenni, mint általában a Pythonban. A legtöbb keretrendszer létrehoz egy burkolót a C ++ könyvtárakhoz. Meg kell találnia a fordítás módját, hogy a Python fel tudja hívni ezt a csomagolást. A dokumentációban kitérnek arra, hogy miként lehet fordítani a Python burkolóval.

Játékstílus és nyelvválasztás

Mielőtt elkezdené, fontolja meg, hogy játéka platformer, first person shooter vagy párbeszéd alapú-e. Talán létrehoz egy játékot, amely kihívást jelent az intellektuális készségek számára. Ehhez nincs szükség nagy teljesítményű grafikára. A lényeg az, hogy a kezdés előtt tudnia kell, mit próbál elérni. Lehet, hogy a Pythonhoz szokott programozni. De ha sok effektusú játékot szeretne létrehozni, akkor fontolja meg más programozási nyelveket is. Nagy erőfeszítés egy új nyelv elsajátítása, de rendkívül kielégítő is, ha az alapok ezen kezdeti akadályát átlépte. Az az idő, amikor a rendszeres dokumentációnak még rövid pillantásra is van értelme.

Kötések, megfontolandó könyvtárak

Játékok készítéséhez grafikákat, menüket és hanganyagokat kell létrehozni. Számos könyvtár és Python-összerendelés van ezeknek az eseteknek a kezelésére. Az egyik legelterjedtebb ilyen könyvtár az SDL2, amely a programozóknak közvetlen hozzáférést biztosít a videokép-ütközőhöz, az audio kimenethez, az egérhez és a billentyűzethez. Ezek nélkül a játéknak rendszeres rutinokat kell használnia, amelyek néha lassúak lehetnek. Az első verzió még mindig létezik, de az SDL2 rendelkezik minden szükséges eszközzel.

Az SFML2 hasonló szerepet játszik, mint a legtöbb multimédiás funkció, és összes funkciót összeállít. Ezzel szemben az SDL2 sok kisebb darabot tartalmaz, amelyeket egyesével be kell húznia a kódba.

A Python használatához szükség lesz a PySDL2 és a PySFML2 csomagokra.

PyOgre

A PyOgre tervezői C ++ nyelven írták az Ogre keretrendszert a Python burkolójával. A burkolat beépített burkolat. A régi projekt továbbra is elérhető az interneten. Az oktatóanyagok követése hasznos lehet, de légy óvatos, mivel nem minden az interneten elérhető lesz. Az Ogre számos világobjektum számára rendelkezik osztályokkal, amelyek egy réteget adnak az OpenGL és a Direct3D tetejére.

Az Ogre jelenetekkel dolgozik, és elkészítheti a játékához szükséges összes grafikát. A PyOgre modulok az Ogre v1 előtti verzióknál működnek.05. Ezt követően további modulok állnak rendelkezésre. Az Ogre szoftver tartalmaz Python-szkripteket az adatok Blenderből Ogre-be történő importálásához. Ez lehetővé teszi az erőforrások létrehozását a Blenderben a játékához. Más exportőrök is rendelkezésre állnak.

http: // wiki.ogre3d.org /

Allegro

Az Allegro mindent megtesz az ablakok létrehozásának, a felhasználói adatok elfogadásának, a képek rajzolásának és a hangok lejátszásának minden nehézségéről - mindazok a funkciók, amelyek hasznosak a videojátékokhoz és a multimédiás programozáshoz. Az Allegro tervezői nem állítják, hogy ez a program játékmotor, de hasznos játékkészítéshez.

Mivel az Allegro C ++ nyelven épült, a program Python használatához létre kell hoznia a burkolót. Ezt a lépést a forrásból történő fordítással hajthatja végre. A folyamat az osztályokat egy allegro nevű fájlban hozza létre.py. Miután befejezte ezt a lépést, kiválaszthatja az osztályokat abból a fájlból, de ajánlott elolvasnia a program működésének szokásos dokumentációját is. Ez bonyolíthatja a folyamatot, de a C ++ megtanulása is gond.

https: // github.com / liballeg / allegro5

Armory 3D - Blender kiterjesztés

Ez a csomag a Blendert használja fejlesztői platformként, a HAXE-t pedig programozási nyelvként. Igen, át kell váltanod a Haxe-ra, de átalakíthatsz néhány meglévő játéklogikát a Python-ból. Az Armory3D a Blender belsejében működik kiterjesztésként, ahol minden erőforrást létrehozhat a játékhoz.

Annak ellenére, hogy az Armory 3D nem fut a Pythonon, ennek ellenére gondosan vegye figyelembe ezt a programot, mivel ezzel az eszközzel nagyon gyorsan el tudja kezdeni. https: // fegyvertár3d.org /

Urho3D

Ez a csomag a Blendert használja fejlesztői platformként, és a HAXE-t használja programozási nyelvként. Ismét át kell váltanod a Haxe-ra, de átalakíthatsz néhány meglévő játéklogikát a Python-ból. Az Armory3D a Blender belsejében működik kiterjesztésként, ahol minden erőforrást létrehozhat a játékhoz.

Annak ellenére, hogy az Urho3D nem fut Pythonon, fontolja meg alaposan ezt a programot is, mivel ezzel az eszközzel nagyon gyorsan el tudja kezdeni. https: // fegyvertár3d.org /

Ursina

Az Ursina Pythonban íródott, és a Panda3D-re épült. Ezt az eszközt számos primitív szolgáltatásra tervezték, például kockát, gömböt stb., hogy minél hamarabb folytathassa magát a játékot. A Panda3D elvégzi a mély munkát, az Ursina pedig kész programfunkciókat ad. A játékos osztály lehetővé teszi a megnyomott billentyűk és az egér mozgásának regisztrálását.

A legtöbb funkció intuitívan használható, világos nevekkel és könnyen érthető funkciókkal. Gyorsan elkezdheti a játékot, ha ezt a játékteremtő eszközt használja. Az Ursinának vannak eszközei mind a blend, mind a psd fájlok konvertálására.

https: // github.com / pokepetter / ursina

Blender Game Engine (?)

A 2. verzió előtt.79, Blender játékmotort épített be. A későbbi verziókban azonban a tervezők úgy döntöttek, hogy eltávolítják a játékmotort a standard felépítésből, és az animációkra koncentrálnak. Tehát az UPBGE munkatársai úgy döntöttek, hogy létrehoznak egy saját kiterjesztést, amely a Blender belsejében működik. Ezért a Blender segítségével létrehozhatja az egész játékot. Hogyan kapcsolódik ez a Python játékfejlesztéshez?

A BPGE rendelkezik API-val, amely lehetővé teszi az összes olyan adat elérését, amelyet a Blenderen belül dolgozott. A Blender belsejében lévő konzolt használhatja az API eléréséhez és teszteléséhez. Valójában így írhatná az egész programot, de ez nem biztos, hogy a legjobb választás az Ön igényeinek. Legalább az összes erőforrás készen áll a kívánt módon, attól kezdve, hogy létrehozza őket.

GODOT - GDscript, NEM Python

Ha játékot szeretnél írni, és jól érzed magad a Pythonban, használhatod a GODOT-ot is. Ez a nyelv nagyon hasonlít a Python-ra, csak kifejezetten játékok írására szolgál.

Következtetés

A Pythonban sokféle keretrendszer létezik a játékok írására. Ha nagy teljesítményű 3D-s játékokat szeretne létrehozni, akkor komolyan fontolja meg más játékok megtanulását ezekhez a játékokhoz. Győződjön meg arról, hogy a programválasztás lehetővé teszi-e az eredeti játékötlet követését. Ha szükséges, állítsa be programozási nyelvét személyes elképzeléseihez.

Az FPS-számláló megjelenítése a Linux-játékokban
A Linux játék komoly lendületet kapott, amikor a Valve 2012-ben bejelentette a Linux támogatását a Steam kliensnek és játékaiknak. Azóta sok AAA és in...
Sid Meier Civilization VI letöltése és lejátszása Linuxon
Bevezetés a játékba A Civilization 6 egy modern felvétel a Age of Empires játékok sorozatában bevezetett klasszikus koncepcióra. Az ötlet meglehetősen...
A Doom telepítése és lejátszása Linuxon
Bevezetés a Doom-ba A Doom sorozat a 90-es években keletkezett az eredeti Doom megjelenése után. Azonnali sláger volt, és ettől kezdve a játéksorozat ...