Beste Python-game-engines

Best Python Game Engines



Om computerspelletjes te schrijven (wij oudjes noemen ze videospelletjes!), vraagt ​​u zich misschien af: waar moet ik beginnen? Om een ​​speelbaar spel te maken in een fatsoenlijk tijdsbestek en tegelijkertijd te leren hoe het programma werkt, heb je een spelraamwerk nodig. Het framework creëert veel van de constructies die je nodig hebt om je games te laten functioneren. Deze wil je niet zelf verzinnen. Deze omvatten hoe u iets op het scherm kunt tekenen, hoe u een botsing kunt detecteren en hoe u de score kunt bijhouden.

Zelfs dingen op het scherm laten bewegen is complex zonder een onderliggende bibliotheek. In dit artikel leer je welke pakketten wat doen en hoe gemakkelijk het is om aan de slag te gaan met je game.







Waarom game-engines?

Wanneer u begint met het programmeren van uw spel, zult u de kracht waarderen van het gereed hebben van alle basisfuncties, zoals klassen en functies. Zo kunt u aan de slag en kunt u zich concentreren op de details van uw project. Je vraagt ​​je misschien af ​​wat het verschil is tussen een framework en een game-engine. Op een hoog niveau implementeert de game-engine alle snelle bewerkingen - meestal grafische. Het raamwerk implementeert de logica, de dingen die je in je spel wilt stoppen - het verhaal, zo je wilt.



PyGame

Dit is een set Python-modules. Deze set modules is bewust klein gehouden om gemakkelijk aan de slag te kunnen. De ontwerpers hebben ook besloten om veel kleine stukjes in de bibliotheek te maken. Dankzij dit ontwerp kunt u delen van de bibliotheek verwisselen wanneer uw behoeften veranderen. De mixer is bijvoorbeeld een apart stukje software; dus als u meer gevorderd bent in uw programmering, kunt u overschakelen naar een ander stuk software. De grafische weergavemachine is ook apart, enzovoort. Je zou PyGame zelfs kunnen gebruiken om een ​​game te prototypen en stuk voor stuk over te stappen naar meer geavanceerde software. Dat gezegd hebbende, heeft PyGame al een groot aantal spellen onder zijn naam.



Aan de slag gaan met PyGame is eenvoudig, maar je kunt het nog makkelijker maken. Het pgzero-pakket is gemaakt voor docenten om programmeren te laten zien. Met het pakket kun je gemakkelijk veel delen van je spel schrijven zonder boilerplate-code.





Teleurgesteld

U kunt Kivy ook als Python-modules installeren. Dit is de beste manier om Python voor elk framework te gebruiken. Kivy heeft meer functies dan PyGame en zorgt voor meer gepolijste resultaten. Om te beginnen heeft Kivy geweldige tutorials op hun startpagina. Een sterk punt van Kyvi is hun Kv Design-taal. Deze ontwerptaal maakt het gemakkelijk om menu's, spelplannen en alle afbeeldingen te maken. Dankzij dit systeem hoeft u geen afbeeldingen te maken voor de eenvoudigste afbeeldingen.

Op hun pagina vertellen ze ook hoe je aan de slag kunt gaan met Kivy met PyCharm. Er zijn ook extensies voor implementatie op Android en iOS. Dit is een beetje eenvoudiger dan het gebruik van PyGame.



pyglet-3D

Op het eerste gezicht lijkt pyglet klein en beperkt, maar onder de eenvoud gaat diepte schuil. Dit programma ondersteunt OpenGL, hoewel het geen afhankelijkheden heeft, hoewel u de mediamogelijkheden kunt uitbreiden door ffmpeg aan te roepen. Pyglet verwerkt ook opstellingen met twee monitoren. Er zijn bibliotheken van derden beschikbaar die het systeem uitbreiden. U moet deze bibliotheken kennen voor alle functies die ze toevoegen. U kunt glooey ook gebruiken om een ​​consistente GUI voor uw toepassing te maken. Gebruik PyShaders voor de weergave en Ratcave voor het verwerken van 3D-scènes. Als je begint met pyglet3d, is het goed om te weten dat cocos2d pyglet gebruikt. Dit programma bouwt een uitgebreid raamwerk voor game-apps en andere GUI-gebaseerde applicaties.

Panda3D

Dit is geen pakket dat je kunt gebruiken om te leren programmeren of om gemakkelijk een spel te maken. Wat je hier krijgt is een professionele tool voor het maken van animaties en games. Panda3D is geschreven in C++ om de prestaties te waarborgen. Het grootste deel van de handleiding verwijst echter naar Python-gebruikers. Hoewel het idee achter Panda3D is dat game-ontwikkelaars hun games maken met Python, kun je ook C++ gebruiken.

Panda3d is een zeer capabel systeem en wordt zelfs geleverd met een eigen SDK. Als je bereid bent moeite te doen, en je kent al wat Python-programmering, dan gaat dit systeem al veel verder dan alles wat je wilt creëren. Disney gebruikt het tenslotte voor hun commerciële producten!

Ren'Py

Je leest dit bericht waarschijnlijk omdat je games wilt maken. Dit pakket is voor het maken van visuele romans. Als u nog niet over uw projectidee heeft nagedacht, is dit het juiste moment. Misschien wil je een op verhalen gebaseerd spel maken dat een verhalend formaat vereist. Dit is waar Ren'Py voor is.

Er zijn al veel commerciële games geschreven in Ren'Py en er zullen er nog meer volgen. Je kunt ook een visuele roman maken en er een spel van maken. Met Ren'Py kun je het hele ding maken met voornamelijk teksteditors.

Ursina om Panda te verbeteren

Als je vindt dat Panda op de een of andere manier tekortschiet, probeer dan Ursina te gebruiken. Dit is een project voor één ontwikkelaar, dus vertrouw niet op dit pakket voor grotere projecten, tenzij u bereid bent om bij te dragen. Dat gezegd hebbende, Ursina is een verbetering van Panda3D. Het project is ook erg actief en er zijn verschillende mensen die eraan hebben bijgedragen.

Het maken van een spel met dit framework is heel eenvoudig en gedaan in een paar regels code. Als u denkt dat uw project kan uitbreiden, hoeft u zich geen zorgen te maken. Dit programma is gebouwd op Panda, dus als uw behoeften toenemen, kunt u een van de Panda3D-functies gebruiken. Dit geeft je een snelle start naast de kracht van een gevestigd systeem.

Conclusie

Om te beginnen met het leren en gebruiken van een nieuw framework voor het ontwikkelen van games, kies je een paar tutorials en loop je ze door. Kies niet te veel, je verspilt gewoon je tijd. Start een eenvoudig project, beslis over een paar functies en probeer ze samen te laten werken. Tegen de tijd dat je het ene project hebt afgerond, heb je duizend ideeën voor het volgende. Uw keuze van de game-engine is niet zo belangrijk, zolang u uw keuze maar vroeg genoeg opnieuw evalueert. Dit om de uiteindelijke overgang naar een betere minder complex en efficiënter te maken.