Tie 3D-peliohjelmointiin (mistä liikkeelle?)

Muu yhteisön välinen keskustelu.
pietari-poika
Newcomer
Posts: 16
Joined: Wed Oct 10, 2007 9:18 pm

Tie 3D-peliohjelmointiin (mistä liikkeelle?)

Post by pietari-poika » Wed Aug 15, 2012 7:26 pm

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.

User avatar
Feuer
Devoted Member
Posts: 520
Joined: Tue Jun 16, 2009 11:13 am
Contact:

Re: Tie 3D-peliohjelmointiin (mistä liikkeelle?)

Post by Feuer » Wed Aug 15, 2012 7:40 pm

Kannattanee kulkea Javan (örr, JOGL?) tai C#:n (XNA) kautta C++:aan, ymmärtääkseni :P 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ä.
Asus P8P67 LE/Intel Core i5 2500K/ GTX560/ 8GT RAM/750GT HDDt + 120GT SSD + 13" Macbook Pro
Blogi - Peräpohjola - MERPG

User avatar
Sami The Great
Advanced Member
Posts: 485
Joined: Tue Aug 28, 2007 4:15 pm
Contact:

Re: Tie 3D-peliohjelmointiin (mistä liikkeelle?)

Post by Sami The Great » Wed Aug 15, 2012 7:51 pm

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.

User avatar
legend
Advanced Member
Posts: 371
Joined: Wed Nov 18, 2009 9:06 pm

Re: Tie 3D-peliohjelmointiin (mistä liikkeelle?)

Post by legend » Wed Aug 15, 2012 8:00 pm

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!

Dimple
Active Member
Posts: 103
Joined: Wed Nov 17, 2010 6:43 pm

Re: Tie 3D-peliohjelmointiin (mistä liikkeelle?)

Post by Dimple » Wed Aug 15, 2012 8:49 pm

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.

User avatar
naputtelija
Devoted Member
Posts: 718
Joined: Wed Nov 03, 2010 8:56 pm
Location: Joku piste pohjoisessa.

Re: Tie 3D-peliohjelmointiin (mistä liikkeelle?)

Post by naputtelija » Wed Aug 15, 2012 10:14 pm

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.
Pöt Pöt. Java on hidas.
<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...

User avatar
Sami The Great
Advanced Member
Posts: 485
Joined: Tue Aug 28, 2007 4:15 pm
Contact:

Re: Tie 3D-peliohjelmointiin (mistä liikkeelle?)

Post by Sami The Great » Wed Aug 15, 2012 10:53 pm

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:
Image
BlitzBasic:
Image
OGRE3D
Image
http://www.rockodilegames.com
CoolBasickin käyttäjä vuodesta 2004.

User avatar
esa94
Guru
Posts: 1855
Joined: Tue Sep 04, 2007 5:35 pm

Re: Tie 3D-peliohjelmointiin (mistä liikkeelle?)

Post by esa94 » Thu Aug 16, 2012 3:25 pm

Sami The Great wrote:Voit jo silmämääräisesti verrata miten hyvin eri versiot pystyy renderöimään 3D-kuvaa:
>Yleistää screenshottien perusteella

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ä.

User avatar
legend
Advanced Member
Posts: 371
Joined: Wed Nov 18, 2009 9:06 pm

Re: Tie 3D-peliohjelmointiin (mistä liikkeelle?)

Post by legend » Thu Aug 16, 2012 4:05 pm

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:
Päätit ottaa sitten screenshotin, jossa ei ollut käytetty DirectX Shader tegnologia....
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.

User avatar
Sami The Great
Advanced Member
Posts: 485
Joined: Tue Aug 28, 2007 4:15 pm
Contact:

Re: Tie 3D-peliohjelmointiin (mistä liikkeelle?)

Post by Sami The Great » Thu Aug 16, 2012 4:26 pm

esa94 wrote:
Sami The Great wrote:Voit jo silmämääräisesti verrata miten hyvin eri versiot pystyy renderöimään 3D-kuvaa:
>Yleistää screenshottien perusteella

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ä.
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.
http://www.rockodilegames.com
CoolBasickin käyttäjä vuodesta 2004.

User avatar
esa94
Guru
Posts: 1855
Joined: Tue Sep 04, 2007 5:35 pm

Re: Tie 3D-peliohjelmointiin (mistä liikkeelle?)

Post by esa94 » Thu Aug 16, 2012 6:03 pm

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.
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.

Lakkaa nyt syyllistämästä softaa ja keskity, Joni.

pietari-poika
Newcomer
Posts: 16
Joined: Wed Oct 10, 2007 9:18 pm

Re: Tie 3D-peliohjelmointiin (mistä liikkeelle?)

Post by pietari-poika » Sat Aug 18, 2012 3:43 pm

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.

User avatar
mikeful
Moderator
Moderator
Posts: 523
Joined: Mon Aug 27, 2007 8:36 pm
Location: Vaasa, Finalnd
Contact:

Re: Tie 3D-peliohjelmointiin (mistä liikkeelle?)

Post by mikeful » Sun Aug 19, 2012 9:37 pm

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.
Pelejä: Pelasta puhe, Grinder
Muuta: Blogi, Twitter

User avatar
vilQuri
Active Member
Posts: 239
Joined: Wed Aug 29, 2007 6:25 pm
Location: Turku

Re: Tie 3D-peliohjelmointiin (mistä liikkeelle?)

Post by vilQuri » Thu Aug 23, 2012 11:00 pm

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.

pietari-poika
Newcomer
Posts: 16
Joined: Wed Oct 10, 2007 9:18 pm

Re: Tie 3D-peliohjelmointiin (mistä liikkeelle?)

Post by pietari-poika » Fri Aug 24, 2012 11:15 am

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

User avatar
vilQuri
Active Member
Posts: 239
Joined: Wed Aug 29, 2007 6:25 pm
Location: Turku

Re: Tie 3D-peliohjelmointiin (mistä liikkeelle?)

Post by vilQuri » Fri Aug 24, 2012 9:28 pm

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.

User avatar
Pettis
The Evil Admin
The Evil Admin
Posts: 1040
Joined: Sun Aug 26, 2007 5:08 pm
Location: Rovaniemi
Contact:

Re: Tie 3D-peliohjelmointiin (mistä liikkeelle?)

Post by Pettis » Sun Aug 26, 2012 4:19 pm

vilQuri wrote:pythonissa kun on omat rajoitteensa.
Kuten mitkä? Pythonilla voit halutessasi käyttää C ja C++ -palikoita.
CB Repository .com - Sinne ne kaikki koodit menneet on!
MunVerkko - Ilmaisia foorumeita ja blogeja

User avatar
Latexi95
Guru
Posts: 1164
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: Tie 3D-peliohjelmointiin (mistä liikkeelle?)

Post by Latexi95 » Sun Aug 26, 2012 6:32 pm

Pettis wrote: Kuten mitkä? Pythonilla voit halutessasi käyttää C ja C++ -palikoita.
No CB:ssähän ei olekkaan mitään rajoitteita kun voi käyttää DLL:iä. :lol:

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ä.

User avatar
esa94
Guru
Posts: 1855
Joined: Tue Sep 04, 2007 5:35 pm

Re: Tie 3D-peliohjelmointiin (mistä liikkeelle?)

Post by esa94 » Wed Aug 29, 2012 7:45 pm

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ä.
[citation needed]

User avatar
Latexi95
Guru
Posts: 1164
Joined: Sat Sep 20, 2008 5:10 pm
Location: Lempäälä

Re: Tie 3D-peliohjelmointiin (mistä liikkeelle?)

Post by Latexi95 » Wed Aug 29, 2012 8:19 pm

esa94 wrote: [citation needed]
En nyt muista kuka irkin puolella mainitsi tuosta pythonin nopeudesta, mutta tein sinulle testikoodin joka antaa tukea väitteelleni:

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)
Itseasiassa tuolla koodilla python on CB:tä hitaampikin ainakin 2.7.3 versiolla. Python 42s ja CB: 35s.
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.

Post Reply