Piton

Dobri pokretači 3D igara za Python

Dobri pokretači 3D igara za Python

Uvod

Pronalaženje okvira za pokretače 3D igara stvorenih za i s Pythonom može se pokazati vrlo teškim. Razlog tome je što Python brzo nailazi na probleme s izvedbom kad se složenost poveća. Brzo generiranje grafike nije ono što Python najbolje radi. Međutim, budući da je Python vrlo dobar za stvaranje logike i prilično je popularan, imate mnogo mogućnosti za pokretanje okvira napisanih na C++.

Da bi ovo uspjelo za motore za 3D igre, ne možete raditi sve kao što obično radite u Pythonu. Većina okvira stvara omot za svoje knjižnice C ++. Morat ćete smisliti kako kompajlirati kako bi Python mogao opozvati ovaj omot. Oni u dokumentaciji pokrivaju kako se vrši kompajliranje s omotom Python.

Izbor stila i jezika

Prije početka razmislite je li vaša igra platformer, pucač u prvom licu ili dijalog. Možda ćete stvoriti igru ​​koja izaziva intelektualne vještine. Ovo ne treba grafiku visokih performansi. Poanta je u tome da ćete prije početka morati znati što pokušavate postići. Možda ste naviknuti na Python za programiranje. Ali ako želite stvoriti igre s puno efekata, trebali biste razmotriti druge programske jezike. Veliki je napor naučiti novi jezik, ali također je izuzetno zadovoljavajući kada prođete početnu prepreku osnova. Vrijeme kada redovita dokumentacija ima smisla, čak i na brzinu.

Vezovi, knjižnice za razmatranje

Da biste izrađivali igre, morat ćete stvoriti grafiku, izbornike i zvuk. Postoji nekoliko knjižnica i Python veza za rješavanje ovih slučajeva. Jedna od najčešćih tih knjižnica je SDL2, koja programerima daje izravan pristup video bufferu, audio izlazu, mišu i tipkovnici. Bez njih će vaša igra morati koristiti uobičajene rutine, što ponekad može biti sporo. Prva verzija još postoji, ali SDL2 ima sve potrebne uređaje.

SFML2 ima sličnu ulogu kao i većina multimedijskih funkcija i spaja sve funkcije. Suprotno tome, SDL2 sadrži mnogo manjih dijelova koje trebate jedan po jedan uvući u svoj kod.

Za Python trebat će vam paketi PySDL2 i PySFML2.

PyOgre

Dizajneri PyOgre-a napisali su Ogreov okvir na C ++-u s omotom za Python. Omotač je ugrađeni omot. Stari projekt i dalje je dostupan na webu. Slijeđenje vodiča može biti korisno, ali budite oprezni, jer neće sve dostupno na mreži biti točno. Ogre ima klase za mnoge svjetske objekte, dajući vam sloj na vrhu OpenGL-a i Direct3D-a.

Ogre radi sa scenama i može stvoriti svu grafiku koja će vam trebati za vašu igru. Moduli PyOgre rade za verzije prije verzije Ogre v1.05. Nakon toga, dostupni su i drugi moduli. Softver Ogre uključuje Python skripte za uvoz podataka iz Blendera u Ogre. To omogućuje stvaranje vaših resursa u Blenderu za vašu igru. Na raspolaganju su i drugi izvoznici.

http: // wiki.ogre3d.org /

Allegro

Allegro se bavi svim teškim potezima stvaranja prozora, prihvaćanja korisničkog unosa, crtanja slika i reprodukcije zvukova - sve značajke korisne za videoigre i multimedijske programe. Dizajneri Allegroa ne tvrde da je ovaj program pokretač igara, ali je koristan za izradu igara.

Budući da je Allegro izgrađen na C ++, morat ćete stvoriti omot da biste koristili ovaj program u Pythonu. Ovaj korak možete izvršiti sastavljanjem iz izvora. Proces stvara klase u datoteci koja se zove allegro.py. Nakon što dovršite ovaj korak, možete odabrati predmete iz te datoteke, ali preporučuje se da pročitate i redovitu dokumentaciju o načinu rada ovog programa. To može zakomplicirati postupak, ali učenje C ++-a također je dosadan posao.

https: // github.com / liballeg / allegro5

Armory 3D - Blender ekstenzija

Ovaj paket koristi Blender kao razvojnu platformu i HAXE kao programski jezik. Da, morat ćete se prebaciti na Haxe, ali neke postojeće logike igara možete pretvoriti iz Pythona. Armory3D djeluje unutar Blendera kao proširenje, gdje možete stvoriti sve svoje resurse za igru.

Iako se Armory 3D ne izvodi na Pythonu, ipak pažljivo razmislite o ovom programu, jer s ovim alatom možete vrlo brzo započeti. https: // armory3d.org /

Urho3D

Ovaj paket koristi Blender kao razvojnu platformu, a HAXE kao programski jezik. Opet, morat ćete se prebaciti na Haxe, ali neke postojeće logike igara možete pretvoriti iz Pythona. Armory3D djeluje unutar Blendera kao proširenje, gdje možete stvoriti sve svoje resurse za igru.

Iako se Urho3D ne izvodi na Pythonu, pažljivo razmislite i o ovom programu, jer s ovim alatom možete vrlo brzo započeti. https: // armory3d.org /

Ursina

Ursina je napisana na Pythonu, a izgrađena je na Panda3D. Ovaj je alat dizajniran za pružanje mnogih primitiva, poput kocke, kugle itd., kako biste što prije mogli prijeći na samu igru. Panda3D dubinski radi, a Ursina vam daje gotove programske funkcije. Klasa igrača daje vam mogućnosti registriranja pritisnutih tipki i kretanja miša.

Većina funkcija je intuitivna za upotrebu s jasnim imenima i lako razumljivim funkcijama. Moći ćete brzo započeti sa svojom igrom ako koristite ovaj alat za stvaranje igara. Ursina također ima alate za pretvaranje mješavina i psd datoteka.

https: // github.com / pokepetter / ursina

Blender Game Engine (?)

Prije verzije 2.79, Blender je imao ugrađen motor za igre. U kasnijim verzijama, međutim, dizajneri su odlučili ukloniti motor igre iz standardne verzije i usredotočiti se na animacije. Dakle, ljudi iz UPBGE-a odlučili su stvoriti vlastito proširenje koje radi unutar Blendera. Stoga možete koristiti Blender za izradu cijele igre. Kako je to povezano s razvojem Python igara?

BPGE ima API koji vam omogućuje pristup svim podacima koje kreirate tijekom rada u Blenderu. Možete koristiti konzolu unutar Blendera za pristup i testiranje API-ja. Zapravo biste na ovaj način mogli napisati cijeli program, ali to možda nije najbolji izbor za vaše potrebe. U najmanju ruku, imat ćete spremne sve resurse i onako kako želite od trenutka kada ih stvorite.

GODOT - GDscript, NE Python

Ako želite napisati igru ​​i sviđa vam se Python, također možete koristiti GODOT. Ovaj je jezik vrlo sličan Pythonu, samo što je posebno namijenjen pisanju igara.

Zaključak

U Pythonu postoji mnogo okvira za pisanje igara. Ako želite stvoriti 3D igre visokih performansi, trebali biste ozbiljno razmotriti učenje drugih jezika za te igre. Provjerite omogućuje li vam odabir programa da slijedite svoju izvornu ideju igre. Ako je potrebno, prilagodite svoj programski jezik svojoj osobnoj viziji.

Kako koristiti AutoKey za automatizaciju Linux igara
AutoKey je uslužni program za automatizaciju radne površine za Linux i X11, programiran na Python 3, GTK i Qt. Koristeći njegovu skriptiranje i MACRO ...
Kako prikazati brojač FPS-a u Linux igrama
Linux gaming dobio je velik poticaj kada je Valve najavio Linux podršku za Steam klijent i njihove igre 2012. godine. Od tada su mnoge AAA i indie igr...
Kako preuzeti i igrati Sid Meier's Civilization VI na Linuxu
Uvod u igru Civilization 6 moderan je pogled na klasični koncept predstavljen u seriji igara Age of Empires. Ideja je bila prilično jednostavna; započ...