Å lage spill tar tid. For eksempel sies det at fjorårets storspill Red Dead Redemption tok mellom åtte og ni år fra start til slutt, mens norske Krillbite har brukt seks år på sitt Mosaic.
Og Magnar Sveen, som står bak hobbyspillet Adventur Delux? Han pleier å si at han har brukt noe sånt som over 20 år.
- Som så mange andre begynte jeg å programmere for å lage mine egne spill. Det gikk i Commodore 64 og Amiga, før jeg måtte få meg en PC når jeg skulle studere, forteller Sveen, som til daglig jobber som utvikler i Kodemaker.
Neida; han har ikke brukt rundt 23 år på nøyaktig det samme spillet. Men det tekstbaserte eventyrspillet har røtter fra langt tilbake, og resultatet av årevis med jobbing er et spill med over 30.000 sider innhold.
Slik gjør han det.
Hva går spillet ut på? 🕹️
Adventur Delux er et tekstbasert eventyrspill som foregår i middelalderen, sånn rundt tetid. Man har med seg langsverdet sitt på tur, sier vittige ting, og slåss med drager, demoner og andre bøllefrø.
«Spillet består ganske enkelt av sider i en gigantisk rettet graf.»
Spillet var inspirert av tidsreisebøkene - en bokserie hvor man leste noen avsnitt, gjorde et valg, og så måtte bla til en annen side for å se hvordan det gikk.
Spillet består ganske enkelt av sider (tekst + alternativer) i en gigantisk rettet graf. Det er ikke en DAG (Directed Acyclic Graph) som mange tenker først - for den er syklisk. Selv om historiene som utspiller seg ikke kan gjentas, så kan man vandre rundt mellom spillets mange områder så mye man vil.
Sa jeg gigantisk? Spillet består i skrivende stund av godt over 30.000 sider, og en tekstmengde tilsvarende over fire Ringenes Herre-trilogier. Alt kjærlig håndskrevet de siste tjue årene.
Hvordan foregår utviklingen av spillet? ☕
Når jeg var tolv år leste jeg mye Conan. Det var tøft. Jeg ville lage et tøft Conan-inspirert spill, og begynte å skrive et program stappet med PRINT, INPUT, IF og GOTO. Det stoppet seg selv ganske fort. Klossete. Jeg skjønte at jeg måtte lage en slags editor.
Skrev eget rammeverk for pek-og-klikk-spill
Å lage Barney's Dream Cruise tok konsulenten tre år, og mye tjuvlåning av kjærestens MacBook.
Resultatet ble et spill hvor man kunne spille så lenge historien var skrevet - og når man nådde "røde alternativer" (ikke skrevet enda), så kunne man skrive videre rett der. Alle sidene ble lagret på disk i et hjemmelaget scriptspråk. (Og flaks var det, for flate filer er langt hyggeligere å porte enn et BASIC-program.)
Jeg fulgte opp denne fantastiske innovasjonen med å glemme hele greia i seks år.
En gang i 1996 snublet jeg over editoren på nytt, forkastet fort det Conan-baserte vrøvlet til en 12-åring, og begynte å skrive helt nytt vrøvl. Det var dette som endte opp med å, på mange måter, bli mitt livsverk. Man skal ikke undervurdere effekten av den første til å følge. En kamerat syns spillet var tipp topp, kastet seg med å skrive, og slik ble "Magnar og Glenns fantastiske interaktive eventyr" til.
Hva slags spillmotor brukes? 💪
Den første versjonen var skrevet i AMOS på Amiga. Den neste editoren skrev jeg mange år senere med Java 2D - rett og slett en håndsydd editor med g.clearRect, g.drawString og så videre. Neste editor var implementert i Groovy, før jeg nå har landet på en Emacs plugin med en slags intellisense Clojure backend.
Hva er funksjonell programmering? 🤔
Mangar og kollegaen hans forklarer, og lokker.
Jeg har også laget en nettside for de ivrigste spillerne som vil bidra som medforfattere, denne i Ruby on Rails.
Selve spillmotoren (som ble skilt ut fra editoren når jeg gikk bort fra Amiga) var først skrevet som en Java Applet (med socket connection til serveren), deretter ikke én, men to ganger, på en klassisk LAMP-stack (ja, jeg har skrevet masse PHP). For ikke å glemme programmet jeg skrev i Ruby for å kompilere Adventur-script til PHP.
Ja ja, sånn går no dagan. Nå er det hele implementert med Clojure og ClojureScript.
Hva er de viktigste tredjeparts-løsningene spillet bruker? ⚙️
Et sentralt konsept i spillet er at eventyreren har en unik superegenskap: han eller hun kan hoppe i tid. Det er en særlig godt egnet kraft å ha i et slikt spill, fordi det er basically undo siste valg.
«Tenk Git, bare for dataene dine. Takk, Rich Hickey!»
I praksis har det ikke vært så lett. For å kunne spole tilbake eventyreren vilkårlig langt, måtte jeg enten ta vare på alle versjon av spilleren - eller en serie med diffs. Det var ikke bare-bare i PHP og MySQL, skal jeg si.
I den nyeste versjonen er Datomic svaret på mine problemer, og herlighet; noe så flott å jobbe med. Kort fortalt er Datomic en database med innebygget støtte for tid og historikk, slik at man kan gjøre vilkårlige queries tilbake i tid raskt og effektivt. Tenk Git, bare for dataene dine. Takk, Rich Hickey!
Forøvrig er motoren helt hjemmesnekret - det er jo halve moroa - men som et nettspill baserer det seg naturligvis på det meste som har snublet seg gjennom W3C sin standardiseringsprosess.
Hva er de største tekniske utfordringene med spillet? 😥
I tillegg til dette med tidshopp, så har jeg lagt ned betraktelig med tid i å gjøre spillet så mobilvennlig som mulig. Selve spilleformen egner seg utmerket for buss og tog, så da ville jeg tilrettelegge også for små skjermer og dårlig nett.
Ettersom man fort kan miste en request halvveis på dårlig nett, så må alle endepunkter være idempotente slik at requestene automatisk kan prøves på nytt.
Det var en utfordring, men også godt å se at spillet oppfører seg bra i møte med vanskelige nettverksforhold.
Kan du fortelle litt om hvordan grafikken er laget? 🎨
Mesteparten av grafikken i dette spillet lages oppi hodet, av leseren. De beste bildene får du på radio, har jeg hørt. Noe sånt.
Jeg har bevisst valgt bort flashy grafikk, stilige bakgrunnsbilder og denslags av en enkel grunn: Hvis du skal lese i mange timer, så blir det forstyrrende. Gi meg en god font, bra typografi, stor nok skrift og en anonym bakgrunn heller.
Når det er sagt, så har jeg ikke klart å dy meg helt. I forbindelse med 40-årsdagen min ønsket jeg meg penger, som jeg så brukte til å betale en dyktig concept art-kunstner. Han har malt et velkomstbilde til alle byene i spillet.
Og hvordan er lyden og musikken laget? 🔊
Musikken i spillet er helt valgfri, og spilles ved hjelp av en selvbetjent tredjepartsløsning, eksempelvis Spotify. :)
Slik lager de årets store, norske spill
Etter 6 år og over 15 millioner kroner er Krillbite Studio snart klare med Mosaic.
Hvilke plattformer er spillet gitt ut til? 🎮
Det har vært snakk om å bundle spillet i App Store og slikt, kanskje det kunne kostet 5 kroner, men nei, her er det web hele veien til fattighuset.
Hvordan går det med økonomien til spillet? 💰
Ja, nettopp. Å lage dette spillet har aldri gått i pluss, økonomisk sett. Jeg kan ikke fordra reklame. Det samme gjelder pay-to-win, pay-to-skip, og andre mørke triks.
Så Adventur Delux er aldeles gratis og reklamefritt.
Serverkostnadene dekkes av de vakre menneskene i foreningen Adventurs Venner. De får en lekker stjerne ved navnet sitt i chatten, og ikke stort annet. For noen bra folk!
Nybegynner-guide til å lage spill i Unity
Lag en DONKEY.BAS-klone, og lær deg både C# og den kraftige spillmotoren! 🕹️
Gi ett råd til nordmenn som har lyst til å begynne med spillutvikling! 💡
Jeg vet ikke hvordan man bryter gjennom i bransjen, tjener seg til mangemillionær ved å blåkopiere Scrabble, eller får appen på topplistene i App Store, men jeg vet dette:
Å ha et koseprosjekt av en viss størrelse er utrolig lærerikt. Når jeg vil teste noe ny tech, en ny metode, et spennende bibliotek, så har jeg alltid noe praktisk jeg kan bruke det til. Jeg er 100% sikker på at jeg er en langt bedre utvikler i dag takket være dette spillet. Gøy er det også!
Malins mod spilles av 40.000 personer
Modde-kulturen lever i beste velgående. - Man trenger ikke å kunne koding, men det er et stort pluss, forteller Malin Skomsvold (28).