소스 정보
- 저장소
- infometa/workbuddyskills
- 최근 소스 활동
- 2026년 7월 21일 03:35
- 감지된 SKILL.md 언어
- 중국어
- 스타
- 205
- 포크
- 65
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/infometa/workbuddyskills --skill level-design명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SOC 직업 분류 기준
SKILL.md 표시 중
| name | level-design |
| description | 关卡设计策划技能。生成关卡架构、敌人配置、Boss设计、难度曲线等关卡设计文档, 并提供对应的 GDScript 代码模板。 |
| version | 2.0.0 |
| dependencies | ["game-dev-workflow","file-manager"] |
| triggers | [{"pattern":"关卡设计|地图设计|Boss设计|敌人配置"}] |
| inputs | [{"name":"game_type","type":"string","required":true},{"name":"modules","type":"array","description":"需要的关卡模块,按需选取","items":{"enum":"[Truncated]"},"required":false}] |
| outputs | [{"name":"level_design","type":"file","path_pattern":"docs/planning/level_design.md"}] |
# {游戏名称} - 关卡设计
## 1. 关卡架构
### 总览
World 1: 初始之地 (教程) ├── 1-1: 觉醒之村 [教程] ├── 1-2: 幽林小径 [战斗] ├── 1-3: 古老遗迹 [探索] └── 1-B: 守护者 [Boss]
World 2: ...
### 解锁规则
- 完成关卡 → 解锁下一关
- 收集钥匙 → 解锁隐藏关
- 全星通关 → 解锁困难模式
## 2. 单关卡模板
### 关卡信息
- ID: 1-2
- 名称: 幽林小径
- 类型: 战斗关
- 时长: 5分钟
- 难度: 3/10
### 区域流程
1. **入口区** (30秒): 无敌人,提供回复
2. **战斗区** (3分钟): 主要战斗
3. **探索区** (1分钟): 谜题/秘密
4. **出口** (30秒): 奖励结算
### 敌人配置
| 敌人 | 数量 | 位置 | 触发 |
|------|------|------|------|
| 史莱姆 | 5 | 战斗区 | 进入触发 |
| 哥布林 | 3 | 战斗区 | 第二波 |
| 精英狼 | 1 | 出口前 | 击杀前面 |
### 物品配置
| 物品 | 位置 | 条件 |
|------|------|------|
| 小药水×2 | 入口 | 可见 |
| 宝箱 | 探索区 | 解谜后 |
## 3. 敌人设计
### 普通敌人
名称: 史莱姆 HP: 50 | ATK: 8 | DEF: 2 行为: 巡逻 → 发现玩家 → 追击 → 攻击 攻击: 弹跳 (1.0伤害, 2秒CD) 掉落: 金币5-10, 史莱姆凝胶50%
### Boss模板
名称: 森林守护者 HP: 2000 | ATK: 25 | DEF: 15
Phase 1 (100%-50%):
Phase 2 (50%-0%):
弱点: 攻击后硬直2秒 奖励: 500EXP, 200-300金币, Boss材料
## 4. 难度曲线
难度 │ ╱ │ ╱───╱ │ ╱────╱ │ ╱───╱ │───╱ └─────────────────────→ 进度 教学 入门 中期 后期
关键节点:
- 10%: 首次可能死亡
- 25%: 教学结束
- 50%: 中期高峰
- 90%: 最高难度
## 关卡管理器
class_name LevelManager
extends Node
signal level_completed(level_id, stars)
signal checkpoint_reached(cp_id)
var current_level: String
var checkpoints: Dictionary = {}
var objectives: Dictionary = {}
func load_level(level_id: String) -> void:
current_level = level_id
objectives.clear()
# 加载关卡场景和数据
func update_objective(obj_id: String, amount := 1) -> void:
objectives[obj_id] = objectives.get(obj_id, 0) + amount
_check_completion()
func reach_checkpoint(cp_id: String) -> void:
checkpoints[current_level] = cp_id
checkpoint_reached.emit(cp_id)
func _check_completion() -> void:
# 检查是否完成所有目标
pass
## 敌人AI基类
class_name EnemyAI
extends CharacterBody2D
enum State { IDLE, PATROL, CHASE, ATTACK, HURT, DEAD }
@export var max_hp := 100
@export var atk := 10
@export var detection_range := 200.0
@export var attack_range := 50.0
@export var move_speed := 100.0
var hp: int
var state := State.IDLE
var target: Node2D
func _ready() -> void:
hp = max_hp
func _physics_process(delta: float) -> void:
match state:
State.IDLE, State.PATROL:
_look_for_target()
State.CHASE:
_chase_target(delta)
State.ATTACK:
_attack()
func _look_for_target() -> void:
var players = get_tree().get_nodes_in_group("player")
for p in players:
if global_position.distance_to(p.global_position) < detection_range:
target = p
state = State.CHASE
func _chase_target(delta: float) -> void:
if not target:
state = State.IDLE
return
var dist = global_position.distance_to(target.global_position)
if dist <= attack_range:
state = State.ATTACK
else:
velocity = global_position.direction_to(target.global_position) * move_speed
move_and_slide()
func _attack() -> void:
# 子类实现具体攻击
pass
func take_damage(amount: int) -> void:
hp -= amount
if hp <= 0:
state = State.DEAD
queue_free()
else:
state = State.HURT