TITLE=Godot ROUTE=/platforms/godot LOCALE=hu MODIFIED=1792476547 URL=https://wiki.teletypegames.org/hu/platforms/godot L=1 https://www.thegamer.com/godot-engine-popular-games-best/#getting-over-it-with-bennett-foddy L=2 https://jatekfejlesztes.online/tutorials/godot-kezdoknek-i-pong/tpages/alapozo L=3 https://chickensoft.games/blog/game-architecture/ L=4 https://www.youtube.com/watch?v=YVjT0OeE4P0 L=5 https://www.youtube.com/watch?v=S8lMTwSRoRg L=6 https://www.youtube.com/watch?app=desktop&v=1LXukLw93uQ L=7 https://new.pythonforengineers.com/blog/how-to-structure-your-godot-project-so-you-dont-get-confused/ L=8 https://git.teletypegames.org/build/godot-tools L=9 https://github.com/abarichello/godot-ci A Godot nyílt forráskódú 2D és 3D játékmotor vizuális szerkesztővel. Szkriptelés GDScriptben vagy C#-ban. bWeboldal:0 https://godotengine.org 1Tutorialok 1══════════ • 1i12 Popular Games Made With The Godot Engine • 2iAlapozó | Godot Engine alapok – I. Pong • 3iEnjoyable Game Architecture | Chickensoft — Open Source Tools for Godot and 3iC# • 4iI Used Godot For 100 Hours, Here's What I Learned • 5iGodot Game Development – Crash Course for Beginners • 6iGame Development Basics in Godot Engine • 7iHow To Structure Your Godot Project (so You Don't Get Confused) r────────────────────────────────────────────────────────────────────────────── 1Makefile 1════════ A Godot szerkesztő headless módban futtatható, és exportálja a webes buildet (HTML5/WASM), valamint az asztali binárisokat. A sablonok a 8godot-tools repóban vannak: • cexample-makefile.make0 → cMakefile0, majd állítsd be a cPROJECT0 értékét • cexample-export_presets.cfg0 → cexport_presets.cfg0 (előbeállítások: cWeb0, cWindows x860, cWindows x640, cLinux x640, cMac universal0) • a cMac universal0 beállításban add meg az capplication/bundle_identifier értékét Két beállítás, amit könnyű elfelejteni: p # project.godot — enélkül az arm64-es macOS-szelet exportja elbukik p [rendering] p textures/vram_compression/import_etc2_astc=true p # export_presets.cfg, Web előbeállítás — szálak nélkül a játék COOP/COEP fej» p lécek nélkül is fut p variant/thread_support=false 2Változók 2──────── t┌───────────────┬────────────────────────────────────────────┬───────────┐ t│h Változó t│h Leírás t│h Alapérték t│ t├───────────────┼────────────────────────────────────────────┼───────────┤ t│0 cPROJECT0 t│0 A kimeneti fájlnevekben használt név t│0 cgodotdemo0 t│ t│0 cGODOT0 t│0 A Godot szerkesztő binárisa t│0 cgodot0 t│ t│0 cEXPORT_PRESET0 t│0 Előbeállítás az cexport_presets.cfg0 fájlból t│0 cWeb0 t│ t│0 cDIST_DIR0 t│0 Artifact-könyvtár t│0 cdist0 t│ t│0 cWEB_DIR0 t│0 Nyers webes export t│0 cdist/web0 t│ t│0 cVERSION_FILE0 t│0 Verziófájl a CI-hez t│0 c.version0 t│ t└───────────────┴────────────────────────────────────────────┴───────────┘ 2Célok 2───── p make build # godot --headless --import, létrehozza a .go» p dot/ gyorsítótárat p make run # godot --path . p make web # a Web előbeállítás exportja a dist/web/ kön» p yvtárba p make export VERSION=1.0.0 # a webes export godotdemo-1.0.0.html.zip né» p ven becsomagolva p make binaries VERSION=1.0.0 # az összes asztali cél p make binary-win-x64 VERSION=1.0.0 # csak egy cél p make watch # újraimportálás .gd / .tscn változásra (fswa» p tch kell hozzá) p make clean # a dist/ és a .godot/ törlése A cbuild0 egyben gyors ellenőrzés arra, hogy „betöltődik-e a projekt". Friss checkout után futtasd le bármilyen export előtt. Asztali tudnivalók: • A Godot bármely hosztról keresztexportál minden asztali platformra, beleértve a linuxos CI-image-et is. • A macOS egyetlen univerzális (intel + arm) build. Az architektúránkénti exporthoz egyedi sablonok kellenének. • A c.app0 fájlt a Godot ad hoc módon aláírja (ccodesign/codesign=10); az arm64-es macOS visszautasítja az aláíratlan binárisokat. • A Windows és a Linux a c.pck0 fájlt beágyazza a futtatható állományba, így mindegyik zip egyetlen fájlt tartalmaz. • Minden zip a ReleaseAsset-konvenciót követi: egy gyökérmappa, plusz a LICENSE és a README.md, ha van. 2VS Code 2─────── Másold az cexample-tasks.json0 fájlt c.vscode/tasks.json0 néven. Feladatok: bRun (alapértelmezett, cCmd+Shift+B0), bEdit0, bExport Web0, bMake build0. 2Előálló artifactok 2────────────────── t┌─────────────────────────────────────┬──────────────────────────────────────┐ t│h Fájl t│h Leírás t│ t├─────────────────────────────────────┼──────────────────────────────────────┤ t│0 cdist/web/0 t│0 Nyers webes export (index.html, .js, t│ t│0 t│0 .wasm, .pck) t│ t├─────────────────────────────────────┼──────────────────────────────────────┤ t│0 cgodotdemo-.html.zip0 t│0 Webes build t│ t├─────────────────────────────────────┼──────────────────────────────────────┤ t│0 cgodotdemo--win-x86.zip0 t│0 Windows 32 bit t│ t├─────────────────────────────────────┼──────────────────────────────────────┤ t│0 cgodotdemo--win-x64.zip0 t│0 Windows 64 bit t│ t├─────────────────────────────────────┼──────────────────────────────────────┤ t│0 cgodotdemo--linux-x64.zip0 t│0 Linux 64 bit t│ t├─────────────────────────────────────┼──────────────────────────────────────┤ t│0 cgodotdemo--mac-universal.0 t│0 macOS univerzális c.app0, ad hoc t│ t│0 czip0 t│0 aláírva t│ t└─────────────────────────────────────┴──────────────────────────────────────┘ 2Követelmények 2───────────── Csak helyben: cmake0, egy Godot 4.x bináris bexportsablonokkal0 (web + asztali), cexport_presets.cfg0, czip0, cunzip0, watch módhoz pedig cfswatch0. A CI-hez semmi nem kell a repóban. r────────────────────────────────────────────────────────────────────────────── 1Pipeline 1════════ A játékrepókban bnincs pipeline-YAML és nincsenek CI make-célok0. A Woodpecker az update szervertől kéri el, a WarpEngine pedig a teljes konfigurációt a c/build/config0 végponton szolgálja ki (sablon: clib/warp_engine/ci/woodpecker/platforms/godot/pipeline.yaml.erb0). A repóhoz három dolog kell: p # .woodpecker.yaml p platform: godot • cmetadata.json • az capplication_token0 Woodpecker-secret: egy WarpEngine ApplicationToken az cupdate0 + cupload0 jogosultságokkal • cname: 0 a jelölőben, de csak akkor, ha a szoftvernév eltér a repó nevétől A builder image-ek (pl. cgodot-builder:4.7.10) az update szerver cci_platforms konfigurációjából jönnek. A kiszolgált pipeline megtekintése: p curl "https://teletypegames.org/build/config?platform=godot" 2Lépések 2─────── t┌────────────┬───────────────────────────────────────────────────────────────┐ t│h Lépés t│h Mit csinál t│ t├────────────┼───────────────────────────────────────────────────────────────┤ t│0 1. version t│0 kiolvassa a verziót a cmetadata.json0-ból, különben a git rövid t│ t│0 t│0 hash-t használja; a cmain0/cmaster0 ágon kívül cdev--<ág>0 t│ t│0 t│0 előtagot kap; megírja a c.version0 fájlt t│ t├────────────┼───────────────────────────────────────────────────────────────┤ t│0 2. build t│0 a cgodot-builder0 image-ben: import, a cWeb0 előbeállítás t│ t│0 t│0 exportja, majd a négy asztali cél; mindegyiket saját zipbe t│ t│0 t│0 csomagolja t│ t├────────────┼───────────────────────────────────────────────────────────────┤ t│0 3. upload t│0 átmásolja a cmetadata.json0 fájlt t│ t│0 t│0 cgodotdemo-.metadata.json0 néven, majd fájlonként cPOST0 t│ t│0 t│0 c/build/upload0 az cX-Update-Secret0 fejléccel t│ t├────────────┼───────────────────────────────────────────────────────────────┤ t│0 4. publish t│0 cPOST /build/publish0 a cname0, cplatform0, cversion0 paraméterekkel t│ t└────────────┴───────────────────────────────────────────────────────────────┘ A builder image a 9godot-ci (headless szerkesztő bés a hozzá illő bexportsablonok0), kiegészítve a cmake0, czip0, cunzip0 és cjq0 eszközökkel, így egyik lépés sem futtat capt-get0-et. A godot-tools cbuilder.Dockerfile0 fájljából épül. p curl -X POST -H "X-Update-Secret: " \ p "https://teletypegames.org/build/publish?name=godotdemo&platform=godot&ver» p sion=1.0.0" 2Eredmény 2──────── Egy webes build és négy asztali cél, mindegyik saját zipben, a kiadáshoz ReleaseAssetként csatolva, és a katalógusoldalról letölthetően. A nyilvános játékindex magától frissül.