thedivergentai/game-dev-agentic-skills

godot-project-templates

Navigation skill for genre project scaffolds: pick platformer/RPG/FPS (or other genre) then load matching template scripts and route gameplay fill to godot-genre- skills.

Zobacz źródło

Jak używać

  1. Skopiuj polecenie instalacji i sprawdź źródła przed instalacją we własnym środowisku agenta.
  2. W oryginale sprawdź wymagane narzędzia, dane dostępowe i obsługiwane środowiska.
  3. Opisz dane wejściowe i oczekiwany rezultat; porównaj wynik ze źródłami.
npx skills add https://github.com/thedivergentai/game-dev-agentic-skills --skill godot-project-templates

Przed rozpoczęciem

  • Instalacja nie obejmuje subskrypcji modelu, limitu API ani uprawnień do plików.
  • Gwiazdki i instalacje pokazują aktywność, a nie niezależny test jakości lub bezpieczeństwa.
Oryginalny dokument Skill

Treść z repozytorium z zachowaniem nagłówków, przykładów, kodu, tabel, linków i obrazów.

Project Templates (Navigation)

Scaffold architecture, then adapt — never dump genre tutorials into the project verbatim.

NEVER Do (Expert Anti-Patterns)

Directory & Scaffolding

  • NEVER hardcode scene paths in dozens of call sites — AutoLoad constants or a scene registry.
  • NEVER skip `.gdignore` for designer asset drops outside import pipelines.
  • NEVER copy-paste templates as-is — Understand structure, then adapt (see checklist below).

Architecture & Lifecycle

  • NEVER use `get_tree().paused` without process-mode groups — Pause menus need PROCESS_MODE_ALWAYS. Why: pausing the tree freezes _process on menu nodes too, so buttons never receive input; set gameplay to INHERIT (paused) and menu/HUD to ALWAYS via base_menu.gd or explicit process_mode on the pause root.
  • NEVER skip virtual lifecycle hooks on base classes — Prefer _initialize_*() over brittle _ready() overrides.
  • NEVER rely on monolithic God singletons — Signal Bus or Subsystem Locator.

Platform & UI

  • NEVER skip `Input.MOUSE_MODE_CAPTURED` in FPS scaffolds — Set when the FPS genre path is chosen.
  • NEVER use floating-point constants for UI layout — Anchors/containers.
  • NEVER ignore i18n translation context — Disambiguate strings in tr() / contexts.

Performance

  • NEVER load massive levels synchronously — ResourceLoader.load_threaded_request().

Golden Path

  1. Bootstrap — MANDATORY bootstrap_config.gd: config/network before audio/UI (do not rely on accidental Autoload order).
  2. Pick a genre row below → load listed scripts only.
  3. Rename project, register locator/bootstrap, configure Input Map.
  4. Open the consumer godot-genre-* skill for gameplay systems.

Platformer end-to-end: row 1 scripts → godot-genre-platformer (advanced_platformer_controller.gd for movement; template base_level + state machine for scene flow). Do NOT paste FPS/inventory recipes from this skill.

Genre Router → Scripts

MANDATORY: Choose a genre row, load the listed scripts, then open the consumer godot-genre-* skill for gameplay systems. Do NOT paste inline FPS controllers or inventory managers from memory.
Genre intentLoad these template scripts (MANDATORY)Fill gameplay via
2D platformerbase_game_manager.gd, base_level.gd, base_actor.gd, scene_state_machine.gd, state_machine_node.gdgodot-genre-platformer
Top-down / action RPGSame bases + subsystem_locator.gd, base_menu.gdgodot-genre-action-rpg
3D FPS / shooterBases + multi_platform_input.gd, platform_feature_config.gdgodot-genre-shooter-fps
Any genre + DLC packsmodular_dlc_loader.gdGenre skill + godot-export-builds
Cross-platform input/featuresmulti_platform_input.gd, platform_feature_config.gdgodot-input-handling
Threaded level streaminglevel_steamer_manager.gdgodot-scene-management
Accessibility TTSaccessibility_tts_manager.gdProject foundations / UI skills

Folder-by-feature skeleton (all genres): entities/<name>/, levels/ or maps/, ui/, autoloads/ or locator-registered systems, resources/. Details belong in the genre consumer skill — not duplicated here.


Architecture Deltas (keep in this skill)

Subsystem Locator vs God Autoload

Prefer subsystem_locator.gd for modular registration; keep a thin bootstrap Autoload only.

Bootstrap order

MANDATORY bootstrap_config.gd (or equivalent): critical systems (config/network) before audio/UI. Do not rely on accidental Project Settings Autoload order alone.

Pause modes

Gameplay tree pauses; UI/pause menu nodes use PROCESS_MODE_ALWAYS. Wire via base_menu.gd.

PCK / DLC

MANDATORY modular_dlc_loader.gd for ProjectSettings.load_resource_pack() mounts — never hand-roll path hacks in gameplay code.

Feature tags

MANDATORY platform_feature_config.gd for OS.has_feature() / export-tag forks (mobile, lowend, dedicatedserver).


Adapt-Not-Copy Checklist

Map each template piece to a consumer skill before writing gameplay code:

Template pieceAdapt into
base_actor / state machine nodesGenre movement/combat skill (godot-genre-*) + godot-state-machine-advanced
base_game_manager signalsgodot-autoload-architecture / godot-signal-architecture
Level streamergodot-scene-management
Input / feature configgodot-input-handling + platform skills
Menus / HUD shellsgodot-ui-containers
Export / CI / PCKgodot-export-builds

Usage: pick genre row → load scripts → rename project → register locator/bootstrap → configure Input Map → open genre skill for systems — do not paste stock FPS/inventory recipes from this skill.

Deep dive (load on demand)

Platformer/RPG/FPS directory trees, input map template, CI export YAML, PCK mount, bootstrap priority — references/genre-template-scaffolds.md.

Reference

Progressive disclosure: open Official Documentation links only when researching a specific API; load Related Skills when routing to a peer domain — do not preload the whole lattice.

Official Documentation

  • Project organization — Feature-folder layouts, .gdignore, and VCS hygiene that genre boilerplates should bake in from day one.
  • Scene organization — Ownership boundaries for entities/, levels/, and UI scenes so templates stay refactor-safe.
  • Singletons (Autoload) — Registering lean GameManager / Audio / SceneTransitioner services that survive scene changes.
  • Autoloads versus regular nodes — When a Subsystem Locator or scene-local node beats a monolithic God singleton.
  • Background loading — ResourceLoader.load_threaded_* patterns used by level streamer templates.
  • Pausing games — Process modes so pause menus stay alive while gameplay freezes.
  • Multiple resolutions — Stretch mode/aspect defaults (canvas_items / expand) every new project template should document.
  • Feature tags — OS.has_feature() profiles for mobile/PC/server overrides in platform config templates.
  • Exporting packs (PCK) — Modular DLC / patch mounts via ProjectSettings.load_resource_pack().
  • Using controllers and gamepads — Default Input Map actions and deadzone tuning for multi-platform templates.
  • Text-to-speech — DisplayServer TTS hooks for accessibility manager scaffolding.
  • Internationalizing games — Translation contexts so UI strings in menus/HUD avoid ambiguous keys.

Related Skills

Prerequisites

  • godot-project-foundations — Folder hygiene, naming, and import basics before copying a genre skeleton into a real repo.
  • godot-gdscript-mastery — Typed base classes, virtual hooks, and signal style used by every template script here.

Complements

Downstream / consumers

Master

  • godot-master — Library router and mirrored module entry for cross-skill discovery.

Powiązane zadania

z tego samego repozytorium

Więcej Skills

Wszystkie Skills