Tilbake til Pinng

Devlog #1: Første steg på veien til spillutvikler

Alt har en begynnelse

Slug:
devlog-1
(dette vil endre URL-en på bloggposten)
Pinng
1 måned siden

Introduksjon

Som seksåring fikk jeg min første spillkonsoll med Donkey Kong Country.

Siden den gang har videospill vært en kjær hobby, som har gitt meg utrolig mye glede gjennom gode og kjipe tider.

I starten gikk det mest i plattformere, bilspill, sportsspill og slåssespill, men da PCen ble allemannseie oppdaget jeg andre sjangre som simulatorer, adventure-spill, skytespill og rollespill. Tidsbruken min i ymse spillverdener ble etterhvert så omfattende at det ble en viktig del av livet, og i ettertid kan jeg trygt fastslå at det har formet min identitet.

Som den ivrige forbruker av spillmediet jeg er fikk jeg tidlig lyst til å prøve meg på spillutvikling selv, men møtte mye motstand både på skolen og på hjemmebane. Dermed ble det med drømmen, foreløpig.

For om lag ett år siden, rett etter at SpillNorge åpnet portene kom den drømmen tilbake, og med mer livserfaring i baklomma bestemte jeg meg for å gjøre et ærlig forsøk. Så en dag etter jobb satte jeg meg som vanlig ned ved PCen, men denne gangen var det ikke for å spille. Nå skulle jeg finne ut hvordan man utvikler spill. 


Valg av spillmotor

Så hvordan lages egentlig spill? Jeg hadde noe kunnskap om spillmotorer fra før, men ingen erfaring med bruken av disse. Jeg visste at jeg trengte en engine som var begynnervennlig, og samtidig kraftig nok til å utvikle komplekse spill. Med en god bunke ideer om spillkonsepter i hodet skulle jeg finne en spillmotor som jeg kunne vokse sammen med.

Kravene jeg satte til spillmotor:

  • Relativt enkelt å lære seg med et intuitivt brukergrensesnitt.
  • Store mengder guider tilgjengelig for en som skal lære alt fra begynnelsen.
  • En betalingsmodell (eller fravær av det) som gir mest mulig frihet.
  • Den måtte være skalerbar og passe til utvikling av både enkle og komplekse spill.

De første dagene gikk med til søking på nettet etter hvilke programmer som egnet seg for en indie-utvikler.

Unity og Unreal var kandidater en stund, men jeg likte ikke deres proprietære natur. Ren'Py var en annen spillmotor som potensielt kunne være grei å starte med, men siden den er mer begrenset til utvikling av visual novels ble den også skrapet.

Jeg fant heldigvis en engine som fikser både 2D- og 3D-spill med glans, samt at den var FOSS (free open source software). Den hadde også et stort community med mange tutorials. I tillegg snakket UI-en til meg på et språk jeg umiddelbart forsto. Valget falt altså på Godot.


Valg av grafikkprogramvare

Med spillmotoren klar måtte jeg finne ut hvordan man lager grafikk og animasjon. Her var det mange alternativer, men for å følge min egen filosofi om skaperfrihet og skalerbarhet var det kun én konge i denne sfæren. Nemlig Blender.

Blender gir artister tilnærmet ubegrensede muligheter innen modellering, teksturering, tegning og animasjon. Akkurat det jeg trenger! I tillegg finnes det utallige gode læringsressurser for programmet. Alt helt gratis selvfølgelig.


Men.. hvilket spill skal jeg lage?

Nå var det på tide å samle tankene og sette et hovedmål. Med mange ideer å ta av måtte jeg spisse det inn til noe som er begynnervennlig. I søken etter spillmotor fanget jeg opp at pek-og-klikk-spill oppfylte dette kravet. På grunn av min forkjærlighet for klassiske adventure-spill som Monkey Island var sjangeren bestemt.

Spillet skal være narrativt drevet, med en god dose humor og diverse puzzles for å avansere.

Kjernen i spillet:

  • En interaktiv verden med tre mekanikker: Bruk, inspiser og snakk.
  • En historie som forteller noe dypt personlig, justert for humoristiske innslag.
  • Pen tegneserie-grafikk med små cutscenes etter viktige valg.
  • Et robust dialog-system akkompagnert av stemmeskuespill.

Men før jeg begynner med alt dette må jeg lære programmene å kjenne, og hvordan kan man bedre gjøre det enn å lage en prototype?


Første prototype

Etter å ha kjørt gjennom de offisielle guidene om å lage mitt første spill i Godot ble det tid for å starte med blanke ark. Jeg var nå på egen hånd, og det var opp til meg å finne informasjonen jeg trengte for å bygge noe unikt fra bunnen av.

Dette ble resultatet:

Jeg satte i gang med å sette opp nodes, forståelig nok med mye prøving og feiling. Til slutt fant jeg en måte å organisere det hele på som fungerte.

Prototypen inneholder:

  • Main scene + scenes for rooms, characters og UI.
  • Buttons med collisionshapes og tooltip.
  • Animasjoner for transitions, idle og movement + flip og scale av player sprite.
  • Navigationregion som samhandler med navigationagent.
  • Movement script med navigation-logikk + move-indicator.
  • Saving/loading av player position.

Til prototypen brukte jeg pixelart for enkelhetens skyld. Sprites ble tegnet i Libresprite, et FOSS-alternativ til Asperite.

Animasjonene laget jeg ved hjelp av Godots innebygde AnimationPlayer, men har planer om å bruke Blender til rigging heretter.


Hvordan jeg har jobbet

Jeg har stort sett fulgt tutorials på YouTube, både for Godot og Blender. Av og til har jeg skumlest offisiell dokumentasjon for å lære hvilke funksjoner som gjør hva.

Jeg satte opp automatisk daglig push av prosjektet til Github samt to lokale backups for sikkerhets skyld.

Det jeg har lært så langt:

  • Forståelse av elementer som nodes, scenes og scripts.
  • Lesing av kode (GDScript) og feilretting når det dukker opp errors.
  • Skriving av functions, variables, references med mer.
  • Rigging av animasjoner, kobling av signals, bygging av UX med mer.
  • Modellering i Blender ved å lage en donut.
  • Tegning av 2D game-art ved hjelp av Grease Pencil.


Hva blir det neste

  • Overføre det jeg har lært til et nytt prosjekt, som skal ha en mer moderne visuell stil.
  • Bygge bedre systemer for saving/loading, i tillegg til inventory, dialoger og quests.
  • Teksturer skal tegnes og animasjoner skal rigges.
  • AI skal benyttes som sparringspartner for å få på plass riktig kode på riktig sted, samt for feilretting i scripts.

Jeg gleder meg til å dele mer fra dette prosjektet i neste devlog!

Hvis noen har tilbakemeldinger eller forslag relatert til spillutvikling blir jeg glad for det!

Etter ett år er jeg bare i startfasen av denne reisen, og er mer sikker enn noen gang på at det var riktig valg å følge utviklerdrømmen.


Følg prosjektet:

https://pantherbytes.com/

https://pantherbytes.itch.io/

søndag 19. oktober 2025 16:01
Svar
10 kommentarer
Hvis du skal lage point-and-click, bør du absolutt ta en titt på Adventure Game Studio. Det er også FOSS, som du skriver, og skreddersydd for å lage PnC-spill.

Lykke til!
1
Svar
Svar
Takk for tipset! Jeg er veldig fornøyd med valget av Godot, men kommer definitivt til å prøve AGS på et senere tidspunkt. Det virker som en veldig lovende engine. Var det AGS dere brukte for Overvåkerne?
Svar
Svar
Ja vi brukte AGS. Det har sine begrensninger, men man får også mye gratis. Når det er sagt så tror jeg Godot er et kjempebra valg!

Hvordan har du forresten tenkt å lage grafikken? Jeg likte veldig godt det rommet med 3 dører fra videoen over. Det har det "bulende" Lucas Arts-perspektivet, veldig kult!
Svar
Svar
Nyttig å vite!

Grafikken skal være tegnefilm-aktig, med cel shading. Det bulende perspektivet skal beholdes! Sjekk "Randal's Monday" som blir hovedinspirasjonen til spillet rent grafisk.
Svar
Svar
Moro! Skal bli gøy å følge med på dette prosjektet
1
Svar
Svar
Gleder meg til å følge reisen her!
1
Svar
Svar
Tøft å se spillutvikling helt fra scratch!
1
Svar
Svar
Veldig interessant lesing! Stå på😄
3
Svar
Svar
Det lille du var innom av RenPy var nok til at det kilte lysten min litt også. Har et manus til en barnebok liggende som kunne vært gøy å lagd som et visual novel-spill en vakker dag :)
Svar
Svar
Selv om Ren'Py er designet rundt produksjon av visual novels åpner den for at man kan lage mer komplekse spill, siden den er skrevet i Python. Det er nok Python i seg selv som setter begrensninger her, siden det ikke er et språk egnet for å kode spill i utgangspunktet. Men til en visuell representasjon av en barnebok vil nok spillmotoren være perfekt!
1
Svar
Svar