Github Classroom länk: https://classroom.github.com/a/HTVFY2pk
Godot är en kraftfull och öppen källkod spelmotor som stöder både 2D och 3D-spelutveckling. Den erbjuder en flexibel nodbaserad arkitektur, inbyggt GDScript-programmeringsspråk och ett lättanvänt gränssnitt.
- Ladda ner Godot från Godots officiella webbplats.
- Installera och öppna programmet.
- Skapa ett nytt projekt och välj en katalog för ditt spel.
- Allt i Godot bygger på noder.
- En scen kan innehålla flera noder.
- Exempel på vanliga noder:
Node3D
- Grundläggande nod för 3D-spelCamera3D
- Hanterar kameran i 3D
- Ett lättviktigt, Python-liknande skriptspråk som används för att programmera logik.
- Exempel på ett enkelt skript:
extends Node3D
func _ready():
print("Spelet startar!")
- Lägg till en
Node3D
som root-nod. - Lägg till en
MeshInstance3D
och välj en 3D-modell. - Lägg till en
CollisionShape3D
för kollisioner. - Lägg till en
KinematicBody3D
för rörelse.
extends KinematicBody3D
var speed = 5
var velocity = Vector3.ZERO
func _process(delta):
velocity = Vector3.ZERO
if Input.is_action_pressed("ui_right"):
velocity.x += speed
if Input.is_action_pressed("ui_left"):
velocity.x -= speed
move_and_slide(velocity)
Godot har egen sida för resurser (assets) där man kan hitta lämpliga bilder för spelplan och liknande.
https://godotengine.org/asset-library/asset
Här tex asset för hexagonal gräs karta.
- Signals och Events: Använd
signals
för att hantera händelser. - Scenhantering: Återanvänd scener för bättre struktur.
- Fysikmotor: Godot har inbyggd fysik för både 2D och 3D.
- Export: Exportera spel till Windows, Linux, macOS, Android och HTML5.
Godot är en kraftfull och flexibel spelmotor som erbjuder verktyg för både 2D och 3D-utveckling. Genom att förstå nodbaserad arkitektur, GDScript och fysikmotorn kan du snabbt skapa spel av hög kvalitet.
Gå igenom tutorialen ditt första 2D spel: https://docs.godotengine.org/en/stable/getting_started/first_2d_game/index.html
För att först få en bekantskap med Godot. Därefter kan ni hoppa på 3D Spel.
Föredrar man video-tutorials är den här serien fantastisk för 2D spel med Godot:
https://www.youtube.com/playlist?list=PL4cUxeGkcC9iHCXBpxbdsOByZ55Ez4bgF
Gå igenom tutorialen ditt första 3D spel: https://docs.godotengine.org/en/stable/getting_started/first_3d_game/index.html
Föredrar man video-tutorials är den här serien fantastisk för 3D spel med Godot:
https://www.youtube.com/playlist?list=PLda3VoSoc_TTp8Ng3C57spnNkOw3Hm_35
Projektet utförs individuellt och går ut på att ni ska utveckla ett valfritt 3D-spel i Godot. Tiden är 11 mars - 3 april och innefattar 24 timmar. Redovisningsformen är mässa där man får testa varandras spel.
Ni får återskapa ett känt spel om ni vill, men inte hämta klar kod från nätet. Eller så väljer ni hitta på ett eget spel. Efter ni har gått igenom tutorialen kan man börja planera spelet steg 0.
Planera spelet, skapa ett dokument med beskrivning och skiss hur ni vill att spelet ska fungera och se ut. Få godkännande från läraren. Resten är saker som spelet måste uppfylla.
Spelarens rörelse – Använd WASD/tangenter eller en joystick för att styra en 3D-karaktär. Kollisionsdetektion – Se till att spelaren och objekt inte går genom varandra. Kamera – En enkel tredjepersons- eller förstapersonskamera som följer spelaren. Grundläggande mål – Exempelvis att nå en specifik plats, samla föremål eller undvika hinder. Vinst-/förlustvillkor – Enkla regler för att avgöra om spelaren vinner eller förlorar.
3D-modeller – Grundläggande objekt för spelaren, miljön och fiender (kan vara enkla former som kuber/sfärer). Grundläggande texturer – Färger eller enkla bilder på modeller för att skapa variation. Minimala animationer – Enkel gång- eller hopprörelse om spelet har en karaktär.
Startskärm – En enkel meny med en "Starta"-knapp. Game over-skärm – Ett meddelande när spelaren vinner eller förlorar. HUD (valfritt) – Exempelvis hälsobar, poäng eller en timer.
Ljud för rörelse, hopp, kollisioner eller insamling. Bakgrundsmusik – Enkel bakgrundslåt eller ljudeffekter för atmosfär.
Grundläggande fienderörelse – Fiender kan patrullera eller jaga spelaren. Samlarföremål – Mynt, kristaller eller andra objekt som ger poäng. Enkel fysik – Gravitation, hopp eller fall när spelaren går av en plattform.
Enkla scenövergångar – Flytta mellan olika nivåer eller starta om spelet. Respawn eller återställning – Om spelaren faller av kartan eller dör, ska spelet kunna återställa scenen.
Byggas och distribueras som en .exe fil för andra att kunna testa spelet.
Här är en länk som beskriver hur man genererar en exekverbar fil för Windows: http://docs.godotengine.org/en/latest/tutorials/export/exporting_for_windows.html