Python

Dobri motorji za 3D igre Python

Dobri motorji za 3D igre Python

Uvod

Iskanje okvira za 3D-igralne mehanizme, izdelane za Python in z njim, se lahko izkaže za zelo težko. Razlog za to je, da Python hitro naleti na težave z zmogljivostjo, ko se zapletenost poveča. Hitro upodabljanje grafike ni tisto, kar Pythonu uspe najbolje. Ker pa je Python zelo dober za ustvarjanje logike in je zelo priljubljen, imate na voljo veliko možnosti za zagon okvirov, napisanih v jeziku C++.

Da bi to delovalo za 3D igralne mehanizme, ne morete storiti vsega, kot bi običajno v Pythonu. Večina ogrodja ustvari ovoj za svoje knjižnice C ++. Morali boste ugotoviti, kako sestaviti, da bo Python lahko priklical ta ovoj. V dokumentaciji so opisani postopki za prevajanje z ovojem Python.

Izbira sloga igre in jezika

Preden začnete, razmislite, ali je vaša igra platformer, prvoosebni strelec ali pogovorno okno. Morda boste ustvarili igro, ki izziva intelektualne veščine. Za to ne potrebujete visokozmogljive grafike. Bistvo je, da boste morali pred začetkom vedeti, kaj poskušate doseči. Python ste morda navajeni za programiranje. Če pa želite ustvariti igre z veliko učinki, razmislite o drugih programskih jezikih. Zelo si je prizadevati za učenje novega jezika, vendar je tudi izjemno zadovoljivo, ko preidete prvotno oviro osnov. Čas, ko je redna dokumentacija smiselna, tudi na hitro.

Vezi, knjižnice za razmislek

Če želite ustvarjati igre, boste morali ustvariti grafiko, menije in zvok. Obstaja več knjižnic in vezav Pythona za obravnavo teh primerov. Ena najpogostejših teh knjižnic je SDL2, ki programerjem omogoča neposreden dostop do medpomnilnika video, avdio izhoda, miške in tipkovnice. Brez njih bo morala vaša igra uporabljati običajne rutine, ki so včasih lahko počasne. Prva različica je še vedno prisotna, vendar ima SDL2 vse potrebne pripomočke.

SFML2 ima podobno vlogo kot večina večpredstavnostnih funkcij in združuje vse funkcije. V nasprotju s tem SDL2 vsebuje veliko manjših kosov, ki jih morate posamezno vleči v kodo.

Za Python boste potrebovali paketa PySDL2 in PySFML2.

PyOgre

Oblikovalci PyOgre so Ogre okvir napisali v jeziku C ++ z ovojem za Python. Ovitek je vgrajen ovoj. Stari projekt je še vedno dostopen na spletu. Upoštevanje vaj je lahko koristno, vendar bodite previdni, saj ne bo vse, kar je na voljo na spletu, pravilno. Ogre ima razrede za številne svetovne predmete, ki vam dajo sloj na vrhu OpenGL in Direct3D.

Ogre deluje s prizori in lahko ustvari vso grafiko, ki jo boste morda potrebovali za igro. Moduli PyOgre delujejo za različice pred različico Ogre v1.05. Po tem so na voljo še drugi moduli. Programska oprema Ogre vključuje skripte Python za uvoz podatkov iz Blenderja v Ogre. Tako lahko v Blenderju ustvarite vire za svojo igro. Na voljo so tudi drugi izvozniki.

http: // wiki.ogre3d.org /

Allegro

Allegro se ukvarja z vsemi težavami pri ustvarjanju oken, sprejemanju uporabniškega vnosa, risanju slik in predvajanju zvokov - vse funkcije, ki so uporabne za videoigre in večpredstavnostno programiranje. Oblikovalci Allegro ne trdijo, da je ta program motor za igre, je pa koristen za izdelavo iger.

Ker je bil Allegro zgrajen v jeziku C ++, boste morali ustvariti ovoj, da boste lahko uporabljali ta program v Pythonu. Ta korak lahko izvedete tako, da sestavite iz vira. Postopek ustvari razrede v datoteki z imenom allegro.py. Ko končate ta korak, lahko izberete razrede iz te datoteke, vendar je priporočljivo, da preberete tudi redno dokumentacijo, kako deluje ta program. To lahko zaplete postopek, toda učenje C ++ je tudi naporno delo.

https: // github.com / liballeg / allegro5

Armory 3D - podaljšek mešalnika

Ta paket uporablja Blender kot razvojno platformo in HAXE kot programski jezik. Da, morali boste preklopiti na Haxe, vendar lahko pretvorite nekatere obstoječe logike iger iz Pythona. Armory3D deluje znotraj Blenderja kot podaljšek, kjer lahko ustvarite vse svoje vire za igro.

Čeprav Armory 3D ne deluje na Pythonu, kljub temu skrbno razmislite o tem programu, saj lahko s tem orodjem začnete zelo hitro. https: // armory3d.org /

Urho3D

Ta paket uporablja Blender kot razvojno platformo, HAXE pa kot programski jezik. Spet boste morali preklopiti na Haxe, vendar lahko pretvorite nekaj obstoječih logik iger iz Pythona. Armory3D deluje znotraj Blenderja kot podaljšek, kjer lahko ustvarite vse svoje vire za igro.

Čeprav Urho3D ne deluje na Pythonu, dobro preučite tudi ta program, saj lahko s tem orodjem začnete zelo hitro. https: // armory3d.org /

Ursina

Ursina je napisana v Pythonu in zgrajena na Panda3D. To orodje je zasnovano za zagotavljanje številnih primitivov, kot so kocka, krogla itd., tako da lahko čim prej preidete na samo igro. Panda3D globoko dela, Ursina pa vam nudi že pripravljene programske funkcije. Predvajalnik vam omogoča, da registrirate pritisnjene tipke in premike miške.

Večina funkcij je intuitivnih za uporabo z jasnimi imeni in lahko razumljivimi funkcijami. Če uporabite to orodje za ustvarjanje iger, boste lahko hitro začeli z igro. Ursina ima tudi orodja za pretvorbo mešanic in psd datotek.

https: // github.com / pokepetter / ursina

Blender Game Engine (?)

Pred različico 2.79, Blender je imel vgrajen igralni stroj. V poznejših različicah pa so se oblikovalci odločili, da bodo igralni stroj odstranili iz standardne gradnje in se osredotočili na animacije. Tako so se ljudje v UPBGE odločili, da bodo ustvarili svojo lastno razširitev, ki deluje znotraj Blenderja. Zato lahko z Blenderjem ustvarite celotno igro. Kako je to povezano z razvojem iger Python??

BPGE ima API, ki vam omogoča dostop do vseh podatkov, ki jih ustvarite med delom v Blenderju. Za dostop in preizkušanje API-ja lahko uporabite konzolo v Blenderju. Pravzaprav bi lahko celoten program napisali na ta način, vendar to morda ni najboljša izbira za vaše potrebe. Vsa sredstva boste imeli pripravljene in takšne, kot jih želite, od trenutka, ko jih ustvarite.

GODOT - GDscript, NE Python

Če želite napisati igro in vam je Python všeč, lahko uporabite tudi GODOT. Ta jezik je zelo podoben Pythonu, le da je posebej namenjen pisanju iger.

Zaključek

V Pythonu je veliko okvirov za pisanje iger. Če želite ustvariti visoko zmogljive 3D igre, bi morali resno razmisliti o učenju drugih jezikov za te igre. Prepričajte se, da vam izbira programa omogoča, da sledite svoji prvotni ideji igre. Če je potrebno, prilagodite svoj programski jezik svoji osebni viziji.

Kako obrniti smer drsenja miške in sledilne ploščice v sistemu Windows 10
Miška in Sledilna ploščicaRačunalništvo ni samo enostavno, ampak bolj učinkovito in manj zamudno. Življenja brez teh naprav si ne moremo predstavljati...
Kako spremeniti miškin kazalec in velikost, barvo in shemo kazalca v sistemu Windows 10
Kazalec miške in kazalec v operacijskem sistemu Windows 10 sta zelo pomembna vidika operacijskega sistema. To lahko rečemo tudi za druge operacijske s...
Brezplačni in odprtokodni igralni mehanizmi za razvoj iger Linux
Ta članek bo zajemal seznam brezplačnih in odprtokodnih igralnih mehanizmov, ki jih je mogoče uporabiti za razvoj 2D in 3D iger v Linuxu. Obstaja veli...