Spelprogrammering
25 inlägg
• Sida 1 av 2 • 1, 2
Spelprogrammering
Tänkte det skulle behövas en spelprogrammeringstråd.
Lite tips och tricks. Era erfarenheter. Vilka programmeringsspråk?
Vilka fysikmotorer, egna?
Allt inom ramen för ämnet.
Själv är jag ganska grön även om jag programmerat en hel del så har jag mycket att utforska inom spel..
Lite tips och tricks. Era erfarenheter. Vilka programmeringsspråk?
Vilka fysikmotorer, egna?
Allt inom ramen för ämnet.
Själv är jag ganska grön även om jag programmerat en hel del så har jag mycket att utforska inom spel..
Re: Spelprogrammering
Jag har fått mest gjort med Unity 3D. Ämnet är ju så humongous så man vet knappt vart man ska börja o snacka om det.
Re: Spelprogrammering
Vill först och främst säga att jag är ingen programmerare - men jag är spelutvecklare (3D-grafiker) och har bekanta som jobbar med 3D-motor -programmering. Har också gått i skola med dessa typer av människor.
För det andra: Programmering är ett ENORMT stort område - och spelprogrammering likaså. Att bygga ihop ett spel som t.ex. Crysis 2 kan nästan jämställas med att bygga en rymdfärja: det krävs grymt mycket expertis och lead programmerare inom flera olika programmeringsområden: fysik, nätverk, rendering, multiplayer, m.m. Inledningsvis så är det bra att du försöker bekanta dig med grunderna i alla dessa koncept (krävs om du ska utveckla indiespel t.ex.) men senare så måste du välja en inriktning: det finns för mycket att lära helt enkelt.
Språk: C++ lägger jag min röst på. Java kan visserligen vara ett bra språk om du är en fullständig nybörjare eller om du vill jobba med uteslutande web-programmering. Men C++ är så pass mångsidigt och eftertraktat av arbetsmarknaden att jag tycker språket lätt "är bäst".
Fysikmotorer: Du kodar varken en fysikmotor eller en grafikmotor utan att ha jävligt mycket erfarenhet. Här snackar vi 3 till 5+ års erfarenhet som 3D-motorprogrammerare eller liknande. Du SKA ha erfarenhet eller vara ett geni - helst bäggedera. När jag jobbade på Avalanche Studios så lade jag märke till att alla i engine-gruppen (dvs de som jobbar med att utveckla grafikmotorn - och det var ett par 8-10 stycken, kanske fler) var alla jävligt smarta, duktiga och med många års erfarenhet. Det var dom som alla andra programmerare vände sig till när de hade problem med annat (nätverk, fysik, programmera split-screen m.m.) - även de med 5+ års erfarenhet sökte hjälp hos dom. Mitt intryck av dem var att de alla var fanatiska när det gällde programmering: riktigt duktiga människor allihop. Men inte ens Avalanche har sin egen fysikmotor utan de kör med HAVOK. Spelen Just Cause och Just Cause 2 har HAVOK som fysikmotor.
What else? Gå en utbildning. Spelar ingen roll hur duktig och självlärd du är - du kommer ha svårt att få jobb om du inte är en ingenjör eller ha gått en högskole eller yrkesinriktad högskoleutbildning (KY/YH) med fokus på just 3D-motor -programmering.
Och sist men inte minst: Räkna med att du måste lära dig en hel del matte om du inte redan kan en massa: Linjär algebra (vektorer, matriser), geometri, trigonometri, kombinatorik, topologi, differentialekvationer. Speciellt linjär algebra är superviktigt: du kommer ingenstans utan att kunna med det området.
För det andra: Programmering är ett ENORMT stort område - och spelprogrammering likaså. Att bygga ihop ett spel som t.ex. Crysis 2 kan nästan jämställas med att bygga en rymdfärja: det krävs grymt mycket expertis och lead programmerare inom flera olika programmeringsområden: fysik, nätverk, rendering, multiplayer, m.m. Inledningsvis så är det bra att du försöker bekanta dig med grunderna i alla dessa koncept (krävs om du ska utveckla indiespel t.ex.) men senare så måste du välja en inriktning: det finns för mycket att lära helt enkelt.
Språk: C++ lägger jag min röst på. Java kan visserligen vara ett bra språk om du är en fullständig nybörjare eller om du vill jobba med uteslutande web-programmering. Men C++ är så pass mångsidigt och eftertraktat av arbetsmarknaden att jag tycker språket lätt "är bäst".
Fysikmotorer: Du kodar varken en fysikmotor eller en grafikmotor utan att ha jävligt mycket erfarenhet. Här snackar vi 3 till 5+ års erfarenhet som 3D-motorprogrammerare eller liknande. Du SKA ha erfarenhet eller vara ett geni - helst bäggedera. När jag jobbade på Avalanche Studios så lade jag märke till att alla i engine-gruppen (dvs de som jobbar med att utveckla grafikmotorn - och det var ett par 8-10 stycken, kanske fler) var alla jävligt smarta, duktiga och med många års erfarenhet. Det var dom som alla andra programmerare vände sig till när de hade problem med annat (nätverk, fysik, programmera split-screen m.m.) - även de med 5+ års erfarenhet sökte hjälp hos dom. Mitt intryck av dem var att de alla var fanatiska när det gällde programmering: riktigt duktiga människor allihop. Men inte ens Avalanche har sin egen fysikmotor utan de kör med HAVOK. Spelen Just Cause och Just Cause 2 har HAVOK som fysikmotor.
What else? Gå en utbildning. Spelar ingen roll hur duktig och självlärd du är - du kommer ha svårt att få jobb om du inte är en ingenjör eller ha gått en högskole eller yrkesinriktad högskoleutbildning (KY/YH) med fokus på just 3D-motor -programmering.
Och sist men inte minst: Räkna med att du måste lära dig en hel del matte om du inte redan kan en massa: Linjär algebra (vektorer, matriser), geometri, trigonometri, kombinatorik, topologi, differentialekvationer. Speciellt linjär algebra är superviktigt: du kommer ingenstans utan att kunna med det området.
- Deadly_Nightshade
- Inlägg: 881
- Anslöt: 2009-07-03
- Ort: Stockholm
Re: Spelprogrammering
Dock kan man ju skriva jävligt enkla spel utan alla dessa kunskaper, men ju mer man kan desto roligare blir det (oftast).
Spelprogrammering
Det finns ju mycket klart också. Man måste inte uppfinna alla hjul, särskilt om man gör något själv, utan ett team.
Jag har programmerat C/C++ i mer än 15 år och håller nog på det som grundspråk till spel även om delar mycket väl kan behöva skrivas i assembler.
Om du inte har så mycket erfarenhet och vill komma långt snabbt satsa på Java.
Jag har även programmerat objective-c för bl.a. iPhone... Men det är först nu det börjar kännas lite flytande.
Spelprogrammering kan vara hyggligt lätt till det svåraste som går att programmera. Lägg ribban lagom och räkna med ett par års inlärningtid.
Jag har programmerat C/C++ i mer än 15 år och håller nog på det som grundspråk till spel även om delar mycket väl kan behöva skrivas i assembler.
Om du inte har så mycket erfarenhet och vill komma långt snabbt satsa på Java.
Jag har även programmerat objective-c för bl.a. iPhone... Men det är först nu det börjar kännas lite flytande.
Spelprogrammering kan vara hyggligt lätt till det svåraste som går att programmera. Lägg ribban lagom och räkna med ett par års inlärningtid.
Re: Spelprogrammering
Man brukar ju säga att för att bli riktigt duktig på något så måste man träna 10000 timmar, med en 40-timmars arbetsvecka och semester så är det drygt fem år, håller man på även på fritid, helger och under semester kan man komma ner till omkring två år men då måste man träna hela sin vakna tid.
Re: Spelprogrammering
Är högskoleutbildad programmerare med ett antal år i branschen.
Jag gör inte så mycket annat än att programmera på arbetstid och fritid.
Dock är spelprogrammering ett relativt outforskat område för mig.
Har börjat gräva mig ner i OpenGL.
Men tack för tipsförsöken.
Jag gör inte så mycket annat än att programmera på arbetstid och fritid.
Dock är spelprogrammering ett relativt outforskat område för mig.
Har börjat gräva mig ner i OpenGL.
Men tack för tipsförsöken.
Spelprogrammering
C + OpenGL är inte så dumt det heller. Håller dock med Deadly_Nightshade om matten.
Vad vinner man på Java annars som inte C fixar? (eller möjligtvis C++)
Vad vinner man på Java annars som inte C fixar? (eller möjligtvis C++)
- plåtmonster
- Inlägg: 15480
- Anslöt: 2010-03-23
- Ort: Nära havet
Spelprogrammering
Om man bortser från 3D och gör ett 2D-brädspel (t ex luffarschack) blir det inte så svårt.
Spelprogrammering
Att göra spel med 3D i fokus är alldeles för omständigt. Det mest roliga händer i vilket fall i 2D där faktiskt nya idéer fortfarande frodas inte bara oerhörda mängder jobb för att skapa ännu en sandlåda av samma sorts spel som sett dagens ljus tusen gånger förr.
Spelprogrammering
plåtmonster skrev:Vad vinner man på Java annars som inte C fixar? (eller möjligtvis C++)
Den stora skillnaden språken emellan är minneshanteringen. I Java har man en skräphanterare som automatiskt tar bort object från minnet när de inte längre används vilket inte händer i C++ där du måste sköta minneshanteringen själv.
Dock är det inte lika effektivt att ha en skräphanterare som hela tiden ligger i bakgrunden och gnager på.
Sen är väl allting call by value i Java om jag inte minns fel?...
Men för att kortfatta det så är väl Java bra om man vill prova på en snabb spelidé.
Spelprogrammering
Eller så ser man till att hålla ordning på de objekt man allokerar. Garbage-collect är i stort sett en dödsynd i realtidssystem.
- plåtmonster
- Inlägg: 15480
- Anslöt: 2010-03-23
- Ort: Nära havet
Spelprogrammering
Så svårt är det ju faktiskt inte.plåtmonster skrev:Eller så ser man till att hålla ordning på de objekt man allokerar.
Spelprogrammering
plåtmonster skrev:Eller så ser man till att hålla ordning på de objekt man allokerar. Garbage-collect är i stort sett en dödsynd i realtidssystem.
Och det förutsätter att man vet om minneshantering vilket alla inte gör. För en grön kille som aldrig programmerat förut och vill prova på att göra spel för skojs skull så är inte korrekt minnesallokering det mest relevanta.
Spelprogrammering
Jag tycker att alla ovanstående har rätt på sitt sätt, men ämnet är alldeles för brett för att man ska kunna säga det ÄR på det ena eller andra sättet. Vilket är bäst, shorts eller dunjacka? Lägg ner istället för att bli osams.
Om man är grön och nyfiken så är webbläsaren en svåröverträffad plattform i termer av låg tröskel, i min högst ödmjuka åsikt, och med typ 100% räckvidd som bonus.
Om man är grön och nyfiken så är webbläsaren en svåröverträffad plattform i termer av låg tröskel, i min högst ödmjuka åsikt, och med typ 100% räckvidd som bonus.
Spelprogrammering
Varför göra samma sak som alla andra är lockade av?
Förr så skulle alla nödvändigtvis skriva egen text editor...
Jag misstänker att supersuperproffsen äger spelbranchen ändå.
Tillstår dock att det var 25 år sedan jag gjorde något vettigt inom området. Är lyckligtvis inte i avsaknad av det - livet har ju olika faser, och det tar ändå sådan tid att koda något vettigt. - Fast kanske inte objektorienterat.
Jag är också/därför imponerad av hur mycket Appar som vräks ut som det är.
Förr så skulle alla nödvändigtvis skriva egen text editor...
Jag misstänker att supersuperproffsen äger spelbranchen ändå.
Tillstår dock att det var 25 år sedan jag gjorde något vettigt inom området. Är lyckligtvis inte i avsaknad av det - livet har ju olika faser, och det tar ändå sådan tid att koda något vettigt. - Fast kanske inte objektorienterat.
Jag är också/därför imponerad av hur mycket Appar som vräks ut som det är.
- notwoodstock
- Inlägg: 3939
- Anslöt: 2013-12-22
- Ort: Stockholm
Spelprogrammering
Nja, både Angry Birds och Minecraft (säkert en handfull till) kom från ingenstans och blev riktigt stora. Sen de smarta telefonerna kom så har spelvärlden vänts upp och ner i mångt och mycket.notwoodstock skrev:Jag misstänker att supersuperproffsen äger spelbranchen ändå.
Spelprogrammering
Deadly_Nightshade skrev:Vill först och främst säga att jag är ingen programmerare - men jag är spelutvecklare (3D-grafiker) och har bekanta som jobbar med 3D-motor -programmering. Har också gått i skola med dessa typer av människor.
För det andra: Programmering är ett ENORMT stort område - och spelprogrammering likaså. Att bygga ihop ett spel som t.ex. Crysis 2 kan nästan jämställas med att bygga en rymdfärja: det krävs grymt mycket expertis och lead programmerare inom flera olika programmeringsområden: fysik, nätverk, rendering, multiplayer, m.m. Inledningsvis så är det bra att du försöker bekanta dig med grunderna i alla dessa koncept (krävs om du ska utveckla indiespel t.ex.) men senare så måste du välja en inriktning: det finns för mycket att lära helt enkelt.
Språk: C++ lägger jag min röst på. Java kan visserligen vara ett bra språk om du är en fullständig nybörjare eller om du vill jobba med uteslutande web-programmering. Men C++ är så pass mångsidigt och eftertraktat av arbetsmarknaden att jag tycker språket lätt "är bäst".
Fysikmotorer: Du kodar varken en fysikmotor eller en grafikmotor utan att ha jävligt mycket erfarenhet. Här snackar vi 3 till 5+ års erfarenhet som 3D-motorprogrammerare eller liknande. Du SKA ha erfarenhet eller vara ett geni - helst bäggedera. När jag jobbade på Avalanche Studios så lade jag märke till att alla i engine-gruppen (dvs de som jobbar med att utveckla grafikmotorn - och det var ett par 8-10 stycken, kanske fler) var alla jävligt smarta, duktiga och med många års erfarenhet. Det var dom som alla andra programmerare vände sig till när de hade problem med annat (nätverk, fysik, programmera split-screen m.m.) - även de med 5+ års erfarenhet sökte hjälp hos dom. Mitt intryck av dem var att de alla var fanatiska när det gällde programmering: riktigt duktiga människor allihop. Men inte ens Avalanche har sin egen fysikmotor utan de kör med HAVOK. Spelen Just Cause och Just Cause 2 har HAVOK som fysikmotor.
What else? Gå en utbildning. Spelar ingen roll hur duktig och självlärd du är - du kommer ha svårt att få jobb om du inte är en ingenjör eller ha gått en högskole eller yrkesinriktad högskoleutbildning (KY/YH) med fokus på just 3D-motor -programmering.
Och sist men inte minst: Räkna med att du måste lära dig en hel del matte om du inte redan kan en massa: Linjär algebra (vektorer, matriser), geometri, trigonometri, kombinatorik, topologi, differentialekvationer. Speciellt linjär algebra är superviktigt: du kommer ingenstans utan att kunna med det området.
vilak spel har du varit med och gjort då.
Spelprogrammering
Skönt att se att bra idéer fortfarande har en plats så som Minecraft. Tyvärr förstör gratisspelen allt mer spelmarknaden när de bara går ut på att få folk beroende och kontinuerligt betalandes för något som förr faktiskt handlade om underhållning och hjärngympa inte att extrahera mesta möjliga ur zombifierade spelare.Miche skrev:Nja, både Angry Birds och Minecraft (säkert en handfull till) kom från ingenstans och blev riktigt stora. Sen de smarta telefonerna kom så har spelvärlden vänts upp och ner i mångt och mycket.notwoodstock skrev:Jag misstänker att supersuperproffsen äger spelbranchen ändå.
Spelprogrammering
Miche skrev:Nja, både Angry Birds och Minecraft (säkert en handfull till) kom från ingenstans och blev riktigt stora. Sen de smarta telefonerna kom så har spelvärlden vänts upp och ner i mångt och mycket.notwoodstock skrev:Jag misstänker att supersuperproffsen äger spelbranchen ändå.
Jag menar att programmerarna är supersuperproffs - inte företagen. Den nivån känner jag inte till.
- notwoodstock
- Inlägg: 3939
- Anslöt: 2013-12-22
- Ort: Stockholm
Spelprogrammering
DIProgan skrev:Skönt att se att bra idéer fortfarande har en plats så som Minecraft. Tyvärr förstör gratisspelen allt mer spelmarknaden när de bara går ut på att få folk beroende och kontinuerligt betalandes för något som förr faktiskt handlade om underhållning och hjärngympa inte att extrahera mesta möjliga ur zombifierade spelare.
Det är mer eller mindre bara MMORPGna och mobilspel som kör med kontinuerligt betalande.
Spelprogrammering
Det finns en hel del bra mobilspel där man kan betala för att komma fortare fram men som funkar alldeles utmärkt utan att betala en enda krona. Hay Day är ett bra sådant spel.
Spelprogrammering
Miche skrev:Det finns en hel del bra mobilspel där man kan betala för att komma fortare fram men som funkar alldeles utmärkt utan att betala en enda krona. Hay Day är ett bra sådant spel.
Ehm om du tycker Hay Day är ett bra spel är du redan zombifierad.
...och som står för en allt större del av marknaden tillsammans med Facebook spel. Det andra spel gör liknande är att de släpps ofärdiga och drar extra pengar på DLC's istället för att ge funktionerna som skulle funnits från början. Inte lika jävligt men det fanns en tid då spel inte var så exploaterat av pengahungriga kapitalister.NIF skrev:Det är mer eller mindre bara MMORPGna och mobilspel som kör med kontinuerligt betalande.