Godot: lag et 2D-spill (gratis og open source)For ungdom

Godot: lag et 2D-spill (gratis og open source)

Neste steg etter Scratch

Scratch er fantastisk for å lære grunnleggende programmering. Du drar klosser, kobler dem sammen, og ting skjer på skjermen. Men på et tidspunkt kjenner du kanskje at du vil ha mer kontroll. Du vil skrive ekte kode. Du vil lage spill som ser ut som ordentlige spill.

Da er Godot Engine et naturlig neste steg.

Hva er Godot?

Godot er en spillmotor. Det betyr at den gir deg alle verktøyene du trenger for å lage spill: en editor der du bygger nivåer, et system for å legge til figurer og objekter, fysikkmotor for kollisjoner og tyngdekraft, og et programmeringsspråk for å styre alt sammen.

Den er helt gratis. Ingen lisenskostnader, ingen reklame, ingen begrensninger. Kildekoden er åpen, noe som betyr at hvem som helst kan se hvordan den fungerer.

Last ned fra godotengine.org. Installasjonen tar under et minutt.

Lag en enkel platformer

Her er planen: en figur som kan bevege seg til høyre og venstre, hoppe, lande på plattformer og samle mynter.

1. Sett opp prosjektet

Åpne Godot og lag et nytt prosjekt. Velg 2D-modus. Du får en tom scene med et rutenett.

2. Lag spillfiguren

Opprett en “CharacterBody2D”-node. Legg til en “Sprite2D” (bildet av figuren) og en “CollisionShape2D” (formen som brukes til kollisjoner). Bruk gjerne et enkelt firkant-sprite til å begynne med.

3. Skriv bevegelseskode

Klikk på spillfiguren og legg til et nytt GDScript. Skriv dette:

extends CharacterBody2D

var speed = 200.0       # hastighet i piksler per sekund
var jump_force = -400.0  # negativ fordi opp er minus i 2D
var gravity = 800.0      # tyngdekraft

func _physics_process(delta):
    # tyngdekraft trekker figuren nedover
    velocity.y += gravity * delta

    # bevegelse til høyre og venstre
    var direction = Input.get_axis("ui_left", "ui_right")
    velocity.x = direction * speed

    # hopp når du trykker opp og står på bakken
    if Input.is_action_just_pressed("ui_up") and is_on_floor():
        velocity.y = jump_force

    move_and_slide()

Trykk F5 for å teste. Figuren din faller nedover (fordi det ikke finnes en plattform ennå), men bevegelsen fungerer.

4. Legg til plattformer

Lag “StaticBody2D”-noder med “CollisionShape2D” og “ColorRect” (farget firkant). Plasser dem i scenen. Nå har figuren noe å lande på.

5. Legg til mynter

Lag en “Area2D”-node med et gult sirkel-sprite. Koble opp et signal som fjerner mynten når spillfiguren berører den. Legg til en poengteller.

Hva du lærer

GDScript ligner Python. Du lærer variabler, funksjoner, if-setninger og løkker. Men du lærer også spillspesifikke konsepter: vektorer, delta-tid, kollisjonsdeteksjon, scene-trær og signaler. Det er ferdigheter som er direkte overførbare til profesjonell spillutvikling.

Prøv det på kodeklubben

Vi har PC-er med Godot installert, og vi kan hjelpe deg i gang med ditt første prosjekt. Om du har brukt Scratch før, er du klar for Godot.

Eira kodeklubb, annenhver torsdag kl. 18-20, kjelleren i kirken på Tau. Gratis for alle mellom 8 og 16 år.

Les også: Hva er en hackathon? (og hvorfor du bør prøve)

Ofte stilte spørsmål

Hva er forskjellen på Godot og Unity?

Godot er helt gratis og open source. Unity er gratis for hobbybruk, men har lisenskostnader for større prosjekter. Godot er lettere å installere og raskere å komme i gang med.

Hva er GDScript?

GDScript er Godots eget programmeringsspråk. Det ligner veldig på Python, som gjør det lett å lære for nybegynnere.

Kan jeg lage spill til mobil med Godot?

Ja. Godot kan eksportere spill til PC, Mac, Linux, Android og iOS.

Claude AI hjalp meg med formuleringer og korrektur i denne artikkelen.

Digital kompetanse for alle i Ryfylke. Gratis kodeklubb for ungdom og digital hjelp for seniorer.

hei@eirahub.no958 68 662

Tau sentrum kirke, 4120 Tau

Org.nr: 916 845 251