Gå til innhold

Spill programmering, hvordan?


Anbefalte innlegg

Bruk sdl og opengl. Er i ferd med å gjøre klart for hovedprosjekt med de to der.

 

I og med at vi tenker utenfor boksen og prøver å lage nye ting har vi valgt å la brukeren selv få velge hva spillet skal spilles på, mac, linux osv. Dermed er det de to vi har kommet opp med som passer best. Ellers blir det qt til de støtte programmene vi må lage selv. Vi kommer også til å ha utvikling på mange forskjellige platformer da vi ikke alle synes det samme er best.

 

Uten tvil velg opengl og sdl.

 

 

Atypic: Du virker rett og slett uviten. Du burde sette deg enda mer inn i hva som finnes der ute. Du har sikkert kodet mye i gud veit hva, og derfor burde du også ha sett hvorfor en ikke skal binde seg til en ting. Sett på en annen måte, flere som deg, betyr mer jobb for meg :) Redd for å tenke nytt velg ms, klar for spennende ting som er nye og fungerer velg noe annet :)

Lenke til kommentar
Videoannonse
Annonse

Uviten?

 

Det var egentlig ikke meningen å virke uvitende. Prøver bare å sette ting litt på spissen.

 

Jeg bruker FreeBSD som (her kommer et fancy ord...) utviklingsplattform selv, og har ingen problem med å anbefale OpenGL, det er ikke det jeg prøver å si - håpte igrunn noen ville forsøke å argumentere mot meg og mitt syn på DirectX.

 

OpenGL er definitivt noe lettere å lære seg enn DirectX - med tilgang på de rette ressursene. OpenGL har blue/red books. DirectX-SDK-docs er veldig god dokumentasjon - men DirectX er naturlig litt mer innviklet på grunn av hw/sw interfacet - "COM" - som egnetlig ikke er så værst, men det er knotete.

 

 

Med det sagt - skal du programmere spill og leve i den virkelige verden så MÅ du berherske DirectX også - se på Source-motoren til Valve - den er DirectX eksklusiv. Kan tro det har vært litt heftig lobby-virksomhet fra MS sin side angående dette. HL1 motoren brukte jo begge.

 

Microsoft eier nok litt for mye for tiden. Når alt kommer til alt så er spillprogrammering også bare en jobb for å få brød på bordet...

Lenke til kommentar

Da er vi litt mer enige :) Personlig kommer jeg nok ikke til å ha så mye med directX å gjøre da jeg er veldig kraftig mac/*nix mann. Og det er disse jeg vil lage spill til ikke så mye windows, men siden de fleste har win må tingene kjøre der også så valget er openGL.

Lenke til kommentar
Microsoft eier nok litt for mye for tiden. Når alt kommer til alt så er spillprogrammering også bare en jobb for å få brød på bordet...

Spillprogrammering er ikke prostitusjon. ;)

 

Man er ikke avhengig av å kunne DirectX for å kunne lage spill til Windows. Og dersom man virkelig synes MS har for mye makt, så er det ikke noe vits å bidra mer til denne, med mindre man er så sulten at man ikke har noe valg.

Lenke til kommentar

jeg synte det er viktid og understreke at directX er jo som kjent en hel pakke med diverse API det er jo ikke nødvendig å bruker alt, jeg bruker fks. OpenGL til grafikk og direct input til.... input.

Jeg syntes OpenGL er veldig enkelt å bruke, men når jeg en gang i blant dummper borti Direct grafikk så virker det som det er enormt mye ferdig lagede wrappere rundt hele systemet. Og det må vel være kjekt å ha selv om systemet ikke er så "rent" som opengl.

Lenke til kommentar

msulland, det finnes flere valg, og de passer i ulike situasjoner. Selv om et API er portabelt mellom mange plattformer, trenger det ikke nødvendigvis å være et bedre valg i en gitt situasjon. Det virker som om det du prøver å si er at det valget du har tatt er det eneste rette, men det er det så absolutt ikke.

Endret av Geofrank
Lenke til kommentar

jeg prøver så si at platformuavhengighet er tingen. Det er mange måter å oppnå dette, jeg har valgt opengl og sdl. Det finnes et mange mange andre også.

 

Skal like å se du kan progge i directXen din på ubuntu boksen min :) Du sperrer de du lager for, jeg prøver så godt jeg kan å ikke gjøre det. Er der hovedforskjellen ligger.

Lenke til kommentar

Hvorfor i alle dager skulle jeg progge directX i ubuntu-boksen din når jeg har windows-boksen min? Plattformuavnhengighet er en bra ting, men det er ikke alltid det viktigste..

 

Du sier at jeg sperrer for dem jeg lager ting for.. Hvordan vet du hvem jeg lager ting for?

 

Jeg vet at det du vil frem til er en bra ting, men det virker som om du ser deg blind på at det er det eneste rette å gjøre. Det er vel ikke særlig stor andel av de profesjonelle spillprogrammererne som bruker SDL, så å utelukke DirectX fullstendig vil nok ikke være det lureste du gjør. (Til hobby-bruk vil det jo selvsagt være noe annet..)

Lenke til kommentar

Hvorfor du vil progge til linuxen min, eller macen min for å si det sånn. Kunder :) Hvorfor skal en velge å si nei til noe som begyner å bli en god del brukere bare for at verktøyene en bruker ikke tillater det?

 

Bruker du directX eller annen lukket, et os, en cpu only, software lukker du brukeren. Uansett hvem du lager ting for. Hvorfor låse både deg og kunden når det finnes muligheter for ikke å gjøre det?

 

Og noen må altid være de første. Uten folk som tenker nytt og setter nye krav vil det ikke komme spesielt mye nytt. Etter min mening er pc verden et perfekt eksempel på dette. Alt for mange bruker det som alle andre bruker, selv om dette ikke nødvendigvis er best, billigst eller noe slik. Ofte er det ikke engang det de selv trenger. Veit sdl ikke er noe mega brukt software i store spill, men veit også at mange store spill blir laget med multi os muligheter osv. Burde jo bevise ganske greit at det er fult ut mulig, hvis de som lager det er villig til å tenke i litt nye baner og se nye kunder og muligheter. Det finnes også andre muligheter en sdl.

 

Ta qt som et eksempel. Er ikke så mange som bruker dette enda. Men ta en liten titt på hvem og hva de lager de som gjør det og du vil helt klart se at dette ikke er et "verktøy" du burde "fnyse" av selv om det ikke er windows only og brukt av alle de store. Viser jo at de små ofte faktisk kan komme med store ting. Gleder meg f.eks. stort til qt kommer for fult på mobiltelefoner.

 

Platformuavhengighet er etter min mening veldig høyt på pri lista i dagens samfunn og et må ha. Ingen veit hva som kommer videre, hvorfor skal da folk finne seg i å blir låst så kraftig som de blir idag? Og hvorfor vil produsenter låse sine kunder til noe som kanskje ikke blir brukt i det "lange" løp og dermed kanskje sitte igjen med at noen andre kommer å kaprer kundene?

Lenke til kommentar

Hvorfor du vil progge til linuxen min, eller macen min for å si det sånn. Kunder :) Hvorfor skal en velge å si nei til noe som begyner å bli en god del brukere bare for at verktøyene en bruker ikke tillater det?

 

Bruker du directX eller annen lukket, et os, en cpu only, software lukker du brukeren. Uansett hvem du lager ting for. Hvorfor låse både deg og kunden når det finnes muligheter for ikke å gjøre det?

 

Og noen må altid være de første. Uten folk som tenker nytt og setter nye krav vil det ikke komme spesielt mye nytt. Etter min mening er pc verden et perfekt eksempel på dette. Alt for mange bruker det som alle andre bruker, selv om dette ikke nødvendigvis er best, billigst eller noe slik. Ofte er det ikke engang det de selv trenger. Veit sdl ikke er noe mega brukt software i store spill, men veit også at mange store spill blir laget med multi os muligheter osv. Burde jo bevise ganske greit at det er fult ut mulig, hvis de som lager det er villig til å tenke i litt nye baner og se nye kunder og muligheter. Det finnes også andre muligheter en sdl.

 

Ta qt som et eksempel. Er ikke så mange som bruker dette enda. Men ta en liten titt på hvem og hva de lager de som gjør det og du vil helt klart se at dette ikke er et "verktøy" du burde "fnyse" av selv om det ikke er windows only og brukt av alle de store. Viser jo at de små ofte faktisk kan komme med store ting. Gleder meg f.eks. stort til qt kommer for fult på mobiltelefoner.

 

Platformuavhengighet er etter min mening veldig høyt på pri lista i dagens samfunn og et må ha. Ingen veit hva som kommer videre, hvorfor skal da folk finne seg i å blir låst så kraftig som de blir idag? Og hvorfor vil produsenter låse sine kunder til noe som kanskje ikke blir brukt i det "lange" løp og dermed kanskje sitte igjen med at noen andre kommer å kaprer kundene?

Det er ikke nødvendigvis så galt å "lukke brukeren" eller fjerner litt overflødig frihet. For mye frihet blir fort grisete (se bare på USA... :p).

 

Den jevne kunde vil ofte (for ikke å si alltid) ha et produkt som funker der og da, som ikke trenger noe særlig vedlikehold og som holder lenge. Da er det greit å legge lokk på, så er du sikker på at kunden ikke ufrivillig tukler med ting. [Nå er ikke dette noe stort problem innenfor vår verden av kode - men vær overbærende med analogien min.]

 

Og vi er også kunder, selv om vi er et hakk over i næringskjeden. Vi blir tilbudt ting og kjøper i like stor grad som sluttbrukerene, bare på et litt annet nivå.

 

DirectX er et fryktelig fristende (råttent?) eple. Kjapt, stabilt, godt dokumentert, særdeles godt strukturert og raskt på plass med nye funksjoner. Selvsagt vil mange bruke det, om de kan!

 

Selvsagt kan de det, for å bruke en litt sirkulær tankegang så har de den friheten.

 

Jaja. Når alt kommer til alt så er vel poenget å få gjort noe og ikke bruke tid på å krangle på et håpløst tema i et eller anna forum.

 

Få se litt kode nå da, ikke bare tjafs. Få se SDL demonstrert i sin fulle prakt, få se fordeler og ulemper med Direct X, få se den første her på forumet som lager sin egen 2D-software render.

Lenke til kommentar

Atypic:

 

Helt på tur du eller? Vi diskuterete her før det du skrev hvilke verktøy en burde velge og hvorfor. Var faktisk sakelig også før du begynte nå. Hvis du kaller å være kritisk til valg av verktøy et håpløst tema har du ikke lest hva denne posten handler om "Spill programmering, hvordan?". Kan ikke lage noe uten å velge et verktøy først.

 

Du mener å låse brukeren til et os kan være bra. Bra for hvem? I hvertfall ikke brukeren.

 

Og du, les litt om openGL. Mangler ikke dokumentasjon osv den heller. Ei heller sdl, selv om dette er litt mer kronglete.

 

Vil du se kode bruk google.com hvis du ikke synes det er for vanskelig å taste inn og søke selv.

Endret av msulland
Lenke til kommentar

Hva feiler det deg da?

 

Å fjerne frihet er ikke det samme som å låse fast. Dette blir uansett for abstrakt.

 

Jeg trenger ikke bruke google for å se kode, jeg har brukt OpenGL i mange år og har nok å ta av selv. Sier ikke at OpenGL mangler dokumentasjon. Sier bare at DirectX docs er bedre lagt opp.

 

Men min endelige uttale blir ganske grei.

 

Lær ALT du kommer over. Helt seriøst. Noen ganger får du bruk for det ene, noen ganger får du bruk for det andre. Boksamlingen min strekker seg til godt over 20 bøker innen evnet "spillprogrammering" - alt ifra spillprogrammering i DOS med mode-x til Shader 3.0 programmering (mitt siste kjøp var en 1kg murstein "Shader Programming" av Ron Fosner - den anbefalest om du har lyst på en dyptgående forklaring av shader-teknologien.

 

Jeg har kodet spill ved hjelp av OpenGL, jeg har kodet spill ved hjelp av DirectX. Jeg har kodet grafikk i OpenGL og håndtert input / net via DirectX. [ Sistnevnte er en liten favoritt ]. Alt du lærer kan du dra nytte av på en eller annen måte, og alt du ikke kan begrenser deg som utvikler. Å spesifikt velge kun EN ting låser _DEG_ mer enn noen kunde.

Lenke til kommentar

Til msulland:

 

Atypic var ydmyk ovenfor dine meninger, så hvorfor er du så krass tilbake? Selv om du ikke har fantasi nok til å se fordeler med å ha alle brukerne sine på samme plattform, så trenger du ikke å være uhøflig. Problemet ligger i at du ikke klarer å akseptere at noen har andre meninger enn deg, og velger noe annet. Tror de fleste har skjønt hva du vil frem til.

 

Selv skal jeg se nærmere på SDL når jeg har tid, men for øyeblikket velger jeg å fokusere på noe annet. Jeg vet meget godt både ulemper og fordeler med DirectX, men med et ønske om å bli grafikkprogrammerer innen spill eller simulering blir det nødvendig for meg å beherske dette om jeg skulle nå frem. Og ja, jeg vet at Doom 3 ble laget mer eller mindre plattformuavhengig, men det betyr slettes ikke at det er fritt frem i industrien uten DirectX-kunnskaper..

Lenke til kommentar

Artig diskusjon!

 

Jeg kan ikke si at jeg er noe erfaren programmerer... Men kan vel uttale meg selvom. Jeg vil garantert velge å programmere platformuavhengig, da jeg synes en selv skal få velge platform. Jeg hadde kun brukt linux, hadde det ikke vært fordi det er så alt for mange spill som er platformavhengig! Jeg skal ikke uttale meg om hva som er best og dårligst, men å programmere platformuavhengig skaper en større kundemengde og gir dem den friheten de fortjener!

 

For noen mnd. siden begynte jeg med linux, Mandrake 10.1, jeg lærte meg det mest grunnleggende og fikk lagt opp drivere til grafikk kortet mitt (ATI 9800 Pro var det vanskelig å skaffe drivere til ja!). Etter mye stress oppdaget jeg, som jeg fryktet, veldig få av de spillene som er innenfor mitt iterresse område er platformuavhengig!!! Kunne selvfølgelig skaffet meg Wine eller noe slikt, men orket rett og slett ikke det. Har derfor sluttet å bruke linux til platformuavhengig programmering er mer populært.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...