스킬 godot-gdscript-patterns
🎮

godot-gdscript-patterns

안전

Godot 4 GDScript 패턴 마스터하기

또한 다음에서 사용할 수 있습니다: wshobson

적절한 아키텍처 없이 Godot 게임을 구축하면 유지 관리가 어려운 코드와 성능 문제가 발생합니다. 이 스킬은 상태 머신, 컴포넌트 시스템, 오브젝트 풀링, 저장 시스템을 포함한 프로덕션 준비된 GDScript 패턴을 제공하여 깔끔하고 확장 가능한 게임을 구축할 수 있도록 돕습니다.

지원: Claude Codex Code(CC)
🥉 75 브론즈
1

스킬 ZIP 다운로드

2

Claude에서 업로드

설정 → 기능 → 스킬 → 스킬 업로드로 이동

3

토글을 켜고 사용 시작

테스트해 보기

"godot-gdscript-patterns" 사용 중입니다. 대기, 순찰, 추적 상태가 있는 적의 상태 머신�� 생성하세요

예상 결과:

StateMachine 클래스 (Node 상속), State 기본 클래스, EnemyIdle, EnemyPatrol, EnemyChase의 세 가지 구체적 상태 스크���트를 생성합니다. 플레이어 거리 감지 및 상태 변경을 위한 시그널 연결을 기반으로 한 전환 로직을 포함합니다.

"godot-gdscript-patterns" 사용 중입니다. 20개의 초기 인스턴스가 있는 총알용 오브젝트 풀을 생성하세요

예상 결과:

get_instance() 및 return 메서드가 포함된 ObjectPool 스크립트와 수명 관리, 속도 기반 이동, returned_to_pool 시그널이 포함된 PooledBullet 스크립트를 제공합니다. 20���의 비활성화된 총알 인스턴스를 미리 생성하는 초기화 코드를 포함합니다.

보안 감사

안전
v1 • 2/25/2026

Static analysis detected 60 potential security issues, all confirmed as false positives after review. All 'external_commands' findings are markdown code fence delimiters in GDScript examples. 'Weak cryptographic algorithm' findings refer to Godot 4's built-in encrypted file API (FileAccess.open_encrypted_with_pass) used legitimately in save system examples. 'Generic API keys' finding is a placeholder encryption key in example code (your_secret_key_here). 'Network' findings are documentation links to legitimate Godot resources. This skill contains only educational GDScript code examples and documentation with no executable content or security risks.

2
스캔된 파일
841
분석된 줄 수
0
발견 사항
1
총 감사 수
보안 문제를 찾지 못했습니다
감사자: claude

품질 점수

38
아키텍처
100
유지보수성
87
콘텐츠
50
커뮤니티
100
보안
100
사양 준수

만들 수 있는 것

플레이어 상태 머신 구현

대기, 이동, 공격, 점프 상태가 있는 플레이어 캐릭터용 상태 머신을 생성합니다. 게임 상태에 따라 플레이어 동작이 변경되는 플랫포머 또는 액션 게임을 만들 때 사용하세요.

총알을 위한 오브젝트 풀링

총알이나 발사체와 같이 자주 생성되는 오브젝트를 위한 오브젝트 풀링을 구현합니다. 가비지 ��렉션 버벅임을 줄이고 많은 엔티티가 생성되는 게임의 성능을 향상시키려면 이를 사용하세요.

컴포넌트 기반 체력 시스템

모든 게임 엔티티에 연결할 수 있는 재사용 가능한 체력, 히트박스, 허트박스 컴포넌트를 생성합니다. 전투 기능이 필요한 많은 캐��터가 있는 게임을 만들 때 사용하세요.

이 프롬프트를 사용해 보세요

기본 상태 머신 생성
[LIST_STATES] 상태가 있는 [ENTITY_TYPE]용 상태 머신을 생성하세요. StateMachine 클래스, State 기본 클래스, 하나의 구체적 상태 구현을 포함하세요.
오브젝트 풀 구현
[NUMBER]개의 오브젝트를 미리 인스턴스화하고 동적으로 확장할 수 있는 [OBJECT_TYPE]용 오브젝트 풀 시스템을 생성하세요. 풀 스크립트와 생성/소멸 콜백이 포함된 풀링된 오브젝트 스크립트를 포함하세요.
컴포넌트 시스템 구축
시그널을 통해 상호 작용하는 [COMPONENT_1] 및 [COMPONENT_2]가 포함된 컴포넌트 시스템을 설계하세요. 각 컴포넌트는 독립적이며 모든 노드에 연결 가능해야 ��니다.
암호화가 포함된 저장 시스템 생성
[DATA_TYPES]을(를) 암호화된 파일에 저장하는 저장 시스템을 구현하세요. 개별 오브젝트용 SaveManager 오토로드와 Saveable 컴포넌트를 포함하세요.

모범 사례

  • 프로세스 루프에서 get_node()를 호출하는 대신 @onready로 노드 참조를 캐시하세요
  • 강력한 결합을 피하려면 노드 간 통신에 시그널을 사용하세요
  • 데이터를 리소스(Resource 상속)로 분리하고 로직은 노드에 유지하세요
  • 더 나은 성능을 위해 모든 변수와 함수 매개변수에 정적 타이핑을 사용하세요
  • 필요하지 않을 때 노드의 처리를 비활성화하세요 (set_process, set_physics_process)

피하기

  • _process() 또는 _physics_process() 루프에서 get_node() 또는 $ 표기법을 호출하지 마세요
  • 씬 간에 직��� 노드 참조를 저장하지 마세요 - 시그널 또는 오토로드를 사용하세요
  • 리소스 스크립트에 게임 로직을 넣지 마세요 - 데이터 컨테이너로 유지하세요
  • 핫 코드 경로에서 새 오브젝트를 만들지 마세요 - 대신 오브젝트 풀링을 사용하세요
  • 타입 안전성을 갖춘 Callable을 사용할 수 있는 경우 시그널에 문자열 이름을 사용하지 마세요

자주 묻는 질문

이 스킬은 어떤 Godot 버전을 지원하나요?
이 스킬은 Godot 4.x만 지원합니다. GDScript 구문 및 API는 Godot 3.x와 상당히 다르므로 이전 버전에서는 패턴이 작동하지 않을 수 있습니다.
3D 게임에�� 이 패턴을 사용할 수 있나요?
대부분의 패턴은 2D와 3D 모두에 적용됩니다. 상태 머신, 컴포넌트, 오브젝트 풀링, 저장 시스템은 동일하게 작동합니다. 특정 노드 유형(Area2D 등)만 3D equivalents(Area3D)로 변경하면 됩니다.
플레이스홀더 암호화 키를 어떻게 바꾸나요?
암호화적으로 안전��� 무작위 문자열을 생성하여 ENCRYPTION_KEY 상수의 'your_secret_key_here'를 바꾸세요. 사용자 비밀번호에서 키를 파생해야 하는 경우 키 파생 함수를 사용하세요. 실제 키를 버전 관리에 커밋하지 마세요.
모든 전역 데이터에 오토로드를 사용해야 하나요?
아니요, 오토로드는 신중하게 사용하세요. 게임 관리자, 이벤트 버스, 씬 관리자와 같은 진정으로 전역적인 시스템에만 사용하세요. 대부분의 데이터에는 리소스 또는 시그널을 통한 종속성 주입을 선호하세요.
상속 대신 컴��넌트 기반 아키텍처를 사용하는 이유는 무엇인가요?
컴포넌트를 사용하면 깊은 상속 계층 구조 없이 체력, 이동, 전투와 같은 기능을 다양한 캐릭터에 혼합하여 일치시킬 수 있습니다. 코드를 더 재사용 가능하고 유지 관리하기 쉽게 만듭��다.
언제 오브젝트 ��링을 사용해야 하나요?
자주 그리고 빠르게 생성되는 오브젝트(총알, 파티클, 적)에 대해 오브젝트 풀링을 사용하세요. 풀링은 가비지 컬렉션 스파이크를 줄이고 성능을 향상시킵니다. 드물게 생성되는 오��젝트(파워 업 등)의 경우 풀링이 일반적으로 필요하지 않습니다.

개발자 세부 정보

파일 구조