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.

Rikard Swahn er utvikler og konsulent i Miles på dagtid, og lager spillet Barney's Dream Cruise på kveldstid. 📸: Privat
Rikard Swahn er utvikler og konsulent i Miles på dagtid, og lager spillet Barney's Dream Cruise på kveldstid. 📸: PrivatVis mer

Husker du Lucas Arts, og spill som Monkey Island og Day of the Tentacle? Opplevde du 90-tallet foran PC-skjermen, er svaret trolig ja.

Siden den gang har pek-og-klikk-spillene i stor grad blitt kvelt av helt andre spillsjangere, men de lages fortsatt.

Og ett av dem lages i Norge: Barney's Dream Cruise.

- Akkurat som mange andre spillutviklere har jeg spilt en hel del spill, spesielt da jeg var yngre, og mye av dragningen mot å lage spill kommer derfra, forteller skaperen Rikard Swahn.

Swahn er utdannet sivilingeniør i informatikk fra Uppsala Universitet, flyttet til Norge fra Sverige i 2010, jobber som utvikler i Miles i Oslo, og lager pek-og-klikk-spillet Barney's Dream Cruise gjennom lange kvelder og helger. I samme stil som de gamle 90-tallsklassikerne som fikk han interessert i spillutvikling.

Slik gjør han det.

Hva går spillet ut på? 🕹️

Med Barney's Dream Cruise ville jeg lage et spill som ser litt ut som et barnespill, men som har voksen humor. Det er point-and-click-spill, og inspirasjonen har jeg fått fra gamle spillklassikere.

Spillet handler om Barney, som har blitt arbeidsløs og som risikerer å miste sin store kjærlighet. For å forhindre det, må spillerne løse forskjellige problemer, noen ganger gjennom moralsk tvilsomme handlinger.

Skjermdump fra Barney's Dream Cruise.
Skjermdump fra Barney's Dream Cruise. Vis mer

Hvordan foregår utviklingen av spillet? ☕

Jeg begynte med å tenke gjennom historien til spillet, hvordan kontrollene skulle fungere og hvordan det skulle se ut. Ut fra det kunne jeg lage en prototype med enkle grafiske elementer.

Under utviklingen av prototypen fikk jeg tilbakemeldinger fra familie og venner, noe som hjalp meg veldig mye til å finne feil og jobbe med brukervennlighet og så videre.

For å få en oversikt over historien og de forskjellige oppgavene i spillet, brukte jeg Puzzle Dependency Graph, som er et verktøy som ofte brukes for utvikling av eventyrspill.

Når prototypen var ferdig, begynte jeg å lete etter en grafisk designer. Vi hadde et tett samarbeid der vi sammen jobba oss mot et resultat jeg er veldig fornøyd med. Ettersom det har vært et rent hobbyprosjekt, der jeg har jobba på kvelder og i helger, har det tatt rundt tre år fra ide til ferdig spill.

Skjermdump fra utviklingen av Barney's Dream Cruise.
Skjermdump fra utviklingen av Barney's Dream Cruise. Vis mer

Hva slags spillmotor brukes? 💪

Jeg brukte Unity, fordi det er en komplett plattform som er relativt enkel å komme i gang med.

Hva er de viktigste tredjeparts-løsningene spillet bruker? ⚙️

Jeg bruker PolyNav for å styre hvordan spilleren og andre karakterer navigerer fra punkt til punkt. Jeg har modifisert den til å passe mine egne behov, men det har fungerte veldig bra som en start.

Jeg brukte også Bitmap Font Importer for bitmap-fonter, og Tween for å "tweene" grafiske elementer.

Skjermdump fra utviklingen av Barney's Dream Cruise.
Skjermdump fra utviklingen av Barney's Dream Cruise. Vis mer

Hva er de største tekniske utfordringene med spillet? 😥

Jeg har skrevet et eget rammeverk for å bygge point-and-click-spill, i stedet for å bruke en ferdig løsning.

Det var for eksempel ganske utfordrende å implementere oppførselen til spilleren og andre karakterer. For eksempel reagerer karakterer på hva spilleren gjør, eller på hva andre karakterer gjør, og karakterene oppfører seg også på ulike måter på ulike faser av spillet.

En fordel med å skrive sitt eget rammeverk er dog at man får et spill som fungerer akkurat som man selv ønsker, i stedet for å tilpasse spillet etter de begresninger som ligger i et ferdig rammeverk.

Skjermdump fra utviklingen av Barney's Dream Cruise.
Skjermdump fra utviklingen av Barney's Dream Cruise. Vis mer

Kan du fortelle litt om hvordan grafikken er laget? 🎨

Grafikken er gjort i Photoshop av en dyktig frilanser som heter Rafael Pimenta. Han har en fortefølje her for de som er interessert. Grafikken er designa i lav oppløsning, i pixel art-stil.

Og hvordan er lyden og musikken laget? 🔊

Jeg har brukt ressurser som for eksempel freesound.org, opengameart.org og audioblocks.com.

Tanken var å holde lyden konsistent med det grafiske, og jeg valgte derfor lydeffekter som er enkle og minimalistiske.

Skjermdump fra utviklingen av Barney's Dream Cruise.
Skjermdump fra utviklingen av Barney's Dream Cruise. Vis mer

Hvilke plattformer er spillet gitt ut til? 🎮

Spillet finnes i desktop-versjon til Windows, Mac og Linux på Steam, og i mobilversjon til Android og iOS. Portingen til ulike plattformer har fungert bra, da det meste kommer ut av boksen fra Unity.

«Jeg eier ikke Mac, så jeg har lånt kjærestens gamle MacBook.»

Det er dog endel saker som skiller seg mellom mobil- og desktop-versjonen, for eksempel ulikheter i kontroller; mus på desktop, touch på mobil.

Det var litt frustrerende å få ut spillet på App Store, ettersom Apple krever at du har en Mac for å publisere. Jeg eier ikke Mac, så jeg har lånt kjærestens gamle MacBook, og det har kanskje til tider vært litt krevende for forholdet at jeg har stengt meg inne med både min egen og hennes laptop - og ofte til og med iPhone-en hennes, også.

Skjermdump fra Barney's Dream Cruise.
Skjermdump fra Barney's Dream Cruise. Vis mer

Hvordan går det med økonomien til spillet? 💰

Det er veldig vanskelig å oppdages og synes i denne bransjen, og jeg har heller ikke hatt så stor fokus på markedsføring. Først og fremst synes jeg det er gøy at andre spiller spillet mitt.

På mobil er spillet gratis, med valgfrie donasjoner, og det er ekstra gøy å se at folk donerer penger uten at de må. På Steam koster spillet 20 kroner, men det finnes en demoversjon også, for de som vil teste det først.

Gi ett råd til nordmenn som har lyst til å begynne med spillutvikling! 💡

Lag det spillet du vil lage, uten å tenke på å tjene penger eller uroe deg for hva andre kommer til å synes om spillet. Om du har det gøy når du utvikler spillet, tror jeg det merkes på produktet.