1. 核心玩法设计
2026/4/14大约 8 分钟
1. 地下城与勇士——核心玩法
本章你将掌握
通过本章学习,你将理解并掌握以下核心知识:
- 横版清版动作游戏机制:理解"推进-战斗-清场"的核心循环
- 多人本地同屏系统:掌握1-4人输入管理和屏幕共享机制
- 职业差异化设计:学会通过属性和技能塑造不同职业特色
- 动态难度缩放:实现根据玩家人数实时调整敌人强度
- 实时战斗系统:掌握连招、无敌帧、倒地救援等动作游戏核心机制
- 关卡区域推进:理解屏障锁定和区域清理的关卡结构
- 游戏状态管理:使用状态机协调菜单、战斗、结算等不同阶段
这些知识将帮助你构建一个完整的多人协作动作游戏。
1.1 这是一款什么游戏?
想象你和三个朋友坐在同一台电脑前,每人控制一个英雄,一起冲进充满怪物的地下城,左右横着打过去——这就是地下城与勇士单机版。
它属于横版清版动作游戏(Beat 'em up),和《恐龙快打》《双截龙》是同一类型。游戏的核心乐趣是:
- 用拳头、武器、技能把屏幕上的怪物全部打倒
- 和朋友配合,互相救援,一起通关
- 人越多,怪越强,挑战越大
横版清版:角色只能左右移动(横版),目标是把当前区域的怪物全部消灭(清版)。
1.2 核心玩法循环
整个游戏可以用一个循环来概括:
选择角色 → 进入关卡 → 横版推进 → 消灭怪物 → 击败Boss → 通关结算 → 下一关
↑ │
└──────────────────────────────────────────────┘每一步在做什么?
| 阶段 | 说明 | 玩家在做什么 |
|---|---|---|
| 选择角色 | 从4个职业中选一个 | 决定自己的战斗风格 |
| 进入关卡 | 1-4名玩家一起进入 | 人数决定怪物数量和强度 |
| 横版推进 | 向右移动,遭遇怪物 | 移动、跳跃、躲避 |
| 消灭怪物 | 用普攻和技能打怪 | 连招、配合、走位 |
| 击败Boss | 每关末尾的强力敌人 | 观察规律,找破绽 |
| 通关结算 | 显示评分和奖励 | 获得经验和金币 |
1.3 四大职业
游戏支持最多4名玩家同时游玩,每个玩家选择一个职业。职业决定了你的战斗方式:
| 职业 | 比喻 | 特点 | 适合谁 |
|---|---|---|---|
| 战士 | 坦克 | 血厚、近战、能扛伤害 | 喜欢冲在最前面的玩家 |
| 法师 | 炮台 | 范围魔法、伤害高、血少 | 喜欢站后排输出的玩家 |
| 盗贼 | 刺客 | 速度快、连击多、爆发高 | 喜欢灵活走位的玩家 |
| 圣骑士 | 辅助 | 能治疗、能防御、全能型 | 喜欢照顾队友的玩家 |
职业基础属性
| 属性 | 战士 | 法师 | 盗贼 | 圣骑士 |
|---|---|---|---|---|
| 生命值 | 150 | 80 | 100 | 120 |
| 攻击力 | 20 | 30 | 18 | 15 |
| 防御力 | 15 | 5 | 8 | 12 |
| 移动速度 | 200 | 180 | 260 | 210 |
| 跳跃力 | 400 | 380 | 500 | 420 |
生命值:你能承受多少伤害,归零就倒地,等待队友救援。
移动速度:每秒移动多少像素,数字越大跑得越快。
1.4 动态难度系统
这是本游戏最有趣的设计之一:玩家人数直接影响游戏难度。
难度缩放规则
| 玩家人数 | 怪物数量倍率 | 怪物血量倍率 | 怪物攻击力倍率 |
|---|---|---|---|
| 1人 | ×1.0 | ×1.0 | ×1.0 |
| 2人 | ×1.5 | ×1.2 | ×1.1 |
| 3人 | ×2.0 | ×1.4 | ×1.2 |
| 4人 | ×2.5 | ×1.6 | ×1.3 |
为什么这样设计?
- 1个人玩:怪物少,难度适中,单人也能通关
- 4个人玩:怪物多、血厚,但4个人一起打,热闹又刺激
- 中途有人离开:难度自动降低,剩余玩家不会被虐
动态调整时机
难度不是固定的,而是实时响应:
玩家加入 → 立即增加怪物数量和强度
玩家离开 → 立即减少怪物数量和强度(已生成的怪物不消失)1.5 战斗系统概览
横版动作游戏的战斗和回合制完全不同——没有"轮到你了",一切都是实时发生的。
基础操作
| 操作 | 键盘(玩家1) | 效果 |
|---|---|---|
| 移动 | WASD | 左右移动,上下(有限) |
| 跳跃 | W / Space | 跳起来,可以跳过障碍 |
| 普通攻击 | J | 挥拳/挥剑,可以连按形成连招 |
| 技能 | K | 消耗MP,释放特殊技能 |
| 翻滚 | Shift | 快速位移,短暂无敌帧 |
| 拾取/互动 | F | 捡起道具,救援倒地队友 |
无敌帧:翻滚时有几帧(画面的几个瞬间)不会受到伤害,是躲避攻击的关键技巧。
连招系统
普通攻击可以连续按出连招,不同职业有不同的连招效果:
战士连招:J → J → J → J(四连击,最后一击击飞敌人)
盗贼连招:J → J → ↑+J(两击后上挑,将敌人打到空中)
法师连招:J → J → K(两击后接技能,形成魔法连击)倒地与救援
当玩家血量归零时,不会立刻死亡,而是倒地:
血量归零 → 倒地(5秒内可被救援)→ 超时 → 失去一条命
队友按 F 靠近倒地玩家 → 救援成功 → 恢复30%血量站起来这个机制让多人游戏充满配合感——你可以去救队友,队友也可以来救你。
1.6 关卡结构
每个关卡由多个战斗区域组成,就像一条走廊被分成了几个房间:
[入口] → [区域1:小怪] → [区域2:精英怪] → [区域3:小怪+陷阱] → [Boss房间]区域推进规则
- 进入一个区域后,屏幕两端会出现屏障,锁住玩家
- 消灭区域内所有怪物后,屏障消失,可以继续前进
- 这就像"清房间"——打完这间,才能去下一间
关卡内的道具
| 道具 | 外观 | 效果 |
|---|---|---|
| 红色药水 | 红色瓶子 | 恢复30%生命值 |
| 蓝色药水 | 蓝色瓶子 | 恢复50%魔力值 |
| 金币 | 闪光金币 | 增加金币,用于购买装备 |
| 武器箱 | 木箱 | 随机获得一件武器 |
| 炸弹 | 圆形炸弹 | 捡起后可以扔出,范围伤害 |
1.7 游戏状态
C
/// <summary>
/// 地下城与勇士游戏状态
/// </summary>
public enum DnfGameState
{
/// <summary>主菜单</summary>
MainMenu,
/// <summary>角色选择</summary>
CharacterSelect,
/// <summary>关卡游玩中</summary>
Playing,
/// <summary>暂停</summary>
Paused,
/// <summary>Boss战</summary>
BossFight,
/// <summary>通关结算</summary>
StageResult,
/// <summary>游戏结束(全员阵亡)</summary>
GameOver,
/// <summary>通关</summary>
Victory
}GDScript
## 地下城与勇士游戏状态
enum DnfGameState {
MAIN_MENU, ## 主菜单
CHARACTER_SELECT, ## 角色选择
PLAYING, ## 关卡游玩中
PAUSED, ## 暂停
BOSS_FIGHT, ## Boss战
STAGE_RESULT, ## 通关结算
GAME_OVER, ## 游戏结束(全员阵亡)
VICTORY ## 通关
}1.8 场景组织
Main.tscn
├── GameManager (DnfGameManager) # 游戏总管理器
├── StageScene (Node2D) # 关卡场景
│ ├── Background (ParallaxBackground) # 视差滚动背景
│ ├── TileMap (TileMapLayer) # 地形瓦片
│ ├── Players (Node2D) # 所有玩家节点
│ │ ├── Player1 (CharacterBody2D)
│ │ ├── Player2 (CharacterBody2D)
│ │ ├── Player3 (CharacterBody2D)
│ │ └── Player4 (CharacterBody2D)
│ ├── Enemies (Node2D) # 所有敌人节点
│ ├── Items (Node2D) # 道具节点
│ ├── Barriers (Node2D) # 区域屏障
│ └── Camera2D # 跟随摄像机
├── HUD (CanvasLayer) # 游戏界面
│ ├── PlayerStatusBars # 4个玩家的血条/MP条
│ ├── LivesDisplay # 剩余命数
│ └── StageInfo # 关卡信息
└── AudioManager # 音效管理器游戏核心节点
点击节点可跳转到对应文档查看详细说明。
1.9 本章小结
| 概念 | 说明 |
|---|---|
| 游戏类型 | 横版清版动作游戏(Beat 'em up) |
| 玩家人数 | 1-4人本地同屏游玩 |
| 四职业 | 战士、法师、盗贼、圣骑士,各有特色 |
| 动态难度 | 人数越多,怪物越多越强,实时响应人数变化 |
| 战斗方式 | 实时动作,连招、技能、翻滚无敌帧 |
| 倒地救援 | 血量归零后倒地,队友可以救起来 |
| 关卡结构 | 多个战斗区域串联,最后是Boss房间 |
下一章我们将搭建项目结构,配置多人输入系统。
