L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Développement · SKILL.md

godot-gdscript

godot-gdscript

GDScript programming skill for Godot Engine, including signals, coroutines, and performance optimization.

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: godot-gdscript description: GDScript programming skill for Godot Engine, including signals, coroutines, and performance optimization. allowed-tools: Read, Grep, Write, Bash, Edit, Glob, WebFetch graph: domains: [domain:gaming] specializations: [specialization:game-development] skillAreas: [skill-area:game-engines, skill-area:gameplay-programming] roles: [role:game-developer]

Godot GDScript Skill

GDScript programming for Godot Engine development.

Overview

This skill provides capabilities for implementing game logic using GDScript, Godot's Python-like scripting language.

Capabilities

Language Features

  • Classes and inheritance
  • Signals and connections
  • Coroutines with await
  • Static typing

Node Interaction

  • Scene tree navigation
  • Node references
  • Group management
  • Signal connections

Performance

  • Object pooling patterns
  • Cache node references
  • Optimize loops
  • Use typed arrays

Best Patterns

  • State machines
  • Singletons (autoload)
  • Resource management
  • Export variables

Prerequisites

  • Godot 4.0+
  • GDScript knowledge

Usage Patterns

Signal Pattern

class_name Player extends CharacterBody2D

signal health_changed(new_health: int)
signal died

@export var max_health: int = 100
var health: int = max_health

func take_damage(amount: int) -> void:
    health = max(0, health - amount)
    health_changed.emit(health)
    if health <= 0:
        died.emit()

Coroutine Pattern

func spawn_enemies() -> void:
    for i in range(10):
        spawn_enemy()
        await get_tree().create_timer(1.0).timeout

Best Practices

  1. Use static typing
  2. Cache node references in _ready
  3. Use signals for decoupling
  4. Prefer composition over inheritance
  5. Profile with built-in profiler

References

Skills enregistrées