Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: Kysely: Vaikein/monimutkaisin ohjelmasi

Sivun loppuun

Juice [15.07.2004 19:17:52]

#

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?

peki [15.07.2004 19:30:54]

#

3D metapallot ehdottomasti.
~2000 riviä omaa koodia, josta vain puolet on täysin omaa.

Aruviel [15.07.2004 19:41:45]

#

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.

Metabolix [15.07.2004 20:12:52]

#

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

firebug [15.07.2004 20:50:22]

#

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.

peki [15.07.2004 21:11:26]

#

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.php?tunnus=meta

Sekalaista tietoa:
http://www.cs.wpi.edu/~matt/courses/cs563/talks/metaballs.html
http://www.siggraph.org/education/materials/HyperGraph/modeling/metaballs/metaballs.htm

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/accueil.html
http://www.exaflop.org/docs/marchcubes/ind.html
http://www.siggraph.org/education/materials/HyperVis/vistech/volume/surface4.htm

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.

hunajavohveli [15.07.2004 21:33:54]

#

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.

Koipio-ohjelma [15.07.2004 21:45:11]

#

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.

firebug [15.07.2004 21:56:12]

#

peki: Suuret kiitokset, noista linkeistä on todellakin hyötyä! Täytyykin heti ruveta miettimään paremmin noiden toteutusta, jos vaikka saisi jotain aikaiseksi.

Koipio-ohjelma [15.07.2004 22:00:05]

#

joo se ois hyvä koska tällaiselta kaksi kuukautta ohjelmoineelta ei oikein mikään onnistu

Metabolix [15.07.2004 22:42:02]

#

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

firebug [15.07.2004 23:26:09]

#

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.

KemXy [16.07.2004 11:36:20]

#

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

Deewiant [17.07.2004 20:09:13]

#

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.

hunajavohveli [17.07.2004 20:20:53]

#

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

Metabolix [17.07.2004 21:02:30]

#

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

J.Swan [17.07.2004 21:54:30]

#

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)

tomaattigeeni [18.07.2004 02:47:09]

#

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.

Deewiant [18.07.2004 11:37:28]

#

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.

User137 [19.07.2004 10:09:34]

#

Siitäkö johtuu Blade of Darknessin pitkät latausajat? :P Muuten se on kyllä nätti peli.

kaviaari [20.07.2004 08:55:11]

#

Mun vaikein/haastavin projekti noh joka on venynyt ja venynyt on varmaankin toi robosotapeli.

Gwaur [20.07.2004 13:14:36]

#

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/ristinolla.c

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.

User137 [21.07.2004 16:41:15]

#

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.

nomic [21.07.2004 22:17:22]

#

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

Juice [21.07.2004 22:51:40]

#

nomic: Hyvä idea. Alunperin halusin vain tietää C-projektejanne :). Taidankin laittaa uuden topikin yleiseen keskusteluun.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta