Gå til innhold

Mr.Garibaldi

Medlemmer
  • Innlegg

    1 356
  • Ble med

  • Besøkte siden sist

Innlegg skrevet av Mr.Garibaldi

  1. Jo, helt riktig, du må trykke enter, noe som er en sub-optimal løsning, men jeg tenkte mer på å vise game-loop'en.. (Test input, kall metoder som behandler input, evt. kall tilfeldig hendelse)

    Skal ikke påstå at koden er veldig god, da det er flere steder det kan optimaliseres (bl.a. ved å bruke cin.get() uten en variabel i switch).

     

    Jeg kommer ikke på stående fot på hvordan lese inn fra bufferen direkte uten enter, som jo hadde vært en mer elegant måte å gjøre det på, men jeg kan jo også gjemme meg bak at med denne løsningen kan man trykke feil og endre det igjen uten at det gjør noe ;)

     

    Ville nok faktisk bare brukt switch(cin.get()), som jo returnerer en int, så har ikke noe godt argument for å bruke char (annet enn at det var det første som falt meg inn i farten når jeg skrev det)...

  2. Hvis du ikke vil skrive en skikkelig text-parser, skulle du slippe unna med en enkel loop og switch-case.

     

    Kjapp pseudo av hvordan jeg ville lagt det opp

     

      //get name
     char input;
     while(cin.get(input)){
    switch(input){
    case '1': //do something; break;
    case '2': //do something else; break;
    }
    //possible random encounter here
     }

     

    Så får du ta testene om det er en vei i den retningen, om du treffere monsteret etc., i de forskjellige metodene du kaller. La til et mulig encounter i loopen, men den kan like godt være knyttet opp til en av de forskjellige metodene du har..

  3. Det finnes større tall enn int...

    int bruker 32 bits, og har en range fra -2 147 483 648 til 2 147 483 647.

    Du kan bruke unsigned int (siden du ikke har noen negative tall) som gir

    uint 32 bits, range 0 til 4 294 967 295

    Ellers har du long

    long 64 bits, range -9 223 372 036 854 775 808 til 9 223 372 036 854 775 807

    ulong 64 bits, range 0 til 18 446 755 073 709 551 615

     

    Så tviler på at du trenger å lage en egen klasse for å håndtere størrelsen på tallet...... ;)

  4. Hva med Collada (se signatur for link) det brukes i ca 50% av spill som er under utvilkling og google Sketchup bruker det (zippet med teksturer). Av programmer som støtter det nevnes FX composer, Maya, 3ds max , blender, bullet , newton, PhysX, Havok (trenger jeg nevne flere så si fra).

     

    Jeg vet godt hva Collada er, men kan du vise meg hvor den offisielle støtten for Collada i XNA er?

    Nærmeste du kommer, som jeg vet om, er remi's kode, som ikke er helt det samme.

     

    .x ble droppet siden.. vel det støtte ikke veldig mye av ting og tang.

    Det samme kan jo nesten sies om Collada, i tillegg til at det ikke helt vet hvordan det skal støtte ting det støtter ;)

    Grunnen til at jeg nevnte .X er at det er/var ett satsningsområde til MS, og de hadde god støtte for det i XNA, men at denne nå er droppet uten at jeg har funnet noen begrunnelse.

     

     

     

    Big_Mac, da må du enten finne en "plugin"/komponent som kan laste inn filen i motoren, eller skrive en selv.

    Vil anbefale deg å søke på forumet til OGRE3D og se hva andre har gjort, så du slipper å finne opp hjulet igjen (selv om det er god trening å skrive en importer)...

  5. I siste utgave virker det som de har droppet støtten for .X filer (som er DX modeller, og dermed veldig pussig at ikke støttes), så du bør satse på .fbx (filmbox) filer. (Som dessverre ikke er verdens beste.....)

     

    Du finner en kjapp guide til hvordan laste inn 3d-modeller her. Lykke til :)

     

    3ds Max har støtte for å eksportere til .fbx (er faktisk fil-formatet som anbefales for å overføre filer mellom maya og max), så du kan konvertere fra .max, .obj etc...

  6. Hva mener du med det? Jeg tror ikke det er noe feil med programmet. Det er bare det at programmet kan bare velge mellom 8 retninger, og da blir det den samme avstanden å gå først rett opp, og så nordøst, eller å gå nord-nord-øst. Det blir akkurat like mange piksler. Jeg må lage det slik at hver node er koblet til mer enn 8 andre noder, og så regne avstanden med pytagoras. F.eks. kan noden (10, 10) være koblet til bl.a. (11, 12) selv om de ikke er ved siden av hverandre. Da blir avstanden sqrt(1^2+2^2) = 2,236. Hvis jeg skulle regnet den avstanden når hver node har kun 8 naboer, ville avstanden blitt ca. 1.414 + 1 = 2.414. Tror du dette går?

     

    Det er ikke noe problem å ha mer enn 8 retninger, det kommer bare an på hvordan du definerer dem.

    Tenk på det som en urettet graf, og ikke som ett 2D bilde, så er det lettere å visualisere/implementere det.

  7. Nope, den koden koster mye penger, og er ikke tilgjengelig for alle.

    We generally only do business with groups that have a registered corporation and physical business address. If you're not an industry heavyweight with a commercial development history, we will additionally ask you some questions prior to licensee discussions

     

    Hvordan kan man kombinere alle disse programmene inn i ett program, og hvilke funksjoner har hver av programmene XNA, Game Studio Express og Visual C# Express?
    .

    Visual C# Express er et gratis IDE (Integrated Development Environment) som støttes av Game Studio Express (GSE). GSE er tja.. Les selv... XNA er ett rammeverk som gir deg tilgang til en forenklet utgave av DirectX, hvor du kan utvikle spill både for Xbox360 og PC.

     

    Alt i alt kan du si at de tre tilsammen blir en enhet for å utvikle spill. Det inneholder en pipeline som takler modeller, lyd og teksturer, noe som ellers kan være irriterende å lage selv. Den har også full støtte for shadere om du ønsker å bruke det.

     

    Men det krever at du kan programmere (eller er villig til å lære deg).

    Game Maker gjør det hele mye enklere, uten at jeg vet helt hvordan du lager 3d spill i det (har bare brukt det til 2D).

  8. Jeg er da i gang med et nytt spillprosjekt, men skal nå bevege meg fra 2D til 3D. Jeg har da ett spørsmål angående det.

     

    Programvare:

     

    Hva er det beste (Pris er irrelevant) 3D-programmet for produksjon av 3D spill.

     

    Tja, mener du kan gjøre ganske mye uten å programmere for mye i Unreal Engine ;)

     

    Litt mer seriøst (siden Unreal koster flere 100k USD), er Ogre3D ganske grei. Den tar seg av det meste av renderingen, slik at du kan fokusere på resten av motoren.

     

    Men hvis du ikke kan programmere fra før av vil det enkleste være å starte med XNA, Game Studio Express og Visual C# Express fra Microsoft. Det er meget gode tutorials på nettet, og flere fora hvor du kan spørre om hjelp. Men du vil måtte lære deg noe 3d matte, og evt. noe fysikk hvis du ikke bruker eksisterende biblioteker (som byr på andre utfordringer).

     

    En annen mulighet er å bruke Game Maker som er point 'n' click, men også mulig å programmere i et enkelt skripts språk (og evt. i .dll'er). Dette er vel kanskje det enkleste utgangspunktet om du ikke vil lære deg å programmere...

  9. A* (A star) er en meget effektiv måte å håndtere pathfinding på.

    Bruk gråtoneverdien som vekt mellom nodene (f.eks hver 4 pixel er en node (hver pixel vil bli ekstremt tungt)).

     

    Ta en tur på biblioteket og lån deg "AI for Game Developers" av O'Reilly. Den har meget gode forklaringer av enkle path-finding algoritmer, samt lett forståelig forklaring av A*.

     

    [EDIT]

    Hvis du skal kjøre det hele offline, så kan du godt ha hver pixel som en node. Du må bare definere hvilke overganger mellom nodene du skal godta (hver side, eller også på skrå?), så skulle A* passe perfekt :)

    [/EDIT]

  10. "OpenGL Game Development" er veldig Windows-fokusert. De første to kapitlene ser ut som de bare tar for seg hvordan sette opp en window manager i windows. Det er inntrykket jeg sitter igjen med etter å ha tatt en titt på kildekoden her... Så den er kanskje ikke den beste løsningen hvis du vil fokusere utvikling for pc og mac...

     

    Ellers vil jeg nesten si at det vil lønne seg å bli ferdig med boken du holder på med, og så gå nærmere inn på grafikkprogrammering. Kapittel 23 vil ta for seg en Ogre, som vil gi deg en start på grafikk- og spillprogrammering, og så kan du gå videre på mer avanserte bøker på grafikk.

    Det er også veldig mye viktig som kommer utover i boken, deriblant pointers, arrays, mer om klasser, og streams for å nevne noe.

     

    Redbook, som GeirGrusom nenver, er en veldig god bok, men kan være vanskelig om du ikke har kjennskap til C/C++ fra før. Men når du er ferdig med den boken du leser nå, vil den være god. Gjerne sammen med

    Computer Graphics with OpenGL, som tresko nevner er god (bare hopp over de første 2 kapitlene), eller Real-time Rendering, som riktignok bare er teori, men fortsatt veldig god.

     

    En annen grunn til å vente med grafikken er at OpenGL 3.0 vil gjøre store endringer i forhold til nåværende versjon.

  11. Tror det kan være vanskelig å finne en bok som lærer deg både C++ og OpenGL.

    Denne skal visstnok lære deg C++ og DX, som kanskje er en mulighet. Så får du heller lære deg forskjellen mellom DX og OpenGL etterpå. (Og da har kanskje OpenGL 3.0 kommet ut)

     

    Ellers får du lære deg C++ først, og så OpenGL.

    Og hvis du vil ha en spill-tvist på C++ læringen kan du se på denne, som tar for seg tekst-baserte spill.

     

    Jeg har ikke brukt noen av disse bøkene, så jeg kan ikke si hvor effektive de er i å lære deg C++...

  12. Jeg sitter på gjerdet om dette er en god eller dårlig ting.

    Det er bra, da det vil gjøre at flere tar ibruk PhysX, og det vil øke sannsynligheten for at det vil være hardware støtte for fysikk.

     

    På den annen side liker jeg ikke at fysikk apiene blir knyttet så sterkt opp til de forskjellige hardware produsentene. Det vil mest sannsynlig gjøre at de andre aktørene får dårligere støtte enn hvis de var frie (selv om PhysX hadde et eget kort).

    Videre er jeg av dem som ikke helt forstår hvordan fysikk på gpu ikke vil stjele ressurser fra grafikken. Hvis PhysX blir støttet i shadere (slik det ser ut som nvidia vil gjøre) vil det gjøre det vanskeligere å ha både god grafikk og god fysikk, da det er heller begrenset hva med shader ressurser p.t.

    Blir det som en egen chip på kortet er jeg redd for hvordan støtten fra andre leverandører vil bli, noe som igjen vil ha noe å si i hvor mange utviklerer vil ha støtte for det.

×
×
  • Opprett ny...