Python

Head 3D Pythoni mängumootorid

Head 3D Pythoni mängumootorid

Sissejuhatus

3D-mängumootorite raamistiku leidmine Pythoni jaoks ja koos sellega võib osutuda väga keeruliseks. Selle põhjuseks on see, et keerukuse suurenemisel satub Python kiiresti jõudlusprobleemidesse. Kiire graafiline renderdamine pole see, mida Python kõige paremini teeb. Kuid kuna Python on loogika loomiseks väga hea ja üsna populaarne, on teil palju võimalusi käivitada C-s kirjutatud raamistikke++.

Selle 3D-mängumootorite jaoks toimimiseks ei saa te kõike teha, nagu tavaliselt Pythonis võiksite teha. Enamik raamistikke loob oma C ++ teekidele ümbrise. Peate välja mõtlema, kuidas kompileerida, et Python saaks selle ümbrise meelde kutsuda. Need käsitlevad dokumentatsioonis, kuidas Pythoni ümbrisega kompileerida.

Mängu stiil ja keelevalik

Mõelge enne alustamist, kas teie mäng on platvormi, esimese isiku tulistaja või dialoogipõhine. Võib-olla loote mängu, mis paneb proovile intellektuaalsed oskused. See ei vaja suure jõudlusega graafikat. Asi on selles, et enne alustamist peate teadma, mida proovite saavutada. Programmeerimiseks võite olla Pythoniga harjunud. Kuid kui soovite luua palju efekte sisaldavaid mänge, peaksite kaaluma teisi programmeerimiskeeli. See on suur pingutus uue keele õppimiseks, kuid see on ka äärmiselt rahul, kui olete selle algtõkke algtõkke ületanud. Aeg, mil tavaline dokumentatsioon on isegi kiire pilguga mõistlik.

Köited, arvestatavad raamatukogud

Mängude valmistamiseks peate looma graafika, menüüd ja heli. Nende juhtumite käsitlemiseks on mitu teeki ja Pythoni köitmist. Üks levinumaid neist teekidest on SDL2, mis annab programmeerijatele otsese juurdepääsu videokaadrile, heliväljundile, hiirele ja klaviatuurile. Ilma nendeta peab teie mäng kasutama tavalist rutiini, mis võib mõnikord olla aeglane. Esimene versioon on alles, kuid SDL2-l on olemas kõik vajalikud vidinad.

SFML2 mängib sarnast rolli enamiku multimeediumifunktsioonidega ja paneb kõik funktsioonid kokku. Seevastu SDL2 sisaldab palju väiksemaid tükke, mille peate ükshaaval oma koodi juurde tõmbama.

Pythoni jaoks vajate vastavalt PySDL2 ja PySFML2 pakette.

PyOgre

PyOgre disainerid kirjutasid Ogre raamistiku C ++ keeles koos Pythoni ümbrisega. Mähis on sisseehitatud ümbris. Vana projekt on endiselt veebis saadaval. Õpetuste järgimine võib olla kasulik, kuid olge ettevaatlik, sest kõik veebis saadaval olevad asjad pole õiged. Ogres on klassid paljude maailmaobjektide jaoks, mis annab teile kihi OpenGL ja Direct3D peal.

Ogre töötab stseenidega ja suudab luua kogu oma mängu jaoks vajaliku graafika. PyOgre moodulid töötavad enne Ogre versiooni v1 varasemate versioonide puhul.05. Pärast seda on saadaval muid mooduleid. Ogre tarkvara sisaldab Pythoni skripte andmete importimiseks Blenderist Ogresse. See võimaldab Blenderis oma mängu jaoks oma ressursse luua. Saadaval on ka teised eksportijad.

http: // wiki.ogre3d.org /

Allegro

Allegro tegeleb akende loomise, kasutaja sisendi aktsepteerimise, piltide joonistamise ja helide esitamisega - kõik funktsioonid, mis on kasulikud videomängu ja multimeedia programmeerimiseks. Allegro disainerid ei väida, et see programm oleks mängumootor, kuid see on kasulik mängude valmistamiseks.

Kuna Allegro ehitati C ++ keeles, peate selle programmi kasutamiseks Pythonis looma ümbrise. Selle sammu saate teha allikast koostades. Protsess loob klassid faili nimega allegro.py. Kui olete selle sammu lõpetanud, saate klassid sellest failist valida, kuid on soovitatav lugeda ka selle programmi toimimise tavadokumentatsiooni. See võib protsessi keeruliseks muuta, kuid C ++ õppimine on ka töö.

https: // github.com / liballeg / allegro5

Armory 3D - Blenderi pikendus

Selles paketis kasutatakse arendusplatvormina Blenderit ja programmeerimiskeelena HAXE-d. Jah, peate üle minema Haxele, kuid võite mõne olemasoleva mänguloogika Pythoni teisendada. Armory3D töötab Blenderi sees laiendina, kus saate mängu jaoks luua kõik oma ressursid.

Kuigi Armory 3D ei tööta Pythonis, kaaluge seda programmi siiski hoolikalt, kuna selle tööriistaga saate alustada väga kiiresti. https: // relvastus3d.org /

Urho3D

See pakett kasutab arendusplatvormina Blenderit ja programmeerimiskeelena HAXE-d. Jällegi peate lülituma Haxele, kuid võite mõne olemasoleva mänguloogika Pythonist teisendada. Armory3D töötab Blenderi sees laiendina, kus saate mängu jaoks luua kõik oma ressursid.

Kuigi Urho3D ei käivitu Pythonis, kaaluge ka seda programmi hoolikalt, kuna selle tööriistaga saate alustada väga kiiresti. https: // relvastus3d.org /

Ursina

Ursina on kirjutatud Pythonis ja ehitatud Panda3D-le. See tööriist on loodud pakkuma paljusid primitiivseid liike, näiteks kuupi, kera jne., et saaksite võimalikult kiiresti mängu enda juurde liikuda. Panda3D teeb sügavat tööd ja Ursina annab teile valmis küpsetatud programmi funktsioonid. Mängijaklass annab teile võimaluse vajutatud klahvide ja hiire liigutuste registreerimiseks.

Enamik funktsioone on intuitiivselt kasutatavad koos selgete nimede ja hõlpsasti mõistetavate funktsioonidega. Selle mängu loomise tööriista abil saate oma mänguga kiiresti alustada. Ursinal on ka tööriistad nii blend- kui ka psd-failide teisendamiseks.

https: // github.com / pokepetter / ursina

Blenderi mängumootor (?)

Enne versiooni 2.79, Blenderil oli sisse ehitatud mängumootor. Hilisemates versioonides otsustasid disainerid siiski eemaldada mängumootori standardkoosseisust ja keskenduda animatsioonidele. Niisiis otsustasid UPBGE-i inimesed luua oma laienduse, mis töötab Blenderis. Seetõttu saate Blenderi abil kogu mängu luua. Kuidas see seob Pythoni mängude arendamist?

BPGE-l on API, mis võimaldab teil pääseda juurde kõigile andmetele, mille loote Blenderis töötades. API-le juurdepääsemiseks ja selle testimiseks võite kasutada Blenderi sees asuvat konsooli. Tegelikult võiksite kogu programmi sel viisil kirjutada, kuid see ei pruugi teie vajaduste jaoks parim valik olla. Vähemalt on teil kõik ressursid valmis ja nii, nagu soovite, alates nende loomisest.

GODOT - GDscript, EI Python

Kui soovite mängu kirjutada ja teil on Pythoniga mugav, võite kasutada ka GODOT-i. See keel on Pythoniga väga sarnane, ainult et see on spetsiaalselt mängude kirjutamiseks.

Järeldus

Mängude kirjutamiseks Pythonis on palju raamistikke. Kui soovite luua suure jõudlusega 3D-mänge, peaksite tõsiselt kaaluma nende mängude jaoks teiste keelte õppimist. Veenduge, et teie programmivalik võimaldab teil järgida oma mängu algset ideed. Vajadusel kohandage oma programmeerimiskeel oma isikliku nägemusega.

X-Mouse Button Control abil saate hiire nupud erinevates tarkvarades erinevalt ümber teha
Võib-olla vajate tööriista, mis võiks muuta teie hiire juhtimissüsteemi iga kasutatava rakendusega. Sel juhul võite proovida rakendust nimega X hiiren...
Microsoft Sculpt Touch juhtmeta hiirte ülevaade
Lugesin hiljuti Microsoft Sculpt Touch juhtmevaba hiir ja otsustas selle osta. Pärast mõnda aega kasutamist otsustasin jagada sellega oma kogemusi. Se...
Rakenduse AppyMouse ekraanipaneel ja hiirekursor Windowsi tahvelarvutitele
Tahvelarvutite kasutajad tunnevad hiirekursorit sageli puudust, eriti kui neil on kombeks sülearvuteid kasutada. Puutetundliku ekraaniga nutitelefonid...