一、上线前的最后一关:测试、发布、运营
"云间对决"功能做完了:引擎、循环、场景、战斗、AI、网络、UI、性能,全都有了。王姐催着上线——但老周拦住了:
"王姐,上线前还有三道关:测试、发布、运营。 过不了这三关,游戏上架也是'翻车现场'。"
第一关:测试(QA)
游戏测试的类型:
① 功能测试:每个功能能不能用(英雄、技能、匹配)
② 平衡性测试:英雄数值平不平衡(强不强、弱不弱)
③ 兼容性测试:不同手机/系统版本都能跑
④ 网络测试:弱网、断线、高延迟下的表现
⑤ 性能测试:低端机帧率、发热、内存(第十一章)
⑥ 回归测试:改一个功能,别的功能别坏
测试方法:
手工测试(真机人手玩)
自动化测试(单元测试 + UI 自动化)
内测/封闭测试(小范围玩家体验反馈)
崩溃监控(上线后持续收集崩溃日志)
MOBA 特有的测试点:
匹配系统(匹配到人了吗)
对局公平(两边实力均衡吗)
结算正确(胜负有异议吗)
举报系统(挂机/送人头处理)
"游戏测试的终极问题:'玩家体验怎么样'——不只是'有没有 bug',还有'好不好玩、公不公平'。平衡性测试是 MOBA 的命根子:数值调不好,再美的画面也没人玩。"
第二关:多平台发布
发布流程(手游):
Android:
打包 APK/AAB → 签名 → 上架应用商店
(国内:应用宝/华为/小米/OPPO/Vivo……每家审核)
上架材料:包名、图标、截图、隐私政策、版号
iOS:
打包 IPA → 签名(开发者证书)→ 上架 App Store
App Store 审核严格(隐私/权限/内容审查,1-7 天)
合规(中国手游必须):
⚠️ 版号(游戏出版备案)—— 没有版号不能收费运营!
⚠️ 未成年人防沉迷系统(实名认证 + 时长限制)
⚠️ 隐私政策(收集了什么数据要公示)
⚠️ ICP 备案(运营资质)
版本管理:
版本号规范(1.0.0)
渠道包管理(不同渠道不同包)
灰度发布(先小范围,再全量)
云间书店的发布计划:
先 Android 内测(TapTap/TestFlight)→ 调平衡
→ 正式上架(版号 + 防沉迷 + 隐私合规)→ 双平台
"发布不是'点个上传',是一套'合规 + 渠道 + 版本'的工程——版号、防沉迷、隐私合规,国内手游的'生死线',缺一样都上不了架。小陈,别小看这些'非技术'的事——它们卡起人来,比 bug 狠多了。"
第三关:运营与反外挂
游戏运营(上线后):
数据埋点:DAU/留存/付费率/对局时长
每个关键行为埋点(进游戏/匹配/胜利/购买)
→ 用数据决定"改什么"(数值/活动/新英雄)
版本迭代:按数据 + 玩家反馈持续更新
活动运营:新英雄、节日活动、皮肤促销
反外挂(Anti-cheat):
外挂类型:
加速(移动/攻击速度异常)
透视(看见迷雾后的敌人)
自动操作(自瞄/自动连招)
内存修改(改伤害/血量)
防御:
服务器权威(第八章:客户端上报的数值不可信)
行为检测(速度/操作频率异常检测)
客户端完整性校验(检测是否被修改)
举报系统 + 人工巡查
云间对决的务实方案:
服务器校验核心数据(血量/伤害服务器算)
基础行为检测(移速异常、操作频率异常)
举报 → 人工/自动封号
"游戏上线不是终点,是运营的开始——'数据埋点'决定怎么改,'反外挂'保护玩家体验。MOBA 是竞技游戏,公平性是生命线:外挂不治,游戏必死。"
二、出师考试:王姐的 15 个"为什么"
上线前的内部考试,王姐坐在考官席。
为什么 1:做游戏为什么不用从零写引擎?
"因为引擎是'水电齐全的毛坯房'——渲染、物理、音频、输入这些基础设施引擎都做好了,我们专注做'内容'(玩法、数值、美术)。从零写引擎,光'画一个三角形'就要一个月,还只是'能跑',离'能玩'差十万八千里。"
为什么 2:游戏和普通软件最大的区别是什么?
"普通软件是'事件驱动'(你点它才动),游戏是'连续驱动'(每秒循环 60 次)——游戏循环:输入 → 更新 → 渲染,永远不停。游戏里的一切'动',都来自这个循环。"
为什么 3:60 FPS 是什么意思?为什么有时候会卡?
"60 FPS = 每秒渲染 60 帧 = 每帧只有约 16.7 毫秒的预算。超出预算就掉帧(卡)。渲染、逻辑、网络都在抢这 16.7ms——所以要做性能预算管理,让低端机也能稳定 30 FPS。"
为什么 4:场景、游戏对象、组件是什么关系?
"场景是'地图'(云间峡谷),游戏对象是'场景里的东西'(英雄/小兵/塔),组件是'给对象加的能力'(Transform/渲染/物理/脚本)。 组件式架构 = 拼积木:想加会飞?加 Fly 组件。复用性强。"
为什么 5:游戏里动画是怎么做的?
"帧动画 = 快速切换图片(翻页动画书原理),每秒 10-24 帧切换。再用动画状态机管理切换:待机/移动/攻击/施法,按条件跳转——英雄该走的时候走,该打的时候打。"
为什么 6:技能伤害是怎么算的?
"伤害公式:攻击力 × 技能倍率 - 防御 × 减伤系数,加上暴击(暴击率×2倍)和小浮动。数值放配置(数据驱动),代码只读不写死——调平衡不用改代码。MOBA 的好玩,一半在数值平衡。"
为什么 7:小兵和野怪"会思考"吗?
"游戏 AI = 规则脚本(感知→决策→行动)。小兵用有限状态机(前进→攻击→待机),复杂角色用行为树。走路用 A* 寻路(F=G+H 找最短路径)——'点击地面英雄绕墙走',就是 A* 在干活。"
为什么 8:5v5 联机,大家怎么看到同一个世界?
"网络同步。两种方案:状态同步(服务器权威,传最终状态,防作弊好)和帧同步(只传操作,本地自己算,省带宽但要求逻辑确定)。MOBA 主流用状态同步。配合预测/插值/延迟补偿,玩家才感觉流畅公平。"
为什么 9:为什么断线了还能重连?
"断线重连:服务器保留对局状态快照,重连时下发完整状态恢复画面。断线期间英雄由 AI 托管(自动回城/跟随)。超时不重连才判负——网络波动不能直接让玩家输。"
为什么 10:800MB 的游戏包怎么瘦身的?
"资源加载策略:初始包只放必装资源(100-200MB),其他按需下载(皮肤/语音/高清特效用到才下)。用 AssetBundle 把资源拆包 + 版本管理 + 热更新(改数值/换皮肤不用重新装 App,下个增量包就行)。"
为什么 11:手游为什么用摇杆和技能按钮?怎么保证好按?
"触屏没有键盘鼠标,拇指热区决定布局:摇杆放左下、技能放右下。摇杆细节:动态跟随 + 死区 + 平滑。技能按钮:CD 转圈、蓝不够变灰、范围指示。操作手感 = 布局 + 反馈细节。"
为什么 12:打击感是什么?怎么来的?
"打击感 = 特效 + 音效 + 伤害飘字 + 顿帧(命中停几帧)+ 屏幕震动的合成。一个技能打中:顿帧→飘字→受击动画→音效→微震屏——这一连串反馈就是'爽'的来源。是表现层细节的叠加,不是玄学。"
为什么 13:游戏为什么越来越卡?怎么优化?
"性能优化五大招:① 图集+合批降 Draw Call;② 对象池复用高频对象(小兵/飘字不创建销毁);③ 内存管理(资源卸载/防泄漏/压缩纹理);④ LOD+剔除(远处低细节、看不见不更新);⑤ 性能降级(低端机自动降画质)。目标:最低端手机 30 FPS 不烫不卡。"
为什么 14:游戏做完了就能上架吗?
"不能,还有三关:测试(功能/平衡/兼容/性能/弱网)、发布(版号+防沉迷+隐私合规+渠道审核)、运营(数据埋点+版本迭代+反外挂)。国内手游没有版号不能收费运营;没有防沉迷会被下架。 这些'非技术'的关卡,卡起人来比 bug 狠。"
为什么 15:最后——做一款手游,你觉得最重要的是什么?
小陈想了想,说:"王姐,做手游最重要的,是把'好玩'翻译成'技术'。策划说'要有打击感',翻译成技术就是'特效+音效+顿帧+震屏';策划说'要对战公平',翻译成技术就是'服务器权威+延迟补偿+反外挂';策划说'手机要流畅',翻译成技术就是'Draw Call+对象池+性能预算'。游戏开发 = 把'感觉'翻译成'系统',再用'系统'造出'感觉'。"
王姐带头鼓掌。老周在后排默默点头。
三、完整对照表:麻烦 → 游戏开发技术
| 你遇到的麻烦 | 对应的游戏开发技术 | 云间书店的落地 |
|---|---|---|
| 从零写游戏太慢 | 游戏引擎(根) | Unity:毛坯房,专注内容 |
| 游戏和普通软件不一样 | 游戏循环(第一层) | 输入→更新→渲染,60 次/秒 |
| 不知道选什么引擎 | 引擎选型(第一层) | Unity(手游之王) |
| 地图怎么搭、对象怎么组织 | 场景与组件(第二层) | 场景/对象/组件 + 预制体 |
| 英雄怎么动起来 | 渲染与动画(第三层) | 帧动画 + 动画状态机 |
| 英雄不听指挥 | 脚本与逻辑(第四层) | 组件脚本 + 生命周期 + 数据驱动 |
| 打不掉血、没手感 | 战斗系统(第五层) | 伤害公式 + 技能 + Buff + 反馈 |
| 峡谷太冷清 | AI 与寻路(第六层) | FSM/行为树 + A* 寻路 |
| 两台手机世界不一样 | 网络同步(第七层) | 状态同步 + 预测/插值/补偿 |
| 包太大、加载慢、更新难 | 客户端架构(第八层) | AB 包 + 按需加载 + 热更新 |
| 不好按、没打击感 | UI 与表现(第九、十层) | 摇杆 + 技能按钮 + 特效音效 |
| 手机发烫掉帧 | 性能优化(第十一层) | Draw Call + 对象池 + LOD |
| 上不了架、被外挂毁掉 | 测试发布运营(第十二层) | 版号合规 + 反外挂 + 数据埋点 |
四、最后一课:游戏开发的"北极星"
"云间对决"上线,首周 DAU 破万。庆功宴上,老周和小陈坐在机房外的台阶上。
"师傅,这三个月我学了一整套游戏开发……但您一直没告诉我:游戏开发的'北极星'是什么?"
老周望着远处商场大屏上自家游戏的广告,说:"小陈,你记得你第一次让英雄动起来的那一刻吗?"
小陈笑了:"记得,按了方向键,英雄走了两步,我差点跳起来。"
"对。那个'跳起来'的感觉,就是游戏开发的北极星——让玩家感受到'快乐'。 游戏的一切技术——引擎、循环、战斗、AI、网络、优化——都是手段,目的是'给玩家造一个值得沉浸的世界'。"
他递给小陈一张纸,上面是那棵家族树,最下面多了一行字:
游戏开发的技术,本质是"把想象力变成可运行的体验"——每一层都在回答:怎么让玩家玩得开心、玩得公平、玩得流畅。 越往上,越从"让画面动起来",走向"让玩家留下来"——从引擎、战斗,到网络、运营,整个旅程都在服务同一个目标:好玩。
"记住这句话。"老周说,"然后去把下个版本的新英雄做出来吧——玩家已经在催了。"
楼下传来小圆的声音:"小陈!运营数据出来了!新英雄'云间剑客'的胜率有点超标,需要调平衡!"
小陈站起来,朝机房跑去,回头喊:"师傅!数值我马上调!这次不用改代码,改配置就行!"
老周笑着摇头,看着他的背影:"这小子……数据驱动,学得真快。"
全系列完。