Tie 3D-peliohjelmointiin (mistä liikkeelle?)
-
- Newcomer
- Posts: 16
- Joined: Wed Oct 10, 2007 9:18 pm
Tie 3D-peliohjelmointiin (mistä liikkeelle?)
Pelasin jonkin aikaa sitten peliä nimeltä Deus Ex: Human Revolution, ja sen innoittamana aloin ideoimaan salainen agentti -peliä, joka muista poiketen olisi toteutettu täysin siten kuin minä haluan. No anyway. Coolbasic on lähestulkoon ainoa ohjelmointikieli, jolla olen ohjelmoinut. Se on oikeastaan ainoa kieli, jota voin sanoa osaavani. Olen koodannut sillä mm. yksinkertaisen tasohyppelyräiskinnän, jossa kokonainen kenttä voidaan tehdä yksinkertaisesti tilemappina laittamalla vihollisten paikat ym. tarvittavat jutut kartan datakerrokseen. Olen tehnyt myös joitakin ei-peli-projekteja, kuten pari funktiota, jotka tarkistavat onko sudoku täytetty oikein, sekä siihen liittyen ohjelman, joka pystyy generoimaan täytetyn sudokun. Eli aikalailla perusjuttuja. Coolbasicin lisäksi olen katsellut pythonin peruskomennot läpi, mutta ne toimivat suunnilleen samoin kuin basicitkin yleensä. Eli osaisin esimerkiksi tehdä tuon sudokuohjelman pythonilla, logiikka olisi tietenkin ihan sama, joten siinä ei olisi mitään ihmeellistä. Olio-ohjelmointiin en ole tutustunut juuri yhtään. Ainakaan en ole tajunnut siitä yhtään mitään. Koetin joskus opetella C++:aa, mutta homma kaatui lähinnä siihen, että missään ei ollut ohjeita alkuun pääsemiseksi. En siis saanut edes Hello Worldia suoritettua, koska missään ei ollut kunnon ohjeita käytännön jutuista. Coolbasicin kanssa pitää asentaa yksi ohjelma, avata se, ja voi alkaa kirjoittaa koodia. F5 suorittaa kirjoitetun ohjelman. C++-yritysten kanssa pääsin johonkin mystiseen editoriin, jossa en tiennyt minne koodi kirjoitetaan, tai miten ohjelma suoritetaan.
Asiaan. Haluaisin siis tietää, mikä olisi helpoin tapa opetella koodaamaan kolmiulotteinen peli. Pitäisi löytää ohjelmointikieli. Sen ei välttämättä tarvitsisi olla helpoin, mutta siihen pitäisi olla todella hyvät oppimateriaalit saatavilla (vrt. Coolbasic-dokumentaation hyvyys). Lisäksi sillä pitäisi pystyä tuottamaan 3D-juttuja järkevästi, siten että ne pyörisivät normaaleilla koneilla hyvin. Käytännössä siis jokin kieli, jonka oppimisen jälkeen ei olisi edessä siirtyminen toiseen kieleen, koska alkuperäinen kieli on liian vanhentunut ja huono haluttujen juttujen toteuttamiseen. Jos olen oikein käsittänyt, niin 3D:n toteutus ei kylläkään taida sisältyä mihinkään kieleen vakiona, joten käytännössä pitäisi opetella ensin jokin kieli, ja sitten löytää sille jonkun tekemä 3D-moottorilisäosa, joka olisi vielä tarpeeksi hyvä ja tarpeeksi helposti omaksuttava, ja opetella se.
Pythoniin on ilmeisesti jotain 3D-lisää saatavilla, ja pythoniin on ainakin paljon ohjeita. Jos aiotaan tehdä jotain kunnollista, olisiko python vaihtoehto? Mitä muita vaihtoehtoja on? Ja mielellään jos jollain on jotain ohjeistusta mihin kannattaa suuntautua jos peliohjelmointi kiinnostaa, niin antaa kuulua.
Asiaan. Haluaisin siis tietää, mikä olisi helpoin tapa opetella koodaamaan kolmiulotteinen peli. Pitäisi löytää ohjelmointikieli. Sen ei välttämättä tarvitsisi olla helpoin, mutta siihen pitäisi olla todella hyvät oppimateriaalit saatavilla (vrt. Coolbasic-dokumentaation hyvyys). Lisäksi sillä pitäisi pystyä tuottamaan 3D-juttuja järkevästi, siten että ne pyörisivät normaaleilla koneilla hyvin. Käytännössä siis jokin kieli, jonka oppimisen jälkeen ei olisi edessä siirtyminen toiseen kieleen, koska alkuperäinen kieli on liian vanhentunut ja huono haluttujen juttujen toteuttamiseen. Jos olen oikein käsittänyt, niin 3D:n toteutus ei kylläkään taida sisältyä mihinkään kieleen vakiona, joten käytännössä pitäisi opetella ensin jokin kieli, ja sitten löytää sille jonkun tekemä 3D-moottorilisäosa, joka olisi vielä tarpeeksi hyvä ja tarpeeksi helposti omaksuttava, ja opetella se.
Pythoniin on ilmeisesti jotain 3D-lisää saatavilla, ja pythoniin on ainakin paljon ohjeita. Jos aiotaan tehdä jotain kunnollista, olisiko python vaihtoehto? Mitä muita vaihtoehtoja on? Ja mielellään jos jollain on jotain ohjeistusta mihin kannattaa suuntautua jos peliohjelmointi kiinnostaa, niin antaa kuulua.
Re: Tie 3D-peliohjelmointiin (mistä liikkeelle?)
Kannattanee kulkea Javan (örr, JOGL?) tai C#:n (XNA) kautta C++:aan, ymmärtääkseni Itse taitan tällaista polkua parhaillaan.
Amazonilta löytyy kivasti kirjoja kaikista kolmesta. Allekirjoittaneella on parhaillaan tämä työn alla ja DirectX:stä kirja tulossa. Jos nettitutoriaaleista uskot jotain oppivasi, ohjelmointiputkassa on kiva C++-opas, joka pitää kädestä vähän enemmän kuin kuuluisa Hassun Hauska C++-opas, ja lopuista on materiaalia DICissä.
Amazonilta löytyy kivasti kirjoja kaikista kolmesta. Allekirjoittaneella on parhaillaan tämä työn alla ja DirectX:stä kirja tulossa. Jos nettitutoriaaleista uskot jotain oppivasi, ohjelmointiputkassa on kiva C++-opas, joka pitää kädestä vähän enemmän kuin kuuluisa Hassun Hauska C++-opas, ja lopuista on materiaalia DICissä.
Asus P8P67 LE/Intel Core i5 2500K/ GTX560/ 8GT RAM/750GT HDDt + 120GT SSD + 13" Macbook Pro
Blogi - Peräpohjola - MERPG
Blogi - Peräpohjola - MERPG
- Sami The Great
- Advanced Member
- Posts: 485
- Joined: Tue Aug 28, 2007 4:15 pm
- Contact:
Re: Tie 3D-peliohjelmointiin (mistä liikkeelle?)
3D-ominaisuudet kannattaa toteuttaa opengl.llä tai directx:llä, koska ne ovat tarpeeksi nopeita ja laadukkaita. Suoraa en kuitenkaan niitä käyttäisi, vaan jokin kirjasto välissä olisi hyvä olla. C++ on tällä hetkellä se käytetyin kieli 3D peleissä, joten suosittelen sen harjoittelemista. Hyvä grafiikkakirjasto on Ogre3D, jolla onnistuu helposti todella hienotkin renderöinnit. Tarvitset myös jonkin fysiikkakirjaston. Vaikka physx tai newton. Ogrea muistaakseni voi myös käyttää ainakin javalla ja pythonilla. Kannattaa ladata kuitenkin ms visual studio express ilmaiseksi ja aloittaa harjoitella c++:aa. Hyviä oppaita kyllä löytyy netistä paljon.
http://www.rockodilegames.com
CoolBasickin käyttäjä vuodesta 2004.
CoolBasickin käyttäjä vuodesta 2004.
Re: Tie 3D-peliohjelmointiin (mistä liikkeelle?)
Itse sousittelen kirottua Darkbasici:a. Hyvin yksinkertainen ja tarpeeksi tehokas. Huonona puolena on bugien määrä ja rahastava yhtiö =/
Coolbasicin syntaksi on hyvin samankaltainen. Lisäksi Darkbasic tukee esimerkiksi edellä mainittua Newton fysiikka kirjastoa!
Coolbasicin syntaksi on hyvin samankaltainen. Lisäksi Darkbasic tukee esimerkiksi edellä mainittua Newton fysiikka kirjastoa!
Re: Tie 3D-peliohjelmointiin (mistä liikkeelle?)
Sinun tilanteessasi suosittelisin ehkä kokeilemaan basic-kieliä ennemmin kuin C++:aa. Ei se C++ ole mikään itseisarvo: sitä käytetään lähinnä sen takia, että sillä saa aikaan erittäin nopeaa koodia, jos osaa, ja lisäksi sille on paljon kirjastoja. Toisaalta jos ei osaa, niin sillä on aika helppo ampua itseään jalkaan.
-
- Devoted Member
- Posts: 718
- Joined: Wed Nov 03, 2010 7:56 pm
- Location: Joku piste pohjoisessa.
Re: Tie 3D-peliohjelmointiin (mistä liikkeelle?)
Itse olen kokenut että java on suhteellisen helppo kieli aloittelevalle olio-ohjelmoijalle, ja siihen kun vielä lyö jonkin graafisen kirjaston opengl:llä (vaikka LWJGL, itse ainakin käytän ja niin myös Notch/Jeb/Minecraftin devit) Editorina suosittelen Eclipseä. Pääset alkuun helposti tällä lwjgl+eclipse tutolla ja tässä esiintyvillä oppailla. Ei, helpompaa tietä olio-ohjelmoinnin maailmaan ei ole, mutta jos basicissa meinaat pysyä niin käytä BlizBasicia tai DarkBasicia.
<Ize> Pitäs tehä allekirjotus..
<Ize> Vois keksiä jonkin nasahtavan sanonnan..
<Ize> Siitä tulis upea legenda ja kaikki vaihtaisivat allekirjoituksensa siihen.
<Ize> Ehkä ei kuitenkaa...
<Ize> Vois keksiä jonkin nasahtavan sanonnan..
<Ize> Siitä tulis upea legenda ja kaikki vaihtaisivat allekirjoituksensa siihen.
<Ize> Ehkä ei kuitenkaa...
- Sami The Great
- Advanced Member
- Posts: 485
- Joined: Tue Aug 28, 2007 4:15 pm
- Contact:
Re: Tie 3D-peliohjelmointiin (mistä liikkeelle?)
Olio-ohjelmointiin kyllä suosittelen tutustumaan, koska sen avulla saa tehtyä erittäin selkeää ja uudelleen käytettävää koodia, kunhan ensin opettelee sen käytön. Sen jälkeen, kun sen on oppinut niin ei enää tee mieli koodata ilman olioita. Javalla tosiaan voi myös aloittaa olio-ohjelmoinnin, vaikka kylläkin 3D-tuki peleille (jota ketjun aloittaja haki) on huomattavasti suppeampi, kuin C++:lla. Eclipse on hyvä IDE javalle, mutta LWJGL:n sijaa suosittelisin LibGDX:ää, joka pohjautuu LWJGL:n, mutta se sisältää paljon valmiita lisäominaisuuksia, kuten törmäystunnistuksen ja tilemapit jne.. DarkBasic:n ja BlitzBasic:n itse jätin väliin, koska kumpikin sisältää jo hyvin vanhentunutta tekniikkaa. Esim. DarkBasic käyttää edelleen renderöintiin DirectX 8.1 versiota, joka alkaa olemaan jo aikansa elänyt. Grafiikan laatu on ihan eri luokkaa, kuin esim. Ogressa.
Voit jo silmämääräisesti verrata miten hyvin eri versiot pystyy renderöimään 3D-kuvaa:
DarkBasic:
BlitzBasic:
OGRE3D
Voit jo silmämääräisesti verrata miten hyvin eri versiot pystyy renderöimään 3D-kuvaa:
DarkBasic:
BlitzBasic:
OGRE3D
http://www.rockodilegames.com
CoolBasickin käyttäjä vuodesta 2004.
CoolBasickin käyttäjä vuodesta 2004.
Re: Tie 3D-peliohjelmointiin (mistä liikkeelle?)
>Yleistää screenshottien perusteellaSami The Great wrote:Voit jo silmämääräisesti verrata miten hyvin eri versiot pystyy renderöimään 3D-kuvaa:
DX8:n ja DX9:n ero on lähinnä se, että kasissa on heikompi shaderituki. Kyllähän Half-Life 2:a ynnä kumppaneita voi ajaa DX8-moodissa grafiikan laadun kummemmin kärsimättä.
Re: Tie 3D-peliohjelmointiin (mistä liikkeelle?)
Päätit ottaa sitten screenshotin, jossa ei ollut käytetty DirectX Shader tegnologia....Sami The Great wrote:Olio-ohjelmointiin kyllä suosittelen tutustumaan, koska sen avulla saa tehtyä erittäin selkeää ja uudelleen käytettävää koodia, kunhan ensin opettelee sen käytön. Sen jälkeen, kun sen on oppinut niin ei enää tee mieli koodata ilman olioita. Javalla tosiaan voi myös aloittaa olio-ohjelmoinnin, vaikka kylläkin 3D-tuki peleille (jota ketjun aloittaja haki) on huomattavasti suppeampi, kuin C++:lla. Eclipse on hyvä IDE javalle, mutta LWJGL:n sijaa suosittelisin LibGDX:ää, joka pohjautuu LWJGL:n, mutta se sisältää paljon valmiita lisäominaisuuksia, kuten törmäystunnistuksen ja tilemapit jne.. DarkBasic:n ja BlitzBasic:n itse jätin väliin, koska kumpikin sisältää jo hyvin vanhentunutta tekniikkaa. Esim. DarkBasic käyttää edelleen renderöintiin DirectX 8.1 versiota, joka alkaa olemaan jo aikansa elänyt. Grafiikan laatu on ihan eri luokkaa, kuin esim. Ogressa.
Voit jo silmämääräisesti verrata miten hyvin eri versiot pystyy renderöimään 3D-kuvaa:
http://www.youtube.com/watch?v=HJEGUSGKF-w
http://www.youtube.com/watch?feature=en ... HH2fE&NR=1
Tiedän kyllä, että teknologia on vanhentunutta, mutta itse näyttämisi esimerkkissä ei ollut esimerkiksi käytetty ollenkaan Shader:ta.
Niiden avulla pelistä saa kohtalaisen näköisen.
- Sami The Great
- Advanced Member
- Posts: 485
- Joined: Tue Aug 28, 2007 4:15 pm
- Contact:
Re: Tie 3D-peliohjelmointiin (mistä liikkeelle?)
Shadertuki nimenomaan on se asia joka on nykyään tärkeä, kun niillä saa tehtyä niin paljon graafisia toimenpiteitä. Kyllähän tuo 8.1-versio on oikeasti jo vanha, koska se on julkaistu vuonna 2002. Jos mietit minkä tasoista grafiikkaa sen ajan peleissä on ollut niin jää ne kyllä aika paljon jälkeen nykyisen ajan DX11-grafiikoista. Tietenkin DX9 on viimeisin versio, joka toimii vanhemmissa käyttiksissä. Kyllähän noilla vanhemillakin systeemeillä saa aikaan kaikkea kivaa, mutta itse en ainakaan 10 vuotta vanhaa tekniikkaa rupeisi turhaan käyttämään, kun tarjolla paljon uudempaakin. Kyllä minusta DarkBasic ja Blitz on jo aikansa elänyt, ellei niihin tule päivityksiä. Kannattaa muuten katsoa jMonkeyEngine, jos Java onnistuu.esa94 wrote:>Yleistää screenshottien perusteellaSami The Great wrote:Voit jo silmämääräisesti verrata miten hyvin eri versiot pystyy renderöimään 3D-kuvaa:
DX8:n ja DX9:n ero on lähinnä se, että kasissa on heikompi shaderituki. Kyllähän Half-Life 2:a ynnä kumppaneita voi ajaa DX8-moodissa grafiikan laadun kummemmin kärsimättä.
http://www.rockodilegames.com
CoolBasickin käyttäjä vuodesta 2004.
CoolBasickin käyttäjä vuodesta 2004.
Re: Tie 3D-peliohjelmointiin (mistä liikkeelle?)
Se nyt kuitenkin sattuu johtumaan raudan tehoista eikä softan. Vaikka kuinka porttaisit DX11:n vanhalle koneelle ei se silti jaksa pyörittää uusia pelejä, mutta toisaalta DX8-peli toimii vallan mainiosti uudella raudalla ja modeilla. Tessellaationkin voi tehdä DX8:ssa, sitä ei vaan satuttu em. tehosyistä sinä DX8:n aikana tekemään.Sami The Great wrote:Jos mietit minkä tasoista grafiikkaa sen ajan peleissä on ollut niin jää ne kyllä aika paljon jälkeen nykyisen ajan DX11-grafiikoista.
Lakkaa nyt syyllistämästä softaa ja keskity, Joni.
-
- Newcomer
- Posts: 16
- Joined: Wed Oct 10, 2007 9:18 pm
Re: Tie 3D-peliohjelmointiin (mistä liikkeelle?)
Katselin hieman C++:n perusteita ohjelmointiputkan oppaan kanssa. Muutama eka sivu oli ainakin helpon oloista. Päätin kuitenkin sitten suuntautua pythoniin, koska sillä pääsen luultavasti nopeammin "tositoimiin". Ja tosiaan mainittu http://www.python-ogre.org/ mahdollistaa sitten 3D-pelleilyt pythonilla. Ja sillä saa tehtyä linuxillekin, mikä on tietysti plussaa.
Kohta on ohjelmointiputkan python-opas läpäisty. Aikalailla alkeissa siis mennään, ehkä pitäisi etsiä lisää oppimateriaalia ennen kuin alan ihmetellä python-ogrea. Tosiaan ihan harrastuksena koodailen. Nyt vielä kesäloma menossa, mutta parin viikon päästä alkaa koulu (ei tietotekniikkaan liittyvä) joten sitten koodailuista tulee satunnaisempia. Postailen vaikka tähän threadiin joskus miten opetteluprojektini edistyy.
Kohta on ohjelmointiputkan python-opas läpäisty. Aikalailla alkeissa siis mennään, ehkä pitäisi etsiä lisää oppimateriaalia ennen kuin alan ihmetellä python-ogrea. Tosiaan ihan harrastuksena koodailen. Nyt vielä kesäloma menossa, mutta parin viikon päästä alkaa koulu (ei tietotekniikkaan liittyvä) joten sitten koodailuista tulee satunnaisempia. Postailen vaikka tähän threadiin joskus miten opetteluprojektini edistyy.
Re: Tie 3D-peliohjelmointiin (mistä liikkeelle?)
Screenshot-/video-vertailu on aika turhaa, koska kielen ominaisuuksilla ei ole suuremmin väliä opiskelun alkuvaiheessa. Perusasiat voi opiskella millä tahansa kielellä ja siirtyä sitten hienompiin kirjastoihin ja kieliin, kun taidot ja/tai tavoitteet kasvaa.
Re: Tie 3D-peliohjelmointiin (mistä liikkeelle?)
Jos C++/C tai vastaava ei ole ennestään yhtään tuttu, niin ehkä sillä ei ainakaan ensimmäiseksi kannattaisi lähteä tekemään 3D-pelejä.
Mutta kuitenkin, noista edellämainituista kielistä/kirjastoista ei minulla ole muuta kokemusta kuin OGRE:sta ja sen lisäksi Irrlichtistä jonkin verran. Pidän ogrea periaatteessa suorituskykyisempänä kuin Irrlicht, mutta vaikeammin lähestyttävämpänä. Ja ehkä juurikin ensimmäisen projektin osalta menisin siitä missä opettelukynnys on matalin.
Toisaalta juuri sitä 3D-pelin tekemistä varten en ainakaan itse suosittelisi Irrlichtiä enkä OGRE:a koska kumpikin niistä on oikeastaan pääasiassa keskittynyt 3D-renderöintiin eikä suoraan tarjoa ainakaan kaikkia muita oleellisia asioita pelien tekemisessä. Niistä puuttu yleensä suurin osa muista pelissä tarvittavista ominaisuuksista kuten logiikka, fysiikat jne. Joten kannattaisi ehkä aloittaa jollain valmiimmalla ratkaisulla/pelimoottorilla.
Jos javasta sattuu pitämään niin ainakin mitä itse jonkin aikaan sitten kokeilin, niin jMonkeyEngine vaikuttaa ihan mielenkiintoiselta vaihtoehdolta.
Jos kuitenkin C++ puolella haluaa pysytäyttyä niin esim. muistaakseni OGRE:een pohjautuva NeoAxis tarjoaa aika vakuuttavan vaihtoehdon ja sen voi ladata harjoittelukäyttöön ilmaiseksi. Jos pelin jossain viraallisesti julkaiset tarvitset kyllä lisenssin.
Ja jos en ole väärässä niin Unity:lläkin on jonkin näköinen C++/C# rajapinta? Unity on kuintekin aika käytetty ja tarjoaa samalla mahdollisuuden julkaista peli helposti monellekin alustalle. Sen lisenssistä en sitten ole varma.
Se pitempi vaihtoehto on sitten hypätä vaikka jomman kumman, OGRE:n tai Irrlicht:n kelkkaan ja implementoida itse fysiikat jne joka tosin on suhteellisen vaivatonta koska noille molemmille löytyy varmaan parikin valmista wrapperia esim. Bullet-physics kirjastolle.
Mitä noihin yleisimpiin kieliin: Java, C/C++, C# jne. tulee niin niistä löytyy kyllä dokumentaatiota monilla kielillä pilvin pimein joten se tuskin on ongelma.
Mutta kuitenkin, noista edellämainituista kielistä/kirjastoista ei minulla ole muuta kokemusta kuin OGRE:sta ja sen lisäksi Irrlichtistä jonkin verran. Pidän ogrea periaatteessa suorituskykyisempänä kuin Irrlicht, mutta vaikeammin lähestyttävämpänä. Ja ehkä juurikin ensimmäisen projektin osalta menisin siitä missä opettelukynnys on matalin.
Toisaalta juuri sitä 3D-pelin tekemistä varten en ainakaan itse suosittelisi Irrlichtiä enkä OGRE:a koska kumpikin niistä on oikeastaan pääasiassa keskittynyt 3D-renderöintiin eikä suoraan tarjoa ainakaan kaikkia muita oleellisia asioita pelien tekemisessä. Niistä puuttu yleensä suurin osa muista pelissä tarvittavista ominaisuuksista kuten logiikka, fysiikat jne. Joten kannattaisi ehkä aloittaa jollain valmiimmalla ratkaisulla/pelimoottorilla.
Jos javasta sattuu pitämään niin ainakin mitä itse jonkin aikaan sitten kokeilin, niin jMonkeyEngine vaikuttaa ihan mielenkiintoiselta vaihtoehdolta.
Jos kuitenkin C++ puolella haluaa pysytäyttyä niin esim. muistaakseni OGRE:een pohjautuva NeoAxis tarjoaa aika vakuuttavan vaihtoehdon ja sen voi ladata harjoittelukäyttöön ilmaiseksi. Jos pelin jossain viraallisesti julkaiset tarvitset kyllä lisenssin.
Ja jos en ole väärässä niin Unity:lläkin on jonkin näköinen C++/C# rajapinta? Unity on kuintekin aika käytetty ja tarjoaa samalla mahdollisuuden julkaista peli helposti monellekin alustalle. Sen lisenssistä en sitten ole varma.
Se pitempi vaihtoehto on sitten hypätä vaikka jomman kumman, OGRE:n tai Irrlicht:n kelkkaan ja implementoida itse fysiikat jne joka tosin on suhteellisen vaivatonta koska noille molemmille löytyy varmaan parikin valmista wrapperia esim. Bullet-physics kirjastolle.
Mitä noihin yleisimpiin kieliin: Java, C/C++, C# jne. tulee niin niistä löytyy kyllä dokumentaatiota monilla kielillä pilvin pimein joten se tuskin on ongelma.
-
- Newcomer
- Posts: 16
- Joined: Wed Oct 10, 2007 9:18 pm
Re: Tie 3D-peliohjelmointiin (mistä liikkeelle?)
Tossa Python-Ogressa oli kaikenmoista muutakin mukana. Käsitin, että niillä kaiken pitäisi onnistua:
http://www.python-ogre.com wrote:What do I get?
OGRE 1.6.0RC1
OIS 1.2
CEGUI 0.6.1
QuickGUI 0.9.7
ODE 0.10.1
OgreOde 1.0
OgreAL 0.3
betagui 1.7
OgreNewt 1.0
Opcode 1.3
PhysX 2.8.1
NxOgre 1.0-21
bullet 2.70
OgreBullet 1.0
theora 0.5.0
plib 1.8.4
ogreforests 0.1
et 2.2
caelum 0.2.1
noise 1.0
particleuniverse 0.8
cadunetree 0.6
ogrepcz 1.0
hydrax 0.3
Re: Tie 3D-peliohjelmointiin (mistä liikkeelle?)
No tuohan vaikuttaa sitten erittäinkin varteenotettavalta vaihtoehdolta . Varsinkin hyvänä puolena on se, että pythonilla pääset tod. näköisesti paljon nopeammin liikkeelle. Ja varmasti tuon avulla voi sisäistää sen miten OGRE periaatteessa toimii joka taas helpottaa ehkä tulevaisuudessa siirtymistä C++ puolelle, pythonissa kun on omat rajoitteensa.
Re: Tie 3D-peliohjelmointiin (mistä liikkeelle?)
Kuten mitkä? Pythonilla voit halutessasi käyttää C ja C++ -palikoita.vilQuri wrote:pythonissa kun on omat rajoitteensa.
Re: Tie 3D-peliohjelmointiin (mistä liikkeelle?)
No CB:ssähän ei olekkaan mitään rajoitteita kun voi käyttää DLL:iä.Pettis wrote: Kuten mitkä? Pythonilla voit halutessasi käyttää C ja C++ -palikoita.
Python ei ole kyllä raa'assa laskennassa kovinkaan vauhdikas (noin CB:n vauhtinen taitaa olla), mutta kyllä se on varsin näppärä kieli ja sillä saa nopeasti aikaan vaikka mitä.
Re: Tie 3D-peliohjelmointiin (mistä liikkeelle?)
[citation needed]Latexi95 wrote:Python ei ole kyllä raa'assa laskennassa kovinkaan vauhdikas (noin CB:n vauhtinen taitaa olla), mutta kyllä se on varsin näppärä kieli ja sillä saa nopeasti aikaan vaikka mitä.
Re: Tie 3D-peliohjelmointiin (mistä liikkeelle?)
En nyt muista kuka irkin puolella mainitsi tuosta pythonin nopeudesta, mutta tein sinulle testikoodin joka antaa tukea väitteelleni:esa94 wrote: [citation needed]
Code: Select all
startTime = Timer()
count = 0
For i = 1 To 10000
For j = 1 To 10000
count = count + i + 13 - 55*i / j
Next j
Next i
endTime = Timer()
Print "Test took: "+(endTime - startTime) + "ms"
WaitKey
Code: Select all
from time import time
startTime = time()
count = 0
for i in range(1, 10000):
for j in range(1, 10000):
count += i + 13 - 55*i / j
endTime = time()
print "Test took: {0}s".format(endTime - startTime)
EDIT:
Käyttämällä jotain toista ohjelmaa kuin "virallista" pythonia voidaan päästä parempiin nopeuksiin. Esimerkiksi PyPy suoriutui tuosta testistä 12s.
EDIT:
Vastauksena esan viestiin: No sanoinkin että python on aikalailla yhtänopea kuin CB, enkä maininnut että python olisi mitenkään reilusti CB:tä hitaampi (tai yleensäkkään hitaampi kaikissa tapauksissa).
Last edited by Latexi95 on Wed Aug 29, 2012 11:03 pm, edited 1 time in total.