Vi har snakket med den norske spillutvikleren Espen Stokkereit, om hans første kommersielle spill.
Husker du Snake? Selvsagt gjør du det – konseptet er urgammelt, men om du har noen år på baken er det gjerne versjonen fra de gode, gamle Nokia-telefonene du har brukt mest tid på. Snake er uansett et enkelt spill: Du spiller en slange i en liten arena, og må spise mat for å få poeng. Men for hver matbit du spiser blir halen din lengre, og til slutt blir den så lang at du ender opp med å krasje i deg selv og krepere.
Norske Espen Stokkereit har tatt grunnkonseptet fra Snake, men kommet opp med en hel haug nye ideer som bygger videre på dette. Resultatet er Snake Odyssey!, som i høst ble lansert på iOS og Android etter over tre år med utvikling. Her spiller du også en slange som må ha mat, men i løpet av de over hundre nivåene i spillet får du varierte mål og må overkomme like varierte hindringer. Et hovedkonsept i spillet er at egenskapene dine endres basert på maten du gafler nedpå, og dette blir raskt nødvendig for å overkomme spillets mange hindringer.
Vi har fått noen ord med Stokkereit, for å høre mer om Snake Odyssey!, historien bak spillet og hvordan det endret seg underveis i utviklingen.
Hva slags bakgrunn har du, og hvordan ble du glad i spill?
Selv om jeg har en variert bakgrunn med studier i kinesisk, økonomi og en doktorgrad i matematikk, fant jeg til slutt veien til teknologi og lærte meg programmering mens jeg jobbet som lærer. Dette ledet meg til en utviklerstilling i Equinor, hvor jeg trivdes godt. Likevel kjente jeg på en trang til å skape noe eget, spesielt innen spillutvikling. Etter hvert bestemte jeg meg for å satse fullt ut på spilldrømmen, og sa opp jobben min for å utvikle Snake Odyssey.
Spillinteressen min startet tidlig med en Super Nintendo, og jeg har alltid vært en stor fan av Nintendo. Allerede som barn satt jeg og tegnet Mario-baner i kladdeboka. Snake Odyssey! er på mange måter en hyllest til disse barndomsminnene, og jeg beskriver det gjerne som en kombinasjon av klassiske Snake og Super Mario.
Hvor kom ideen om å utvikle egne spill fra?
Jeg ser på programvareutvikling som en blanding av kunst og håndverk. Akkurat som en pensel kan skape både funksjonelle verktøy og vakre malerier, kan programmering brukes til å utvikle både nyttige løsninger og mer kreative prosjekter.
Som utvikler i en større bedrift er fokuset ofte på løsninger som gir forretningsverdi, noe som er spennende, men jeg savnet det lekne og kreative aspektet ved koding. Derfor startet jeg et hobbyprosjekt og bestemte meg for å utvikle et spill. Spillskaping appellerte til meg både fordi jeg liker å spille, og fordi det er visuelt – man ser umiddelbart resultatet av innsatsen sin. Dessuten utfordrer det kreativiteten, da kun fantasien setter grenser for hva man kan skape.
Fortell oss litt om Snake Odyssey!
Spillet består av over 100 nivåer, hvor jeg har forsøkt å gjøre hvert nivå unikt. En hovedfunksjon er at slangen spiser bær med spesielle krefter som utløser ulike effekter. Spillet har flere verdener, og i hver verden introduseres en ny kraft. Når en verden er fullført, låser du opp den nye kraften, som gir slangen nytt utseende og egenskaper.
I tillegg byr spillet på ekstra utfordringer. Hvert nivå har et krevende målsum som, om nådd, låser opp bonusspill. Det finnes også et skjult retrobær i hver verden, og om du finner alle, vil du åpne opp Retro World. Denne verdenen er en hyllest til det klassiske Snake-spillet.
Hvordan endte du opp med å lage et Snake-inspirert spill?
Jeg valgte et Snake-inspirert spill fordi det vekker nostalgi – det var et spill jeg ofte spilte med venner på de gamle Nokia-telefonene. I tillegg ønsket jeg å lage et retro-spill, siden jeg ikke har formell kompetanse i spillutvikling og visuell design, og derfor måtte holde mekanikk og design enkelt. Ved å ta utgangspunkt i et kjent konsept som Snake, håpet jeg også å nå ut til et bredere publikum.
Har du utviklet hele spillet på egenhånd?
Ja, det har jeg! Og det har vært litt av en læringsreise da jeg har måtte sette meg inn i veldig mye nytt.
Hvor lang tid har det tatt å lage? Og kan du fortelle litt om utviklingen?
Utviklingen av spillet har tatt omtrent tre år, hvor jeg jobbet fulltid i halvparten av denne tiden. Prosjektet begynte i Android Studio som et enkelt og eksperimentelt pikselbasert spill med hakkete bevegelser. Allerede i starten hadde jeg ideen om at bærene slangen spiser skulle utløse ulike hendelser, som for eksempel at flammer dukker opp på banen når visse typer bær spises.
Da jeg ønsket å utvide til iOS, innså jeg at det ville bli utfordrende å overføre koden direkte. Derfor flyttet jeg hele prosjektet til Flutter, et rammeverk som lar utviklere bygge apper for flere plattformer fra én kodebase. Dette krevde en sommer med intens jobb, men ga meg samtidig muligheten til å forbedre både koden og ytelsen ved å bruke Flame Engine, som er spesialtilpasset spillutvikling i Flutter. Det nye miljøet åpnet også for en jevnere og mer stabil brukeropplevelse.
Da jeg lanserte en betaversjon, oppdaget jeg at mange av elementene ikke fungerte optimalt. For eksempel var kontrollene, som opprinnelig baserte seg på knapper, upraktiske for mobilbruk. I tillegg gjorde hakkete bevegelser og høy vanskelighetsgrad at mange spillere mistet kontrollen og ga opp. Jeg ønsket også å gi spillet et visuelt løft for å tiltrekke flere spillere via sosiale medier.
Jeg gjennomførte derfor en større overhaling: kontrollene ble endret til swipe-baserte bevegelser, vanskelighetsgraden ble justert ved at spilleren ikke dør av å treffe vegger eller seg selv, og designet ble gjort om til en mer fargerik og dynamisk tegneseriestil. For å gi spillet mer dybde ble nivåene organisert i ulike temaverdener, som «Flame World» og «Dizzy World», og jeg brukte AI-verktøy til å lage unike musikalske temaer for hver verden. Dette gav spillet en mer levende følelse.
En av de største tekniske utfordringene var kollisjonshåndteringen. Etter å ha startet med en rutebasert metode og senere brukt Flame Engine sine «collision boxes», fant jeg ut at disse metodene ofte førte til unøyaktigheter, som at prosjektiler gikk gjennom målet. For å løse dette utviklet jeg til slutt et nodebasert system som gir svært robuste kollisjonsdeteksjoner, noe som forbedret både spillopplevelsen og påliteligheten betydelig.
Hvordan forholder du deg til at spillet er grunnleggende rutebasert samtidig som du har lagt inn glatte bevegelser for slangen?
Det tok meg litt tid å avgjøre hvordan jeg skulle balansere rutebaserte mekanikker med glatte bevegelser for slangen. Opprinnelig vurderte jeg rykkvise bevegelser, som i klassiske Snake-spill, men jeg erfarte at dette ga en mindre tilfredsstillende spillopplevelse når man bruker swipe-kontroller. Med knappestyring kan spilleren respondere raskere, og da fungerer rykkvise bevegelser godt, mens med swipe er det nyttig å kunne følge slangens bevegelse mer presist. Derfor fant jeg at kontinuerlige bevegelser ga bedre flyt og kontroll.
I tillegg bidrar de glatte bevegelsene til et mer estetisk uttrykk, spesielt etter at jeg oppgraderte grafikken fra pikselbasert til en tegneserieinspirert stil, hvor den kontinuerlige bevegelsen harmonerer bedre visuelt.
Hvilke ideer er du mest fornøyd med?
Jeg er veldig fornøyd med ideen om å introdusere forskjellige bær med spesielle krefter. Dette føles som en naturlig utvidelse av Snake-konseptet og åpner for mye variasjon, da det kun er fantasien som setter grenser for hvilke krefter man kan legge til.
I tillegg er jeg glad for ideen om å innføre en «Retro World.» På den måten fikk jeg bruk for den pikselbaserte grafikken jeg jobbet med tidlig i utviklingen. Retro World lar spilleren oppleve en hel verden i pikselstil, og etter å ha fullført denne låser man opp «Retro Berry,» som gir muligheten til å spille de andre verdenene i en mer utfordrende retroversjon.
Hvordan jobber du med nivådesign? Er det mye testing involvert?
I begynnelsen hadde jeg full frihet i nivådesignen, og drodlet ned mange forskjellige ideer – alt fra flammer og bier til diskotek, «whac-a-mole»-inspirerte nivåer og missiler som falt fra himmelen. Jeg utviklet noen av disse konseptene videre, men nivåene ble ofte satt sammen i litt tilfeldig rekkefølge, og ideene ble gjenbrukt i ulike kombinasjoner. Etter hvert innså jeg at dette kunne virke noe ustrukturert for spilleren og bestemte meg for å organisere nivåene i tematiske verdener. Det ga nivåene en rød tråd og bidro til en mer helhetlig spillopplevelse. Samtidig gjorde det den kreative prosessen lettere, ettersom faste rammer kan stimulere kreativiteten og åpne for flere ideer.
Med disse strukturene på plass, satte jeg et mål om at hvert nivå skulle føles friskt og unikt, slik at spilleren stadig møtte nye utfordringer. Å utvikle over 100 unike og engasjerende nivåer var definitivt krevende, men strukturen hjalp meg å få ut ideer, og jeg har fortsatt mange konsepter jeg kan utforske videre i fremtiden.
Testing og finpuss var også en stor del av prosessen, for å sikre at hvert nivå både var underholdende og hadde en balansert vanskelighetsgrad. For noen nivåer fant jeg balansen raskt, mens andre krevde flere dager med små justeringer. For eksempel skapte nivåene med bier utfordringer fordi biene beveget seg i tilfeldig mønster, noe som førte til kaos. Jeg måtte legge til vegger og justere antall bier, samt eksperimentere med avstander for å skape bedre flyt. På racing-banene finjusterte jeg motstandernes bevegelsesmønster, plasseringen av fartsfelt og hindringer for å sikre en god balanse mellom utfordring og mestring. Enkelte nivåer spilte jeg nok over hundre ganger, og gjorde små justeringer hver gang for å oppnå det optimale resultatet.
Hva er vanskeligst med å lage spill?
Selv å lage et relativt enkelt spill viste seg å være langt mer krevende enn jeg hadde forestilt meg. I tillegg til tekniske utfordringer, som å få til et godt visuelt design og håndtere kollisjoner mellom objekter, var kanskje den største utfordringen å omsette teoretiske ideer i hodet til brukbare, spillbare konsepter. Jeg noterte stadig nye ideer, men lærte raskt at det å ha en vag idé som virket gøy, ofte var vanskelig å realisere på en måte som faktisk fungerte godt i spillet.
Noen ideer viste seg å være for teknisk krevende for en enkelt utvikler å implementere innen rimelig tid, mens andre rett og slett ikke ble så morsomme i praksis som de virket i teorien. Selv når en idé fungerte ok, krevde det mye arbeid å justere vanskelighetsgraden for å gjøre den engasjerende.
Du valgte å lage et mobilspill fremfor et spill på for eksempel Steam, hva er tankegangen bak det valget?
Det var to hovedgrunner til at jeg valgte å lage et mobilspill. For det første kom min tilknytning til Snake fra de klassiske mobiltelefonene, så det føltes naturlig å lage en moderne versjon av Snake for smarttelefoner. I tillegg har nesten alle en smarttelefon i dag, noe som gir et stort potensial for å nå et bredt publikum.
Den andre grunnen er at jeg allerede hadde erfaring med å lage mobilapplikasjoner fra et tidligere prosjektemne i studiene. Jeg husker hvor gøy det var, og det føltes trygt å bygge videre på noe jeg allerede kunne.
Hvordan jobber du for å promotere spillet ditt?
For omtrent ett år siden lanserte jeg en betaversjon av spillet, og informerte da venner og bekjente via Facebook. Denne høsten slapp jeg det jeg anser som den fullverdige versjonen, og prøver nå ulike strategier for å promotere spillet. Siden jeg ikke har erfaring med markedsføring, er det en bratt læringskurve som innebærer mye prøving og feiling.
En viktig strategi har vært å publisere hyppig innhold på sosiale medier som TikTok, YouTube og Instagram. Selv om jeg ikke helt har satt dette i system ennå, er planen å legge ut daglige oppdateringer for å skape engasjement. Jeg ser på denne prosessen som et maraton snarere enn en sprint, siden jeg forventer at det vil ta tid å bygge en solid fanskare og nå det riktige publikummet.
Jeg planlegger også å starte med live-streaming på Twitch og finne relevante forum som Reddit hvor jeg kan dele innhold om spillet. Foreløpig holder jeg meg til egenprodusert og gratis promotering, men jeg er åpen for å teste mer profesjonelle, betalte metoder i en begrenset skala på sikt, for å se om det gir resultater.
I tillegg ønsker jeg å knytte kontakt med mediehus som kan være interessert i å dekke spillet. Her var det veldig gledelig at Spillhistorie valgte å vise interesse.
Hvordan har responsen vært så langt?
Jeg oppdaget raskt at app-butikkene ikke gir mye gratis drahjelp med å bygge en brukerbase, så det krever en stor innsats å få folk til å oppdage og prøve appen min. Etter betaversjonen fikk jeg både ris og ros fra venner og bekjente, og jobbet hardt med å ta til meg kritikken for å forbedre opplevelsen til den ferdige versjonen. For den endelige versjonen har responsen vært overveiende positiv, selv om jeg gjerne skulle hatt enda flere ærlige tilbakemeldinger fra nye brukere jeg ikke kjenner fra før. Så om noen leser dette, er de hjertelig velkomne til å teste appen og gi meg en liten anmeldelse!
Vi takker Espen Stokkereit for at han tok seg tid til å svare på spørsmålene våre. Snake Odyssey! finner du på Google Play og App Store.
Ser artig ut, jeg spiller ikke mye på mobil, men kanskje jeg skal prøve dette i lunchen idag :)