1. 核心玩法设计
2026/4/14大约 13 分钟
核心玩法设计
在动手写代码之前,我们先把 CS 的"灵魂"搞清楚——这个游戏为什么好玩?它的核心循环是什么?我们要实现哪些功能,哪些可以暂时跳过?
1.1 CS 的核心魅力
CS 和其他射击游戏最大的不同,可以用三句话概括:
- 枪法为王——一把 AK47 只要一发爆头就能带走满血敌人,所以每一枪都值得认真瞄准
- 经济博弈——每回合你只有有限的钱,"买不买"本身就是策略
- 信息差对抗——脚步声、枪声、队友报点……掌握信息的一方往往赢下回合
这三点构成了 CS "易学难精"的特质——任何人都能拿起鼠标射击,但想成为高手需要数以千计小时的练习。
1.2 核心游戏循环
CS 的核心循环是回合制的,和大多数"死了复活"的射击游戏完全不同:
┌──────────────────────────────────────────────────────┐
│ 一个回合的流程 │
├──────────────────────────────────────────────────────┤
│ │
│ ① 买枪阶段(15秒) │
│ └─ 用上一回合赚的钱购买武器/护甲/道具 │
│ │
│ ② 战斗阶段(1分55秒) │
│ ├─ T方:突破防线 → 安放炸弹 → 守住炸弹爆炸 │
│ ├─ CT方:阻止安放 / 拆除炸弹 / 消灭所有T │
│ └─ 或者任意一方消灭对方全部成员 → 回合结束 │
│ │
│ ③ 回合结算 │
│ ├─ 胜方获得更多金钱奖励 │
│ ├─ 败方获得少量安慰金 │
│ └─ 统计击杀数、存活状态等 │
│ │
│ ④ 循环回到①,直到某一方先赢下13回合 │
│ │
└──────────────────────────────────────────────────────┘一个完整对局的流程
一场标准的 CS 对局是"30 回合制"——先赢 13 回合的一方获胜。打到 12:12 时进入加时赛。
比赛开始
│
├── 上半场(12回合)
│ 第1回合(手枪局)→ 第2回合 → ... → 第12回合
│ (第1回合大家都没钱,只能用手枪,所以叫"手枪局")
│
├── 半场休息
│ (双方互换阵营:T变CT,CT变T)
│
└── 下半场(12回合)
第13回合 → 第14回合 → ... → 第24回合1.3 游戏模式
为了教学目的,我们实现 CS 的核心模式——炸弹拆除模式(Defusal):
| 模式 | 说明 | 是否实现 |
|---|---|---|
| 炸弹拆除(Defusal) | T 安放炸弹,CT 拆除 | ✅ 核心模式 |
| 人质救援 | CT 救出人质 | ❌ 不实现 |
| 死斗模式 | 死了立刻复活,纯练枪 | ❌ 不实现 |
| 军备竞赛 | 杀人升级武器 | ❌ 不实现 |
1.4 阵营设计
反恐精英(CT)—— 防守方
- 目标:阻止 T 安放炸弹,或者拆除已安放的炸弹
- 策略:分散防守各个炸弹点,听到脚步声就报点给队友
- 特色装备:拆弹钳(加快拆弹速度)
恐怖分子(T)—— 进攻方
- 目标:在炸弹点安放 C4 炸弹并保护它爆炸
- 策略:集中兵力突破一个点,或者分散骗 CT 然后突然集结
- 特色装备:C4 炸弹(每回合只有一个 T 携带)
1.5 核心机制设计
1. 移动系统
CS 的移动不像其他 FPS 那样简单。它有几个独特之处:
- 急停:松开方向键后角色会迅速停下,这是精准射击的前提。移动中射击准星会变得非常大,只有完全静止时才能打出最精准的弹道。
- 静步:按住 Shift 走路不会发出脚步声,用于偷袭或隐藏位置。
- 跳跃与蹲下:蹲下时射击更精准,但移动更慢。
移动状态对射击精度的影响:
站着不动 ──── 精准度 ★★★★★(最准)
蹲着不动 ──── 精准度 ★★★★★(最准,且后坐力恢复更快)
走着路 ──── 精准度 ★★★☆☆(准星明显变大)
跑着走 ──── 精准度 ★☆☆☆☆(基本打不中)
空中 ──── 精准度 ☆☆☆☆☆(完全随机)2. 武器与射击系统
CS 的射击手感是它最核心的竞争力。我们要实现以下机制:
后坐力模式(Recoil Pattern):
每把枪有一个固定的后坐力模式——连续射击时,子弹会按照一个固定的轨迹向上和左右偏移。高手会通过反向拖鼠标来"压枪",把子弹拉回目标位置。
AK47 的前10发后坐力示意:
7 8 9
5 6
3 4
1 2
───目标───
子弹1-2:先往上飘
子弹3-4:继续上飘
子弹5-6:开始往左飘
子弹7-9:左右交替飘弹道散布(Spread):
除了后坐力造成的规律偏移外,每发子弹还有一个随机的小偏移,模拟枪械的不精确。移动时这个随机偏移会大大增加。
伤害系统:
CS 采用了"部位伤害"设计——头部伤害最高(通常是 4 倍),身体次之,腿部最低。
| 部位 | 伤害倍率 | 说明 |
|---|---|---|
| 头部 | ×4 | 大多数枪可以一枪爆头 |
| 胸部 | ×1 | 基础伤害 |
| 腹部 | ×1.25 | 略高于胸部 |
| 腿部 | ×0.75 | 伤害较低 |
| 有护甲时 | 伤害减半 | 护甲吸收部分伤害 |
3. 经济系统
每回合结束你都会获得金钱,用它购买武器、护甲和道具。经济系统是 CS 的另一大特色——它让每一回合都和前后回合产生联系。
金钱来源:
| 事件 | 奖励金额 |
|---|---|
| 回合胜利 | $3250 |
| 回合失败 | $1400(连续失败递增) |
| 击杀(步枪) | $300 |
| 击杀(狙击枪) | $100 |
| 击杀(霰弹枪) | $900 |
| 安放炸弹 | $300(无论输赢) |
| 拆除炸弹 | $300 |
关键武器价格:
| 武器 | 价格 | 说明 |
|---|---|---|
| USP-S(CT手枪) | $200 | 默认手枪 |
| Glock-18(T手枪) | 免费 | T方默认手枪 |
| AK-47(T步枪) | $2700 | 最受欢迎的步枪,一枪爆头 |
| M4A4(CT步枪) | $3100 | CT方主力步枪 |
| AWP(狙击枪) | $4750 | 一枪一个,但很贵 |
| 防弹衣+头盔 | $1000 | 必备装备 |
| 拆弹钳 | $400 | CT方专用,加快拆弹速度 |
4. C4 炸弹机制
- 每回合只有一个 T 携带 C4 炸弹(随机分配或指定)
- 安放时间:3.2 秒
- 爆炸倒计时:40 秒
- CT 拆除时间:10 秒(有拆弹钳则 5 秒)
- 炸弹爆炸半径:大约 17 米(范围内全死)
1.6 MVP 功能清单
按照优先级排列我们要实现的功能:
P0 —— 必须有(核心可玩)
| 功能 | 说明 |
|---|---|
| FPS 角色控制 | 第一人称摄像机、WASD 移动、鼠标看、跳跃、蹲下 |
| 射击机制 | 射线检测命中、伤害计算、爆头判定 |
| 至少 3 把武器 | 手枪、步枪、狙击枪 |
| 简单地图 | 有两个炸弹点、若干掩体 |
| AI 敌人 | 能巡逻、能射击、能安放/拆除炸弹 |
| 回合系统 | 回合计时、胜负判定、新回合开始 |
| 生命值与死亡 | 血量系统、死亡判定 |
P1 —— 应该有(核心体验)
| 功能 | 说明 |
|---|---|
| 后坐力模式 | 每把枪有独特的后坐力曲线 |
| 弹道散布 | 移动影响精度 |
| 买枪菜单 | 回合开始前购买武器 |
| 经济系统 | 金钱积累和消费 |
| C4 炸弹 | 安放、倒计时、爆炸、拆除 |
| HUD | 血量、弹药、金钱、回合数、计时器 |
| 3D 音效 | 脚步声、枪声的方向感 |
P2 —— 锦上添花(完整体验)
| 功能 | 说明 |
|---|---|
| 手雷/闪光弹 | 投掷道具 |
| 多张地图 | 不同布局和风格 |
| 准星自定义 | 调整准星颜色和大小 |
| 击杀回放 | 死亡视角切换 |
| 排行榜 | 击杀数、爆头率统计 |
场景节点结构
CSGame (Node3D) -- 游戏主节点
├── Map (Node3D) -- 地图场景
│ ├── Geometry (Node3D) -- 地图几何体(墙壁、地面、掩体)
│ ├── BombSiteA (Area3D) -- 炸弹点A
│ ├── BombSiteB (Area3D) -- 炸弹点B
│ ├── TSpawn (Marker3D) -- T出生点
│ ├── CTSpawn (Marker3D) -- CT出生点
│ └── NavigationRegion3D -- AI寻路区域
│
├── Players (Node3D) -- 所有玩家
│ ├── Player (CharacterBody3D) -- 玩家角色
│ │ ├── Head (Node3D) -- 头部(摄像机挂载点)
│ │ │ └── Camera3D -- 第一人称摄像机
│ │ ├── Body (CollisionShape3D) -- 碰撞体
│ │ └── WeaponHolder (Node3D) -- 武器挂载点
│ │ └── Weapon (Node3D) -- 当前武器
│ └── AIPlayers (Node3D) -- AI角色容器
│ └── AIPlayer (CharacterBody3D) -- AI角色
│
├── C4 (RigidBody3D) -- C4炸弹(安放前)
│
├── RoundManager (Node) -- 回合管理器
├── EconomyManager (Node) -- 经济管理器
├── WeaponManager (Node) -- 武器管理器
└── HUD (CanvasLayer) -- 界面层
├── HealthBar -- 血量显示
├── AmmoCounter -- 弹药计数
├── MoneyDisplay -- 金钱显示
├── RoundInfo -- 回合信息
├── Crosshair -- 准星
└── BuyMenu -- 买枪菜单游戏核心节点
节点拆解
以下按模块拆解本游戏用到的所有核心 Godot 节点,点击节点可跳转查看详细文档。
地图场景节点
FPS 角色/武器节点
回合系统节点
HUD 界面节点
1.7 关键技术选型
| 功能 | 技术方案 | 说明 |
|---|---|---|
| 角色控制 | CharacterBody3D + Input | 标准FPS控制器 |
| 射击检测 | PhysicsRayQueryParameters3D | 射线检测命中 |
| AI寻路 | NavigationRegion3D + NavigationAgent3D | Godot 内置导航 |
| 武器切换 | 状态机模式 | 管理武器状态(待机/射击/换弹) |
| 回合管理 | 自定义信号系统 | 用信号连接各子系统 |
| 买枪菜单 | CanvasLayer + Control | Vue 风格的 UI |
| 音效 | AudioStreamPlayer3D | 3D 空间音效 |
1.8 小结
这一章我们梳理了 CS 反恐精英的核心玩法设计:
- 核心循环:买枪 → 战斗 → 结算 → 循环,先赢 13 回合获胜
- 三大核心机制:急停精准射击、后坐力压枪、经济博弈
- 两个阵营:CT(防守/拆弹)和 T(进攻/安放炸弹)
- MVP 优先级:先实现能跑能打的 P0,再逐步加入经济和 C4
下一章我们开始搭建项目,创建 Godot 工程并设置基本场景。
