Jasså, du vil lage spill?

Yetipants

Mein Gampf
Medlem av ledelsen
#1
Det har ikke vært all verdens oppmerksomhet rundt å mekke egne spill på Spillegal, men det går det jo an å gjøre noe med. Tanken bak denne tråden er å gi noen tips om verktøy, programmer og kunnskap som kan være kjekk å ha hvis man vil lage sine egne spill, men ikke vet helt hvor man bør begynne. Skal vi se her:


Fig. 1: En typisk spillutvikler.

Programmer for å lage spill
Dette er en kort liste over programmer man kan laste ned for å få muligheten til å lage sine egne spill, enten forholdsvis enkelt ved å bruke forhåndslagede funksjoner i programmet, eller ved å programmere sine egne ting. Jeg kommer fortrinnsvis til å skrive om programmer jeg selv har erfaring med, og si litt om hvor enkle eller vanskelige de er å bruke, samt om de passer for nybegynnere eller avanserte brukere. En annen viktig ting er så klart om de koster penger eller er gratis.
  • GameMaker: Dette er et veldig mye brukt program som slekter på fordums programvare som Klik'n'Play, The Games Factory, Multimedia Fusion osv. (Ikke at ikke MMF fortsatt eksisterer, men sist jeg sjekka var det dyrt og ikke spesielt fleksibelt). GameMaker startet som et delvis ideelt prosjekt laget av Mark Overmars, men nå er det et selskap ved navn Yoyo Games som eier og vedlikeholder det. GameMaker er veldig anvendelig fordi det er så mye brukt, og dermed finner du garantert mye informasjon og hjelp på nett hvis du trenger det. En annen fordel er at du kan velge om du vil bruke forhåndslagede funksjoner du setter sammen visuelt, eller om du vil programmere dine egne funksjoner for bedre kontroll. Det er verdt å merke seg at GameMaker først og fremst er laget for 2D-spill; her kan du enkelt få til plattformspill, Zelda-aktige eventyrspill, enkle strategispill i 2D, sidescrollende skytespill og mye annet. Etter hva jeg har hørt finnes det tillegg til programmet som lar deg drive med 3D, men jeg har ikke testet noen av dem og aner ikke hvordan de fungerer. Jeg liker at GameMaker har flere verktøy som i praksis lar deg lage alt du trenger til et spill uten å bruke noen andre programmer (unntatt musikk og lyd), og hvis du kan litt programmering er det ikke vanskelig å mekke egne scripts som gir deg god kontroll over spillet. Ulempene er først og fremst at gratisutgaven er skrekkelig begrenset; du kan ikke bruke programtillegg, og alle spillene dine blir ruinert med et digert og stygt vannmerke. Dette kan du slippe unna ved å laste ned en eldre versjon (8.0 er vel den siste som ikke har vannmerket etter hva jeg vet), men det er ikke himla dyrt hvis du vil kjøpe den enkleste "proff"-versjonen (den dyrere proffversjonen lar deg mekke spill til iOS, Android osv.). $40 koster programmet hvis du bare vil mekke Windows-spill, og det syntes jeg det var verdt.
  • Construct Classic: Dette har jeg bare brukt såvidt, men jeg husker at det er veldig likt GameMaker, men det inneholder en del fine DirectX-tillegg som lar deg mekke stilige effekter forholdsvis enkelt. Fortsatt bare 2D, virker det som. Har som sagt ikke brukt det så mye, men jeg vet at indie-utvikleren Konjak (som har laget Noitu Love-spillene og jobber med Iconoclasts akkurat nå) bruker det til spillene sine. Passer bra for nybegynnere, og det er free gratis.
  • Unity 3D: Nå er vi over på mer proffe saker. Unity brukes av mange spillselskaper for å lage skikkelige spill som gis ut på PC, Mac, Xbox 360, PlayStation 3, iOS og Android. Unity er ikke laget for 2D-spill, og du vil nok slite litt mer hvis du vil lage 2D med det, men til 3D-spillmekking finnes det nesten ikke noe enklere. Når det er sagt er ikke 3D-spillmekking noe enkelt, så du må legge en del tid i å lære deg mange grunnleggende konsepter først. Unity er også veldig populært og du finner mange gode guider for å hjelpe deg i gang. En annen stor fordel, er at gratisutgaven er veldig brukbar og lar deg mekke komplette spill uten noe dilldall. Hvis du trenger avanserte funksjoner som sanntids-lyssetting og -skyggelegging eller eksport av spillene dine til iOS, Android eller konsoller, må du punge ut for proffversjonen som koster noen tusen. For hobbyutviklere holder likevel gratisversjonen lenge, så dette er absolutt verdt å sjekke ut hvis du vil mekke 3D-spill. Passer for lærevillige nybegynnere, men er mest siktet inn mot mer erfarne brukere siden du må kunne programmering (enten JavaScript, C# eller noe kalt Boo som jeg ikke aner hva er) for å få til noe særlig. Basert på egne erfaringer synes jeg Unity er svært enkelt å sette seg inn i så lenge du har de grunnleggende konseptene inne, og det har massevis av avanserte funksjoner som hjelper deg. Det eneste som legges inn i spillet ditt når du bruker gratisversjonen, er en kort intro hvor det står "Made with Unity". Topp saker. Finnes både til Windows og MacOS, forøvrig. Ikke at noen som bruker Mac liker spill, da.
  • Stencyl: Et gratis program som lar deg mekke Flash-spill (du kan også mekke spill til Windows eller iOS, men det koster penger... og det er et abonnement og ikke en tjeneste, så i mine øyne er ikke det verdt pengene med tanke på alternativene som eksisterer). Har bare testet så vidt, men det er basert på at du velger en spilltype, og så setter du inn objekter, definerer regler og kjører i vei. Veldig enkelt å komme i gang med, men det virket ikke som om det hadde særlig mange funksjoner for avanserte brukere i gratisutgaven.
  • Oh! My! Game: Spillegals egne spillmekker (SHDR, som er en mangeårig bruker her på forumet, er en av de som har laget OMG). Dette er igjen giret mot å lage Flash-spill, og bruker omtrent samme type visuell programmering som GameMaker eller Construct. Man kan velge mellom forhåndslagede pakker man kan bruke i spillet sitt, og så snekrer man enkelt sammen reglene for spillet selv. Har testet det en del, men jeg syntes det fort ble for hemmende. Uansett, enkelt å komme i gang med, så sjekk det ut. Også gratis.
  • XNA: Tar med denne også, siden det er et veldig bra verktøy. XNA er et rammeverk for å mekke spill til Windows, Xbox 360 og Windows Phone; dog, i de nyeste versjonene nevnes ikke Windows så mye. Dette er gratis programvare fra Microsoft, og bruker C# for å la deg lage dine egne spill, med svært få begrensninger. Her har du nesten full kontroll, og kan lage det du klarer å tenke deg (innen rimelighetens grenser). Ulempen? Dette er bare for proffer eller folk som er villige til å bruke tid på å lære seg C#-programmering, for du kommer ingen vei uten å kunne programmere. Jeg har brukt mye mer tid på XNA enn på Unity, og skal jeg være ærlig synes jeg det er like greit å bruke Unity siden det gir nesten like god kontroll og er mye enklere å bruke. Uansett, XNA lever fortsatt videre, og det finnes mange ressurser for å lære seg å bruke det. Så lenge du kan programmering, altså.
  • FlashPunk: Et rammeverk til Flash som bruker ActionScript for å la deg mekke 2D-spill.
  • Flixel: Et annet rammeverk til Flash som bruker ActionScript for å la deg mekke 2D-spill. Både FlashPunk og Flixel krever at du i det minste har litt peiling på programmering, ellers går det trått.
  • LÖVE 2D: Et rammeverk som bruker Lua og lar deg mekke 2D-spill. Ikke testet, men hørt om. Visstnok enkelt å sette seg inn i, også for folk som ikke er programmerere.
  • CryEngine 3: Mekk 3D-spill i Crysis-motoren, hvis du vil det. Gratis!
  • Unreal Engine (UDK): Mekk 3D-spill i Unreal-motoren, hvis du vil det. Gratis!
  • id Tech 3: Mekk 3D-spill i Quake 3-motoren, hvis du vil det. Gratis, og basisen for alle andre spillmotorer som eksisterer.
Programmer for å lage grafikk eller lyd og musikk
Dette er programmer som lar deg mekke lyder og visuelt krimskrams som de aller fleste spill trenger.
  • GIMP: Har du ikke råd til Photoshop? Da er GIMP et greit alternativ. Helt gratis grafikkverktøy som gjør det meste Photoshop får til, bare litt mer kronglete (hvis du er vant til Photoshop, som meg). Kjører på Linux, Windows, og sikkert det meste annet som lar deg kompilere sånn sær Unix-basert programvare. Noe opplæringstid bør beregnes, men det finnes ørten tusen ressurser for å lære seg taua.
  • Paint.net: Gratis Windows-program som visstnok gir deg mange av de samme funksjonene som GIMP og Photoshop. Jeg veit at mange indies sverger til dette, så jeg tar det med selv om jeg ikke har testa det selv.
  • Blender: Vil du mekke 3D-grafikk, sier du? Vel, jeg håper du har noen år å lære deg det på, for det er satans vanskelig. Uansett, Blender er gratis og lar deg mekke det aller meste. Ulempen er at det er så komplisert at bare å lære seg hvordan i helvete man bruker programmet krever at du leser en hel bok. Har bare brukt det litt, klødde meg i huet og ga opp. Uansett, mange sverger til det og hvis du er motivert får du garantert noe ut av det.
  • Wings 3D: Wings er mitt foretrukne verktøy når jeg later som om jeg kan 3D-modellering, og det er ganske enkelt fordi det har en arbeidsflyt som er superenkel og naturlig når du først har lært deg den. Kort fortalt begynner du med enkle former (for eksempel en kube), som du så bygger ut til en mer avansert modell som ser ut slik du vil ha den. Wings passer bra for spillgrafikk siden du har total kontroll på alle polygonene modellen din består av, og dermed kan holde antall polygoner nede for raskere ytelse. Ulempen er den samme; du må ha kontroll på alle polygonene, og det er lett å kødde det til permanent hvis du ikke passer på. En annen stor ulempe er at Wings ikke har noen støtte for animasjon. Uansett, gratis denne også.
  • Pixexix: Er du som meg, og irriterer deg grønn over at det ikke finnes et gratis program som lar deg tegne teksturer rett på 3D-modeller, og som ikke er kriseræva? Sjekk ut dette.
  • Bfxr: Trenger du lydeffekter til spillet ditt? Så klart gjør du det. Bfxr er så mye brukt at du nesten garantert har hørt noen lydeffekter fra dette programmet hvis du har spilt et indie-spill de siste årene. Her får du et komplett sett med lydeffekter i 8-bits-stil, med enkle funksjoner for å automatisk generere noe passende, eller tilpasse lydene til dine egne behov. Ulempen er at du ikke har mulighet til å komme utenom at det høres ut som noe fra en NES. Uansett, gratis og greit å bruke.
  • Labchirp: Mye det samme som Bfxr, bare uten muligheten for å automekke forhåndsdefinerte lyder, MEN til gjengjeld har det mange flere avanserte funksjoner du ikke finner i Bfxr. Jeg liker dette godt, fordi det er en mini-synth som lar deg kombinere synthdeler selv, tilpasse dem helt etter eget ønske og gir deg full kontroll. Litt vanskelig å bruke hvis du ikke kan synthprogrammering, dog. Uansett, gratis.
  • Renoise: En superkraftig tracker (trackere er musikkprogrammer som stammer fra tidlige datamaskiner, ekstremt mye brukt i spill til Amiga og i den såkalte demoscenen). Renoise har en gratis demo som dessverre ikke kan brukes til å mekke musikk som kan spilles i spillene dine, men det er ganske billig (58 euro) å kjøpe det og da har du et helproft verktøy som kan mekke nesten hva det skal være. Ulempen er så klart at du må være helproff selv, men når det gjelder datamusikkmekking synes jeg trackere er gullgode å jobbe med og de er morsomme å lære seg å bruke.
Ressurser for å lære seg å bruke disse fine greiene
Dette er en liste over opplæringsartikler, guider, tips og lignende for å lære seg å bruke verktøyene beskrevet ovenfor.
Ressurser for å lære seg spilldesign
Du kan ikke bare slenge sammen det du føler for og få et bra spill, design er et håndverk som også må læres. Du lærer mye av å prøve deg fram, men det kan være greit å få noen tips. Her er en liste over artikler jeg synes er inspirerende, opplysende eller bare interessante.
  • Fun is Boring: Om spillsemantikk.
  • Building Tight Game Systems of Cause and Effect: Uforlignelige Dan Cook om "tightness". Dette er essensiell lesning hvis du vil mekke spill. Egentlig er hele Lost Garden (bloggen til danc) essensiell lesning.
  • Why We Design Games: En veldig kort og veldig spesifikk artikkel fra Vlambeer (de som laget Super Crate Box, Luftrauser og Radical Fishing, blant annet), om hvorfor man bør mekke spill. Lærer deg kanskje ikke så mye, men det er to viktige sannheter å plukke opp her likevel. Finner du dem?
  • Finishing a Game: Okay, ikke spilldesign, men gode tips til å faktisk bli ferdig med spill du begynner å mekke. Skrevet av Derek Yu, altså han som lagde Spelunky.
Så, ja. Kom gjerne med spørsmål, forslag, bidrag, eller hva som helst.
 

Jante

privileged CIS shitlord
#3
Kan jeg gi enda flere brofists for denne tråden plz?
 

Yetipants

Mein Gampf
Medlem av ledelsen
#4
Reagerte bare på en ting:
Buggz mer'a du veit hva jeg mente.

Edit: Oppdaterte førsteposten med noen få artikler jeg hadde liggende i tabs her.
 

Endre

Ødela forumet
#5
Jeg vil legge til at for de som er interessert i å lage spill i Flash, eller nærmere bestemt ActionScript 3, så finnes det i hvert fall to andre alternativer enn de nevnt ovenfor. De heter FlashPunk og Flixel. Dette er rammeverk skrevet i AS3 som tar seg av noe av løftinga og gjør det rimelig enkelt å lage 2D-spill, men du må fortsatt kunne litt programmering. Flixel er skrevet av fyren som laget Canabalt, og er kanskje bedre egnet for plattformspill, mens FlashPunk er litt mer generelt? Eller kanskje det bare er tull. Begge er i hvert fall gratis, så de er verdt å prøve ut.

Hvis noen har erfaring med Lua, så finnes det et rammeverk til det som heter LÖVE. Såvidt jeg vet er det litt av samme greia som FlashPunk og Flixel. Hvis jeg ikke tar feil så er en av utviklerne rude (fra Spillegal? vennen til SHDR), så en shout-out til han er på plass.
 

Yetipants

Mein Gampf
Medlem av ledelsen
#6
Yess, tenkte faktisk på både FlashPunk og Flixel men glemte å ta dem med, sorry! Uansett, jeg var jo med i NM i gameplay i januar, og da brukte jeg FlashPunk. Lærte meg ActionScript og FlashPunk samtidig som jeg mekka spillet mitt på ei uke, så det tiltredes at hvis du kan programmering, så er det en enkel måte å komme i gang på. Min erfaring er at Flixel gir deg mer forhåndsmekka dilldall som gjør det lettere å mekke spill, men det innebærer også at du er mer låst til rammeverket. FlashPunk hadde bare ganske enkle byggeklosser å by på, men jeg syntes det var enkelt å utvide dem til det jeg ville ha. Så, sjekk dem ut hvis du er programmeringsorientert og liker å gjøre det meste selv.
 

Yetipants

Mein Gampf
Medlem av ledelsen
#8
Med andre ord: Hvis du er bare litt smartere enn Lodin, kan du mekke dine egne spill. Kjør på.
 

ganon

The Boshy
#9
Den bpste tråden. Ble bitt av basillen her og er i gang med mitt første "spill" i javascript :) Følger kursene på codeacademy.com, og jeg har ikke brukt data noe særlig de 10 siste årene, men synes det er henholdsvis enkelt, og veldig gøy hittil.
 
#10
Spørsmål: Er Javascript et bra egnet språk for å lage spill? Fordi jeg vurderer litt å begi meg ut på C#, men jeg var så godt i gang med å lære Javascript på codeacademy.com (følte jeg), og det finnes visst ikke noe tilsvarende for C#.

Og forresten, hvis noen har lyst til å sammarbeide om et prosjekt eller iallfall preike litt om ideer og se hvor det går så bare si ifra. :)
 

Buggz

Jævla Buggz
Medlem av ledelsen
#11
Javascript er ikke godt egnet til å lage spill i det hele tatt, men det hindrer ikke folk fordet.
 

Yetipants

Mein Gampf
Medlem av ledelsen
#14
Spørsmål: Er Javascript et bra egnet språk for å lage spill?
Som Buggz sier er det korte svaret nei. Det litt lengre svaret er "nei, men du kan bruke JavaScript i Unity"; det ennå litt lengre svaret er "du kan bruke JavaScript i Unity, MEN det tar ganske lang tid før du er på nivået som kreves for å mekke noe skikkelig i Unity".

Så, da er det på tide å vinkle saken litt annerledes. JavaScript er ikke det mest ideelle for å mekke spill med, MEN å lære seg JavaScript skikkelig er en veldig god begynnelse på å lære seg programmering skikkelig. Og når du først kan programmering skikkelig, tar det ikke lang tid å lære seg et nytt programmeringsspråk fordi du allerede veit hva du kan forvente å se der. Så, igjen, å lære seg programmering er ikke noe du gjør på ei uke, men ferdighetene du plukker opp vil du kunne dra nytte av om mange år hvis du fortsetter å drive med sånne ting.
 

Yetipants

Mein Gampf
Medlem av ledelsen
#15
Se her ja, lufta gikk dessverre fortere ut av ballongen enn jeg hadde fryktet. Uansett! Hva med en liten video bare for å understreke at du kan mekke spill?


Nå har det seg sånn at Gamasutra har publisert en artikkel som heter "No, You Can't Make Videogames" som jeg ikke har tenkt til å linke, men isteden linker jeg et svar til den artikkelen som påpeker hvorfor det er feil å si at ikke hvem som helst kan mekke spill.

Men ja, til saken: Det er kanskje lettere å få ræva i gir hvis man har et mål å jobbe mot, så jeg funderer på om vi rett og slett skal holde Spillegals første gamejam. Det blir da en konkurranse om å lage spill, og konkurransen består i at du finner ut at du vil lage et spill, og så konkurrerer du mot deg selv for å lage det. Hvis du lykkes i å lage noe som minner om et spill, da vinner du. Hvis du mislykkes, så har du et bedre utgangspunkt for å prøve igjen. Kan sikkert sette en tidsfrist eller noe hvis det er ønskelig.

Så, bra ide? Dårlig ide? Kommentarer eller forslag? Kjør på.
 
#19
Hvis vi får et subforum for spillmekking
Stemmer for det her. Så har man et sted å samle alt relatert til spillmekking, gamejams evt. konkuranser der man voter på spillene til folk. Vanskelig å si om det blir for ambisiøst med sistenevnte men det virker som det er endel interesse for å lage spill her, og de som ikke lager noe (dvs. de fleste på forumet) vil jeg tippe har mye glede av å følge med på andres arbeid/teste ut spill og komme med tilbakemeldinger.
 

Yetipants

Mein Gampf
Medlem av ledelsen
#20
Bra å høre. :)

Sånn ellers, mekka litt tiles. Figurspriten er (C) original character do not steal, så klart.