Python

Hyvät 3D Python -pelimoottorit

Hyvät 3D Python -pelimoottorit

Johdanto

Pythonille ja sen kanssa tehtyjen 3D-pelimoottoreiden kehyksen löytäminen voi osoittautua erittäin vaikeaksi. Syynä tähän on se, että Python törmää nopeasti suorituskykyongelmiin monimutkaisuuden kasvaessa. Nopea grafiikan renderointi ei ole se, mitä Python tekee parhaiten. Koska Python on kuitenkin erittäin hyvä logiikan luomisessa ja on melko suosittu, sinulla on monia vaihtoehtoja ajaa C-muodossa kirjoitetut kehykset++.

Jotta tämä toimisi 3D-pelimoottoreille, et voi tehdä kaikkea niin kuin yleensä Pythonissa. Suurin osa kehyksistä luo kääre C ++ -kirjastoilleen. Sinun on selvitettävä, kuinka kääntää, jotta Python voi kutsua tämän kääreen. Ne käsittelevät dokumentaatiossa kuinka kääntää Python-kääreellä.

Pelin tyyli ja kielivalinta

Harkitse ennen aloittamista, onko peli tasohyppely, ensimmäisen persoonan ampuja vai valintaikkunapohjainen. Ehkä luot pelin, joka haastaa älylliset taidot. Tämä ei vaadi korkean suorituskyvyn grafiikkaa. Asia on, että sinun on tiedettävä, mitä yrität saavuttaa, ennen kuin aloitat. Olet ehkä tottunut Pythoniin ohjelmoinnissa. Mutta jos haluat luoda pelejä, joilla on paljon vaikutuksia, sinun on harkittava muita ohjelmointikieliä. Se on suuri ponnistelu uuden kielen oppimiseksi, mutta se on myös erittäin tyydyttävä, kun olet läpäissyt perusasiat. Aika, jolloin tavallinen dokumentointi on järkevää, jopa yhdellä silmäyksellä.

Sidonnat, huomioitavat kirjastot

Pelien tekeminen edellyttää grafiikan, valikoiden ja äänen luomista. Näitä tapauksia on useita kirjastoja ja Python-sidoksia. Yksi yleisimmistä näistä kirjastoista on SDL2, joka antaa ohjelmoijille suoran pääsyn videokehykselle, äänilähdölle, hiirelle ja näppäimistölle. Ilman näitä pelisi on käytettävä säännöllisiä rutiineja, jotka voivat joskus olla hitaita. Ensimmäinen versio on edelleen olemassa, mutta SDL2: lla on kaikki tarvittavat gadgetit.

SFML2: lla on samanlainen rooli kuin useimmilla multimediatoiminnoilla, ja se yhdistää kaikki toiminnot. Sen sijaan SDL2 sisältää monia pienempiä kappaleita, jotka sinun on vedettävä koodiin yksi kerrallaan.

Pythonia varten tarvitset vastaavasti PySDL2- ja PySFML2-paketit.

PyOgre

PyOgren suunnittelijat kirjoittivat Ogre-kehyksen C ++: lla Pythonin kääreellä. Kääre on sisäänrakennettu kääre. Vanha projekti on edelleen saatavilla verkossa. Opetusohjelmien seuraaminen voi olla hyödyllistä, mutta ole varovainen, koska kaikki verkossa olevat tiedot eivät ole oikein. Ogressa on luokkia monille maailman esineille, mikä antaa sinulle kerroksen OpenGL: n ja Direct3D: n päälle.

Ogre toimii kohtausten kanssa ja voi luoda kaiken grafiikan, jota tarvitset pelillesi. PyOgre-moduulit toimivat versioissa, jotka ovat ennen Ogre-versiota v1.05. Sen jälkeen on käytettävissä muita moduuleja. Ogre-ohjelmisto sisältää Python-komentosarjat tietojen tuomiseksi Blenderistä Ogreen. Tämä antaa mahdollisuuden luoda resursseja Blenderiin pelillesi. Myös muut viejät ovat käytettävissä.

http: // wiki.ogre3d.org /

Allegro

Allegro hoitaa kaiken raskaan ikkunoiden luomisen, käyttäjän syötteen hyväksymisen, kuvien piirtämisen ja äänien toistamisen - kaikki ominaisuudet, jotka ovat hyödyllisiä videopelien ja multimediaohjelmointien kannalta. Allegron suunnittelijat eivät väitä, että tämä ohjelma on pelimoottori, mutta se on hyödyllinen pelien tekemiseen.

Koska Allegro on rakennettu C ++ -sovellukseen, sinun on luotava kääre tämän ohjelman käyttämiseksi Pythonissa. Voit suorittaa tämän vaiheen kääntämällä lähteestä. Prosessi luo luokat tiedostoon nimeltä allegro.py. Kun olet suorittanut tämän vaiheen, voit valita luokat tiedostosta, mutta on suositeltavaa, että luet myös ohjelman ohjeet. Tämä voi vaikeuttaa prosessia, mutta C ++: n oppiminen on myös työlästä.

https: // github.fi / liballeg / allegro5

Armory 3D - tehosekoittimen jatke

Tämä paketti käyttää Blenderiä kehitysalustana ja HAXE: ta ohjelmointikielenä. Kyllä, sinun on vaihdettava Haxeen, mutta voit muuntaa jonkin olemassa olevan pelilogiikan Pythonista. Armory3D toimii Blenderin sisällä laajennuksena, jossa voit luoda kaikki resurssit peliin.

Vaikka Armory 3D ei toimi Pythonissa, harkitse kuitenkin tätä ohjelmaa huolellisesti, koska voit aloittaa tämän työkalun kanssa nopeasti. https: // asevarasto3d.org /

Urho3D

Tämä paketti käyttää Blenderiä kehitysalustana ja käyttää HAXE: ta ohjelmointikielenä. Jälleen sinun on vaihdettava Haxeen, mutta voit muuntaa jonkin olemassa olevan pelilogiikan Pythonista. Armory3D toimii Blenderin sisällä laajennuksena, jossa voit luoda kaikki resurssit peliin.

Vaikka Urho3D ei toimi Pythonissa, harkitse myös tätä ohjelmaa huolellisesti, koska voit aloittaa tämän työkalun kanssa nopeasti. https: // asevarasto3d.org /

Ursina

Ursina on kirjoitettu Pythonissa ja rakennettu Panda3D: lle. Tämä työkalu on suunniteltu tarjoamaan monia alkukantaisia, kuten kuutio, pallo jne., jotta voit siirtyä itse peliin mahdollisimman pian. Panda3D tekee syvän työn ja Ursina antaa sinulle valmiit ohjelmatoiminnot. Pelaajaluokka antaa sinulle mahdollisuuden rekisteröidä painetut näppäimet ja hiiren liikkeet.

Suurin osa toiminnoista on intuitiivinen käyttää selkeillä nimillä ja helposti ymmärrettävillä toiminnoilla. Voit aloittaa pelisi käytön nopeasti, jos käytät tätä pelinluontityökalua. Ursinalla on myös työkaluja sekä sekoitus- että psd-tiedostojen muuntamiseen.

https: // github.fi / pokepetter / ursina

Blender-pelimoottori (?)

Ennen versiota 2.79, Blenderillä oli sisäänrakennettu pelimoottori. Myöhemmissä versioissa suunnittelijat päättivät kuitenkin poistaa pelimoottorin vakiorakenteesta ja keskittyä animaatioihin. Joten UPBGE: n ihmiset päättivät luoda oman laajennuksen, joka toimii Blenderissä. Siksi voit käyttää Blenderiä koko pelin luomiseen. Kuinka tämä liittyy Python-pelikehitykseen?

BPGE: llä on sovellusliittymä, jonka avulla voit käyttää kaikkia tietoja, jotka luot Blenderissä työskennellessäsi. Voit käyttää Blenderin sisäistä konsolia API: n käyttämiseen ja testaamiseen. Itse asiassa voit kirjoittaa koko ohjelman tällä tavalla, mutta se ei ehkä ole paras valinta tarpeisiisi. Ainakin sinulla on kaikki resurssit valmiina ja haluamallasi tavalla siitä hetkestä lähtien, kun luot ne.

GODOT - GDscript, EI Python

Jos haluat kirjoittaa pelin ja olet tyytyväinen Pythoniin, voit käyttää myös GODOTia. Tämä kieli on hyvin samanlainen kuin Python, vain se on tarkoitettu erityisesti pelien kirjoittamiseen.

Johtopäätös

Pelien kirjoittamiseen Pythonissa on monia kehyksiä. Jos haluat luoda korkean suorituskyvyn 3D-pelejä, sinun on harkittava vakavasti muiden kielten oppimista kyseisille peleille. Varmista, että valitsemallasi ohjelmalla voit seurata alkuperäistä pelideaasi. Tarvittaessa sovita ohjelmointikieli henkilökohtaiseen visioosi.

How to Develop a Game on Linux
A decade ago, not many Linux users would predict that their favorite operating system would one day be a popular gaming platform for commercial video ...
Open Source Ports of Commercial Game Engines
Free, open source and cross-platform game engine recreations can be used to play old as well as some of the fairly recent game titles. This article wi...
Parhaat komentorivipelit Linuxille
Komentorivi ei ole vain suurin liittolainen Linuxia käytettäessä - se voi olla myös viihteen lähde, koska voit käyttää sitä pelaamaan monia hauskoja p...