Stundas uzdevums: Instalēt Godot 4, izveidot pirmo projektu un saprast Godot editor (redaktora) galvenās daļas.
Pirms sāc: izmanto iepriekš apgūto un šīs lapas teorijas/koda piemērus. Ja vajadzīga jauna komanda vai rīks, vispirms atrodi tās paraugu teorijas sadaļā.
Godot 4 Engine (Godot dzinējs) ir bezmaksas, atvērtā koda spēļu dzinējs ar visu nepieciešamo 2D un 3D spēļu izstrādei. Šajā kursā Godot tiek lietots kā vizuālais redaktors, scēnu pārvaldnieks un spēles izpildes vide, bet spēles loģika tiek rakstīta C++ ar GDExtension.
Godot projektā jāatšķir trīs slāņi: projekta iestatījumi nosaka logu un palaišanu, scēnas glabā objektu struktūru, bet C++ klases piešķir objektiem uzvedību. Ja šie slāņi tiek jaukti, vēlāk ir grūti saprast, vai kļūda ir editorā, resursā vai kodā.
Editor (redaktora) galvenās daļas:
Renderera izvēle: ja dators ir jauns un grafikas draiveri ir atjaunināti, izvēlies Forward+. Ja skolā ir vecāki datori vai virtuālās mašīnas, Compatibility bieži ir drošāka izvēle. Pong ir 2D projekts, tāpēc mācību rezultātu tas praktiski nemaina.
# Godot 4 instalācija
# 1. Lejupielādē no godotengine.org/download
# 2. Izpako ZIP
# 3. Palaiž godot.exe (Windows) vai ./godot (Linux/Mac)
# 4. Project Manager → New Project
// Kursa programmēšanas slānis būs C++ GDExtension klase.
// Šis ir virziens, nevis vēl pilns 1. stundas kods.
class PongProjectReadiness {
private:
bool godot_installed = false;
bool project_created = false;
bool git_initialized = false;
public:
bool is_ready_for_cpp() const {
return godot_installed && project_created && git_initialized;
}
};
Šis ir īss iesildīšanās uzdevums. Nokopē sagatavi, ielīmē to pareizajā koda vietā un palaid. Šeit pietiek droši izmēģināt tēmu 1.1 Godot instalācija un projekta sagatavošana; detalizētu izpratni veidosi nākamajos uzdevumos.
Kopējamais piemērs vai sagatave: izmanto šo bloku kā starta punktu, nevis kā gala risinājumu.
// Kursa programmēšanas slānis būs C++ GDExtension klase.
// Šis ir virziens, nevis vēl pilns 1. stundas kods.
class PongProjectReadiness {
private:
bool godot_installed = false;
bool project_created = false;
bool git_initialized = false;
public:
bool is_ready_for_cpp() const {
return godot_installed && project_created && git_initialized;
}
};
.cpp vai .hpp failā pie šīs stundas klases.Pievieno šīs stundas paņēmienu kā nelielu, strādājošu spēles mehānikas daļu.
PlayerState, velocity, score vai update_ui()._ready(), _process(), _physics_process(), signāla apstrādātāja vai projekta palīgklases.Pārbaudi, vai C++ algoritms darbojas paredzami spēles vidē.
Ja pamatdarbs ir pabeigts, paplašini spēli ar vienu nelielu C++ uzlabojumu.
Uzlabojumi, kas padara darba vidi ērtāku.
Node2D, lai pierastu pie iebūvētās dokumentācijas.
#include <godot_cpp/variant/string.hpp>
using namespace godot;
struct ProjectSetupReport {
String project_name = "Pong";
String main_scene = "res://main.tscn";
bool uses_cpp_gdextension = true;
bool has_git_repository = true;
bool can_continue_to_lesson_1_2() const {
return project_name == "Pong"
&& main_scene == "res://main.tscn"
&& uses_cpp_gdextension
&& has_git_repository;
}
};