github yusufkaraaslan/Skill_Seekers v2.9.0
v2.9.0 - Game Development Release: Godot Engine Support ๐ŸŽฎ

11 hours ago

๐ŸŽฎ Game Development Release - Godot Engine Support

This release adds comprehensive support for Godot game engine projects with industry-leading signal flow analysis and complete GDScript language support.

๐ŸŽฎ Added

C3.10: Signal Flow Analysis for Godot Projects โญ NEW

  • Complete Signal Flow Analysis System: Analyze event-driven architectures in Godot game projects

    • Signal declaration extraction (signal keyword detection)
    • Connection mapping (.connect() calls with targets and methods)
    • Emission tracking (.emit() and emit_signal() calls)
    • Real-world results: 208 signals, 634 connections, 298 emissions detected in Cosmic Idler test project
    • Signal density metrics (0.78 signals/file)
    • Event chain detection (signals triggering other signals)
    • Output: signal_flow.json (374KB), signal_flow.mmd (Mermaid diagram), signal_reference.md (34KB)
  • Signal Pattern Detection: Three major patterns identified with confidence scoring

    • EventBus Pattern (0.90 confidence): Centralized signal hub in autoload
    • Observer Pattern (0.85 confidence): Multi-observer signals (3+ listeners, theme_changed: 21 connections)
    • Event Chains (0.80 confidence): Cascading signal propagation
  • Signal-Based How-To Guides (C3.10.1): AI-generated usage guides

    • Step-by-step guides (Connect โ†’ Emit โ†’ Handle)
    • Real code examples from project
    • Common usage locations with file references
    • Parameter documentation
    • Output: signal_how_to_guides.md (10 guides generated for Cosmic Idler)

Complete Godot Game Engine Support

  • Comprehensive Godot File Type Support: Full analysis of Godot 4.x projects

    • GDScript (.gd): 265 files analyzed in test project (59.8% of codebase)
    • Scene files (.tscn): 118 scene files (26.6%)
    • Resource files (.tres): 38 resource files (8.6%)
    • Shader files (.gdshader, .gdshaderinc): 9 shader files (2.0%)
    • C# integration: Phantom Camera addon (13 files, 2.9%)
  • GDScript Language Support: Complete GDScript parsing with regex-based extraction

    • Dependency extraction: preload(), load(), extends patterns
    • Test framework detection: GUT, gdUnit4, WAT
    • Test file patterns: test_*.gd, *_test.gd
    • Signal syntax: signal, .connect(), .emit()
    • Export decorators: @export, @onready
    • Test decorators: @test (gdUnit4)
    • 377 dependencies extracted with 0 syntax errors
  • Game Engine Framework Detection: Improved detection for Unity, Unreal, Godot

    • Godot markers: project.godot, .godot directory, .tscn, .tres, .gd files
    • Unity markers: Assembly-CSharp.csproj, UnityEngine.dll, ProjectSettings/ProjectVersion.txt
    • Unreal markers: .uproject, Source/, Config/DefaultEngine.ini
    • Fixed false positive Unity detection (was using generic "Assets" keyword)
    • Priority-based detection (game engines detected before web frameworks)
  • GDScript Test Extraction: Extract usage examples from Godot test files

    • 396 test cases extracted from 20 GUT test files in Cosmic Idler test project
    • Patterns: instantiation (preload().new(), load().new()), assertions (assert_eq, assert_true), signals
    • GUT framework: extends GutTest, func test_*(), add_child_autofree()
    • Test categories: instantiation, assertions, signal connections, setup/teardown
    • Real code examples from production test files
    • 22 high-quality test examples extracted

๐Ÿ› Fixed

Godot-Specific Bug Fixes

  • GDScript Dependency Extraction (commit 3e6c448): Fixed 265+ "Syntax error in *.gd" warnings

    • GDScript files were incorrectly routed to Python AST parser
    • Created dedicated _extract_gdscript_imports() with regex patterns
    • Now correctly parses preload(), load(), extends patterns
    • Result: 377 dependencies extracted with 0 warnings
  • Framework Detection False Positive (commit 50b28fe): Fixed Unity detection on Godot projects

    • Was detecting "Unity" due to generic "Assets" keyword in comments
    • Changed Unity markers to specific files: Assembly-CSharp.csproj, UnityEngine.dll, Library/
    • Now correctly detects Godot via project.godot, .godot directory
  • Circular Dependencies (commit 50b28fe): Fixed self-referential cycles

    • 3 self-loop warnings (files depending on themselves)
    • Added target != file_path check in dependency graph builder
    • Result: 0 circular dependencies detected
  • GDScript Test Discovery (commit 50b28fe): Fixed 0 test files found in Godot projects

    • Added GDScript test patterns: test_*.gd, *_test.gd
    • Added GDScript to LANGUAGE_MAP
    • Result: 32 test files discovered (20 GUT files with 396 tests)
  • GDScript Test Extraction (commit c826690): Fixed "Language GDScript not supported" warning

    • Added GDScript regex patterns to PATTERNS dictionary
    • Patterns: instantiation (preload().new()), assertions (assert_eq), signals (.connect())
    • Result: 22 test examples extracted successfully
  • Config Extractor Array Handling (commit fca0951): Fixed JSON/YAML array parsing

    • Error: 'list' object has no attribute 'items' on root-level arrays
    • Added isinstance checks for dict/list/primitive at root
    • Result: No JSON array errors, save.json parsed correctly
  • Progress Indicators (commit eec37f5): Fixed missing progress for small batches

    • Progress only shown every 5 batches, invisible for small jobs
    • Modified condition to always show for batches < 10
    • Result: "Progress: 1/2 batches completed" now visible

๐Ÿงช Tests

  • GDScript Test Extraction Test: Added comprehensive test case for GDScript GUT/gdUnit4 framework
    • Tests player instantiation with preload() and load()
    • Tests signal connections and emissions
    • Tests gdUnit4 @test annotation syntax
    • Tests game state management patterns
    • 4 test functions with 60+ lines of GDScript code
    • Validates extraction of instantiations, assertions, and signal patterns

๐Ÿ“Š Quality Metrics (Cosmic Idler Test Project)

  • SKILL.md Quality: 9/10 rating (31KB, 1,030 lines)
  • File Coverage: 98% (443/452 files analyzed)
  • Signal Analysis: 208 signals, 634 connections, 298 emissions
  • Test Coverage: 32 test files discovered, 22 examples extracted
  • Dependency Graph: 377 dependencies, 0 circular cycles
  • Language Breakdown: GDScript 59.8%, Scenes 26.6%, Resources 8.6%, Shaders 2.0%

๐Ÿ“ Files Changed

  • 1 new file: signal_flow_analyzer.py (489 lines)
  • 15 modified files: Core analyzers, test extractors, dependency analyzers
  • +1,574 additions, -157 deletions

๐ŸŽฏ Use Cases

This release is perfect for:

  • ๐ŸŽฎ Godot game developers wanting to understand signal architectures
  • ๐Ÿ“š Teams documenting Godot projects for AI assistants (Claude, ChatGPT, Gemini)
  • ๐Ÿ” Code reviewers analyzing event-driven patterns in games
  • ๐ŸŽ“ Game development educators creating learning materials
  • ๐Ÿค– AI agents needing deep understanding of Godot codebases

๐Ÿ™ Thanks

Special thanks to the Godot community and Cosmic Idler project for providing an excellent test case for validating all features!


Full Changelog: v2.8.0...v2.9.0

Don't miss a new Skill_Seekers release

NewReleases is sending notifications on new releases.