Kursmal

Flappy Fargefly

Lærerne utvikler i 12 trinn som bygger på hverandre et enkelt spill med flappy-bird-liknende egenskaper ved hjelp av frameCraft. Her oppstår spillobjekter, fugl, input, tyngdekraft, hindringer, kollisjoner, poeng, økende vanskelighetsgrad, game over og ny start.

Kategori: Spillutvikling med frameCraft Språk: Python Byggeblokker: 12 Se ferdig spill
Forhåndsvisning: Flappy Fargefly

Didaktisk målsetting

Denne malen introduserer gradvis utviklingen av et enkelt flappy-bird-liknende spill med frameCraft og kobler synlige spillobjekter til input, bevegelse og spilltilstander. I sentrum står oppbyggingen av et spillvindu, modelleringen av entiteter med collider og GFX-former, samt strukturert implementasjon av regler for kontroll, tyngdekraft, hindringer og kollisjoner. Kompetanseutviklingen går fra **sceneoppbygging** via **tidbasert bevegelse** til **spillmekanikk** med poeng, økende vanskelighetsgrad, game over og ny start. Faglig er malen knyttet til spillutvikling med frameCraft og støtter spesielt forståelsen av modellering, tilstandsbehandling og gradvis implementasjon.

Kompetansespor

Malen samler faglige og metodiske spor innen spillutvikling basert på frameCraft i en klar progresjon.

  • Modellere spillstruktur: Spillvindu, scene, sceneoppbygging, himmel, bakgrunn og dekorasjon blir satt opp som grunnleggende frameCraft-struktur.
  • Klassifiser faglig entiteter: Fugl, bakgrunn, tak og hindringer implementeres som spillobjekter gjennom entity, collider, tags og GFX-former.
  • Abstrahere input: Tastatur- og touch-input blir bundet til handlinger og sikret mot kontinuerlige pulser.
  • Implementere bevegelse basert på tid: Fuglphysikk og hindringsbevegelse bruker hastighet, tyngdekraft og ctx.dt for å oppdatere uavhengig av rammefrekvens.
  • Styre kollisjoner og tilstander: Trigger-Collider, Tags og kollisjonshåndterere fører til Game Over og stopper spilllogikken ved å lagre spillets tilstand.
  • Gjenbruk objekter: Hindernisser blir administrert som nummererte Entity-pooler, synkronisert beveget og repositionert når de forlater skjermen.
  • Utvide spillmekanikk: Poeng, enkelt telling per hindernisse, økende vanskelighetsnivå, synlig tilbakemelding og ny start slutter spillets løp.

Struktur av byggelag

Byggelagene utvikler prototypen fra statisk scene over spillfiguren og dens fysikk til hindernislogikk, poengtelling, balansering og endelig ny start.

Forhåndsvisning: Grunnstruktur med himmel og bakgrunn

Grunnstruktur med himmel og bakgrunn

Byggelaget legger grunnlaget for senere spillverden ved å definere SPIEL, SZENE, konstanter, himmel, bakgrunn, rektangulær GFX og tom regel.

⏱️ 30 min 🧩 1 oppgave
Forhåndsvisning: Fuglen dukker opp

Fuglen dukker opp

Byggelaget introduserer fuglen som sentral spillfigur og kobler sammen Entity, Collider, midtpunktlogikk, konstanter og forberedte grafikfunkjoner.

⏱️ 35 min 🧩 1 oppgave
Forhåndsvisning: Flatter med handlinger

Flatter med handlinger

Byggelaget abstraherer tastatur- og touch-input til en flap-handling og introduserer en blokkering for individuelle hopimpulser.

⏱️ 25 min 🧩 1 oppgave
Forhåndsvisning: Fuglmechanikk med tyngdekraft

Fuglmechanikk med tyngdekraft

Komponenten utvider tidsbasert fysikk ved å lagre fugl_vy i ctx.vars, endre den med tyngdekraft og oppdatere y-posisjonen med ctx.dt.

⏱️ 35 min 🧩 1 oppgave
Forhåndsvisning: Kollisjon og Game Over

Kollisjon og Game Over

Komponenten kobler tags, trigger-collider, kollisjonsbehandler og spill_zustand slik at berøring av farlige objekter utløser game-over-tilstanden.

⏱️ 25 min 🧩 1 oppgave
Forhåndsvisning: Første hindernispar

Første hindernispar

Komponenten utvider spillets verden med et statisk rørspar og gjør beregningen av øvre rør, nedre rør og felles hull forutsigbar.

⏱️ 35 min 🧩 1 Aufgaben
Forhåndsvisning: Hindernisser beveger seg

Hindernisser beveger seg

Komponenten overfører hindernisparet til en synkronisk venstrebevegelse og bruker tempo samt ctx.dt for tidsbasert bevegelse kun i tilstanden laeuft.

⏱️ 25 min 🧩 1 Aufgaben
Forhåndsvisning: Hindernis kan gjenbrukes

Hindernis kan gjenbrukes

Komponenten introduserer gjenbruk ved å gjøre det eksisterende rørsparet tilbake i bruk når det har forlatt skjermen til høyre og oppdateres med nytt hull.

⏱️ 25 min 🧩 1 Aufgaben
Forhåndsvisning: Flere rørpar

Flere rørpar

Komponenten skalerer hindernislogikken til et entitetspool med nummererte rørpar, løkker, stabile avstander og gjenbruk bak det lengste røret.

⏱️ 35 min 🧩 1 oppgave
Forhåndsvisning: Poeng telles kun én gang

Poeng telles kun én gang

Komponenten legger til en robust poengtelling, hvor hvert hindernispar teller bare én gang etter at fuglen har fullstendig passert det, og kun hvis pipe_gezaehlt er satt.

⏱️ 25 min 🧩 1 oppgave
Forhåndsvisning: Øke vanskelighetsgraden

Øke vanskelighetsgraden

Komponenten kobler poeng til spillbalanse ved å justere tempo og mellomromsgrense via konstanter, clamp og HUD-visning.

⏱️ 25 min 🧩 1 Aufgaben
Forhåndsvisning: Fullfør Flappy Farbenflug

Fullfør Flappy Farbenflug

Komponenten kobler farge- og mellomromsmønster, hinderniskollisjoner, game-over UI og ny start med blokkering til et fullstendig spillforløp.

⏱️ 35 min 🧩 1 Aufgaben
Bruk denne malen som en tilpassbar utgangspunkt for spillutvikling med frameCraft i undervisning. Test malen
Denne malen leder strukturert fra spilsscenen til fullstendig frameCraft-oppsett med tilstander, hindernisser og ny start.

De tydelig på hverandre baserte elementene gjør læreformål, tekniske konsepter og spillmekanismer gjennomsiktige. På denne måten kan malen lett plasseres inn i undervisningsrader for spillutvikling med frameCraft.

Gjennom en demo-tilgang kan du teste malen og tilpasse elementene til din læringssituasjon. På denne måten beholdes den pedagogiske strukturen, mens fokussetting og omfang blir fleksibel.