Tämä on tälläinen puoliksi huvimielinen kysymys, eli mikä on vaikein/monimutkaisin C/C++-projektinne. Tiedänpähän sitten, että mihin tämä kieli venyy. Omani on ohjelma, joka oikean salasanan sattuessa avaa thunderbirdin... eikös kuulostakin kamalan monimutkaiselta?
3D metapallot ehdottomasti.
~2000 riviä omaa koodia, josta vain puolet on täysin omaa.
Eräs peli, jota olen säätänyt jo pienoisen tovin. Kuonaa se on :P. Ehdottomasti monimutkaisin, vaikka koodin taso ei mielestäni - nyt kaikkea uutta opittuani - päätä huimaa.
Koodia siinä on jotain ~1200 riviä, jonka olen lisäksi kommentoinut hyvin (omasta mielestäni - eli se kommentoinnin taso riittää ainakin minulle). Se ei sisällä mitään graafisia härpättimiä, vaan toimii puhtaasti tekstipohjaisena. Suunnitteluvirheitäkin sen seassa on ja niistä olen toivoakseni ottanut opikseni.
Jaa että mitä siinä tehdään tai mitä se tekee? Siinäpä se, se ei vielä ole oikein muuta kuin pelimoottorin raakile. Taistelu ja muutamat muut komennot onnistuvat, mutta syvällisemmät ja tarkemmat säännöt puuttuvat.
Tuohon asti minä olen ko. kieltä saanut venytettyä. Ja varmasti se venyy paljon pitemmällekin.
Tiedä nyt monimutkaisesta, mutta tein oman Tetriksen (Tertix) tuossa yhtenä päivänä :D ... Siitä on hyvä aloittaa. Kehitteillä on peli, jossa pitää rikkoa seinä mahdollisimman nopeasti. On ainakin omalaatuinen idea :P
Nyt lähinnä mietin, mikä olisi vielä tehokkaampi tapa piirtää kuvia ruudulle ja laskea, mikä niistä kuuluu taaimmaksi.
Ja C/C++ venyy juuri niin pitkälle kuin sitä haluaa venyttää.
peki: Haluaisitko kenties kertoa sivun, jossa noita metapalloja käsitellään? Itse olen omin avuin yrittänyt noita väsätä, mutta menee meikäläisen tajunnan yli niiden tekeminen.
Vaikein projekti? Hmm, vaikea sanoa. Javapuolella ainakin servlettien kanssa painiminen oli viedä hermot. C/C++ puolella ei ole tullut mitään "niin" kamalan suurta projektia väsättyä, vaikka tarkoitus on ollutkin. Joitain modellien lataajia ja sellaista, mutta mitään ylitsepääsemätöntä ei vielä ole tullut vastaan.
Laitetaampas tähän loppuun vielä tällainen kysymys: Olisiko jollain kiinnostusta lähteä kehittämään jonkinlaista peliä OpenGL + SDL- yhdistelmällä? Tarkoitus olisi siis tehdä näillä sellainen ensimmäinen isompi projekti, ja samalla oppia paljon uutta. Voisin vaikka tehdä tästä erillisen topicin.
Firebug:
tässä oma pohjani. Luin ensin läpi tutoriaalin, jonka jälkeen täydensin omaa koodiani valmiilla.
http://www.angelcode.com/dev/metaballs/
Jonkinlaista, ehkä hieman yksinkertaisempaa apua voisi saada kirjoittamastani oppaasta.
https://www.ohjelmointiputka.net/oppaat/opas.
Sekalaista tietoa:
http://www.cs.wpi.edu/~matt/courses/cs563/talks/
http://www.siggraph.org/education/materials/
Suosittelisin lämpimästi toteuttamaan pallot ensin 2d muodossa ja siten opettelemaan perjaatteen. Oma oppaani on noista edellisistä ainoa 2d palloihin pureutuva.
Jos kuitenkin päädyt kokeilemaan 3d palloja, suosittelen tutustumaan marching cubes/marching triangles algoritmiin.
Marching cubes -algoritmin patentti raukeaa tosin vasta ensi vuonna(kuten minulle ystävällisesti täällä kerrottiin), joten varovaisuutta sen kanssa..
Marching cubes:
http://www.essi.fr/~lingrand/MarchingCubes/
http://www.exaflop.org/docs/marchcubes/ind.html
http://www.siggraph.org/education/materials/
Eiköhän siinä ole tarpeeksi materiaalia näin alkuun.
Jos haluat lisää materiaalia ja neuvoja, voit ottaa yhteyttä msn messengerin avulla. Sähköpostin saat profiilista.
Kaikenlaisia ongelmia on tullut Basicin kanssa, ja välillä on kestänyt todella kauan, ennen kuin olen saanut homman toimimaan, mutta juuri nyt tuntuu aivan ylitsepääsemättömältä aloittaa C++:lla grafiikan tekeminen. Aina, kun jotain kokeilee, Allegro, SDL, DirectX, OpenGL, niin homma kaatuu joka kerta siihen, että kääntäjä valittaa suurinpiirtein joka asiasta, ja sitten menee hermot, kun ei ikinä ota onnistuakseen.
monimutkaisinko? no taisi olla laskin... en ikinä saanut valmiiksi :P kun käänsin sen kääntäjä valitti kolmestakymmenestäkahdesta virheestä. oli kumminkin hauskaa :D
siitä taitaa olla kolme tai viisi viikkoja.
peki: Suuret kiitokset, noista linkeistä on todellakin hyötyä! Täytyykin heti ruveta miettimään paremmin noiden toteutusta, jos vaikka saisi jotain aikaiseksi.
joo se ois hyvä koska tällaiselta kaksi kuukautta ohjelmoineelta ei oikein mikään onnistu
firebug kirjoitti:
Olisiko jollain kiinnostusta lähteä kehittämään jonkinlaista peliä OpenGL + SDL- yhdistelmällä?
En kumpaakaan tunne, mutta voisi silti kiinnostaa.
lainaus:
Tarkoitus olisi siis tehdä näillä sellainen ensimmäinen isompi projekti, ja samalla oppia paljon uutta.
Mitenköhän iso..?
lainaus:
Voisin vaikka tehdä tästä erillisen topicin.
Tee ihmeessä!
Metabolix kirjoitti:
En kumpaakaan tunne, mutta voisi silti kiinnostaa.
Tietysti jos haluat tulla projektiin mukaan ohjelmoimaan muuta kuin grafiikkaa, niin käyhän sekin. Pitää tässä miettiä millaisella porukalla tätä lähtisi rakentamaan.
Metabolix kirjoitti:
Mitenköhän iso..?
Sellainen sopiva ;) Tässä vaiheessa on vähän hankala sanoa, mutta luultavasti 3D-grafiikalla toteutettu yksinkertainen peli voisi tulla kyseeseen. Grafiikkapuoli itselläni on ihan kohtalaisen hyvin hanskassa, mutta fysiikka- ja matematiikkapuolella on vielä todella paljon opeteltavaa. Ensimmäisessä projektissa olisi tietysti mahdollista käyttää vaikka jotain valmista fysiikkaengineä, esim. Tokamakia tai ODEa. Tokamakiin olen tutustunut jonkin verran, ja se vaikuttaa ihan pätevältä. Tai jos fysiikkaa ei pahemmin tarvita, niin voidaanhan sitä koodailla vaikka yksinkertainen bounding sphere- törmäystarkistus.
Edit:
Teen tästä oman aiheensa varmaankin huomenissa, nimittäin tämä ei liity alkuperäiseen kysymykseen mitenkään.
hunajavohveli: Luepa NeHe:n OpenGL tutoriaaleja hyvin huolellisesti, niin alkaa sujua. Luulisin, että yleensä alussa on ongelmien ydin kirjastojen linkittämisessä ja oikein asennuksessakin.
Itse en ole vielä tehnyt kovin monimutkaisia ohjelmia C kielillä, kun tulee aina vain pieniä ohjelmia. Oman "käyttöjärjestelmän" komentotulkki ehkä.
Ainoa varsinainen C/C++ projektini on yllättäen myös se vaikein. Moninpelattava, ylhäältäkuvattu äksönpeli siitä pitäisi tulla.
... Kunhan saisi ensin ensimmäisen päävalikon toimimaan täysin, kuten pitää...
lainaus:
Tiedänpähän sitten, että mihin tämä kieli venyy.
Ihan mihin vaan, kuten kaikki muutkin ohjelmointikielet.
KemXy kirjoitti:
hunajavohveli: Luepa NeHe:n OpenGL tutoriaaleja hyvin huolellisesti, niin alkaa sujua. Luulisin, että yleensä alussa on ongelmien ydin kirjastojen linkittämisessä ja oikein asennuksessakin.
Joo, vaihdoin tuossa DevCpp:hen juuri äskettäin, kun tajusin viimein, miten sillä saa ajattua ohjelmia :), joten nyt saattaisin jopa saada jotain aikaiseksi..
Deewiant kirjoitti:
Ihan mihin vaan, kuten kaikki muutkin ohjelmointikielet.
VB, QB, Python, Perl ja monet muut eivät välttämättä kovin pitkälle veny ilman ulkopuolista apua (asm).
Toisaalta voikohan noita Basiceja kutsua ohjelmoinniksi... Sori :D
Mun vaikein peli / projekti on myös mun eka.
Ylhäältä kuvattu avaruusammuskelupeli, jossa pitää lennellä kolmiolla ja ampua muita kolmioita. Pelistä ei tee kiintoisaa mikään, mut se onkin lähinnä harjotusprojektini.
Seuraavaks ajattelin tehä tykkipelin, jossa ois tuhoutuva maasto ja SDL:llää käyttävä nettipeli. Toi nettipeli tulee kyl tuottaan ongelmii, mut pitänee lueskella tutoriaaleja.
Edit. Ainii, unohin kertoa että tota projektiani teen OpenGL:llällä ja siinä pystyy jo lentelee, ampumaa ja vastustajatki osaa tehä samaa. (vaikkei ketään varmaan kiinostakkaan)
Noo oonmää tollasen perus-tetriksen tehnyt kokonaan itse.
(http://jussi.neutroni.net/projects/archive/stris-0.3.0.tar.gz)
En kyllä sanoisi sitä isoksi projektiksi. Isoin projekti, jossa olen ollut mukana on tähän mennessä toi Blobtrix joka oli 4. sijalla Putkan ja Suomipelien palikkapeli-kisassa.
Yleensä väsäilen jotain pientä ajankuluksi, viimeaikoina olen mm. metapalloja, erilaisia plasmaefektejä ja fraktaaleja koodaillut.
Metabolix kirjoitti:
VB, QB, Python, Perl ja monet muut eivät välttämättä kovin pitkälle veny ilman ulkopuolista apua (asm).
Toisaalta voikohan noita Basiceja kutsua ohjelmoinniksi... Sori :D
Periaatteessahan voit kirjoittaa Windowsin uusiksi QBasicissa, tosin aika vaikeaksi menee, ja pyörisi varmaan aikas hitaasti (taino, hitaammin kuin se nyt jo pyörii ;)). Yksi hyvä näyte Pythonin venymisestä on mielestäni Severance: Blade of Darkness, joka on koodattu lähes täysin Pythonilla, grafiikkaengine vain C++:lla.
Siitäkö johtuu Blade of Darknessin pitkät latausajat? :P Muuten se on kyllä nätti peli.
Mun vaikein/haastavin projekti noh joka on venynyt ja venynyt on varmaankin toi robosotapeli.
Vissiin se oli tuo ristinollapeli (3x3), kun pähkäilin että miten pistäisin ne merkinnät ja millaisiin taulukoihin ja etät miten tekisin tarkistuksen. Purkkaahan siitä tuli muta ei voi mitään :P
http://www.sorsalampi.org/~gwaur/files/
En ota vastuuta sydänkohtauksista ja mistään muusta katsottuanne tämän sorsan. Bonuksena koodasin tuohon kolmen kielen tuen, suomeksi, englanniksi ja klingoniksi :)
Ja sitten toinen hankalatekoinen oli Starship Destroyer -peli, ensimmäinen peli jonka tein SDL:llä.
http://koti.mbnet.fi/~paauli/ohjelmat/ssd.zip
Paketti sisältää SDL.dll:n, Win32-binaryn ja lähdekoodit.
Mun vaikein Delphi-projekti lienee FlexBattle2. Koodirivejä varmaan muutama tuhat... Peli on siis Lieron tapainen, käyttää OpenGL grafiikkaa, ja hahmoja voi tehdä useita erilaisia, kuten seinissä kiipeileviä ja aluksia. Monipuolinen ase-editori jne. Virtaava vesi ja hiekka kaipaa vielä optimointia ja tilastoja ja muutakin vielä puuttuu.
ihmetyttää semmoinen asia miksi tämä topikki on perustettu vain c/c++ & delphi puolelle? sen verran hyvä aihe kummiskin omasta mielestäni että voisi olla yleisellä, ja kuiteskin tähän saisi kaikki osallistua jolloin vastauksia olisi enemmän. itse jätän kummiskin vastaamatta suoraan aiheeseen koska se on just tätä että paina vasemmalle ja merkki pyyhkii vanhan kohdan ja siirtyy vasemmalle askeleen ascii-sekoilua... muuta en osaakkaan, enään sitäkään :D
eli täysin tietoinen offtopikki oli >:)
*näyttää mieltä kun ei ole tämmöistä yleisellä eikä aio itse perustaa yleiselle samaa topikkia* ^^
haha, tänää on vaikee päivä!
nomic: Hyvä idea. Alunperin halusin vain tietää C-projektejanne :). Taidankin laittaa uuden topikin yleiseen keskusteluun.
Aihe on jo aika vanha, joten et voi enää vastata siihen.