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
- Use static typing
- Cache node references in _ready
- Use signals for decoupling
- Prefer composition over inheritance
- Profile with built-in profiler