主题切换
📖 术语表
预计阅读 5 分钟
本术语表涵盖微信小游戏开发中的核心概念,按领域分类,方便快速查阅。
🎮 引擎相关
游戏循环 (Game Loop)
游戏运行时持续执行的循环,每帧依次完成"处理输入 → 更新状态 → 渲染画面"。前端对比:浏览器事件循环是被动响应,游戏循环是主动驱动。
帧率 (FPS / Frame Rate)
每秒渲染的画面帧数。微信小游戏标准目标为 60fps(约 16.67ms/帧),低于 30fps 用户会感知卡顿。
渲染管线 (Rendering Pipeline)
从游戏数据到屏幕像素的完整处理流程。包含顶点处理、图元装配、光栅化、像素着色等阶段。
碰撞检测 (Collision Detection)
判断两个或多个游戏对象是否相交。常用算法:AABB(轴对齐包围盒)、SAT(分离轴定理)、像素级检测。
场景 (Scene)
游戏中独立的功能单元,如"开始界面"、"游戏主界面"、"结算界面"。前端对比:类似单页应用中的路由页面。
节点 (Node) / 游戏对象 (GameObject)
场景中所有元素的基类,具有位置、旋转、缩放等变换属性。前端对比:类似 DOM 元素节点。
组件 (Component)
挂载在节点上的功能脚本,定义游戏对象的行为。前端对比:React/Vue 中的组件概念。
预制体 (Prefab)
预先配置好的游戏对象模板,可在运行时动态实例化。前端对比:可复用的组件模板。
图集 (Atlas / SpriteSheet)
将多张小图合并为一张大图的优化技术,减少 Draw Call 和纹理切换。前端对比:CSS Sprites。
Draw Call
CPU 向 GPU 发送的一次绘制指令。Draw Call 过多是性能瓶颈的主要来源。
对象池 (Object Pool)
预创建并缓存游戏对象,避免频繁创建/销毁带来的 GC 压力。前端对比:连接池、线程池等概念。
着色器 (Shader)
运行在 GPU 上的程序,控制顶点变换和像素颜色计算。
📱 微信平台相关
AppID
微信小游戏/小程序的唯一标识符,在微信公众平台注册后获取。
双线程架构
微信小游戏的核心架构:渲染线程(Canvas/WebGL)和逻辑线程(JS 引擎)分离运行,通过消息通信。
开放数据域 (Open Data Context)
微信小游戏的独立 JS 运行环境,用于展示好友排行榜等社交数据,与主域隔离。
分包加载 (Subpackage)
将代码和资源拆分为多个包,首包 ≤ 4MB,总包 ≤ 20MB,按需加载降低启动时间。
首包 (Main Package)
用户首次启动时下载的代码包,需控制在 4MB 以内。
激励视频广告 (Rewarded Video Ad)
用户主动观看完整视频后获得奖励的广告形式,是微信小游戏最重要的变现方式之一。
米大师支付 (Midas Payment)
腾讯旗下的虚拟支付平台,微信小游戏内购通过米大师完成。
云开发 (CloudBase)
微信提供的 Serverless 后端服务,包含数据库、存储、云函数,无需自建服务器。
wx API
微信小游戏 JavaScript API 的命名空间,提供平台能力调用(如 wx.login、wx.shareAppMessage)。
🧩 游戏开发通用
游戏状态机 (FSM)
管理游戏不同状态的切换,如 loading → menu → playing → paused → gameOver。前端对比:Redux/Pinia Store + Router。
帧动画 (Frame Animation)
逐帧切换精灵图片实现的动画效果。
骨骼动画 (Skeletal Animation)
通过控制骨骼关节的变换实现的动画,比帧动画更灵活且占用更少内存。
视差滚动 (Parallax Scrolling)
不同层级的背景以不同速度移动,产生景深效果。前端对比:CSS parallax 效果。
瓦片地图 (Tilemap)
用小块图块拼接成的关卡地图,节省资源且易于编辑。
A* 寻路 (A* Pathfinding)
经典的启发式路径搜索算法,广泛用于游戏 AI 寻路。
ECS 架构 (Entity-Component-System)
数据驱动的架构模式:Entity(实体)= ID,Component(组件)= 纯数据,System(系统)= 处理逻辑。
💰 商业化与运营
IAP(In-App Purchase,应用内购买)
用户在游戏内购买虚拟商品(皮肤、道具、货币等)的变现模式。微信小游戏通过米大师支付实现 IAP,需企业主体与版号资质。
IAA(In-App Advertising,应用内广告)
通过在游戏中展示广告获得收入的变现模式。微信小游戏常见形式包括激励视频、Banner、插屏广告。
ARPU(Average Revenue Per User,每用户平均收入)
总收入 ÷ 总用户数,衡量用户整体付费能力的指标。常用于评估不同渠道或活动的效果。
ARPPU(Average Revenue Per Paying User,每付费用户平均收入)
总收入 ÷ 付费用户数,反映核心付费用户的消费深度。
LTV(Lifetime Value,用户生命周期价值)
单个用户在整个生命周期内为游戏贡献的总收入。LTV > CPI(获客成本)是规模化买量的前提。
付费率
付费用户数 ÷ 活跃用户数。休闲游戏通常在 1%-3%,中重度游戏可达 10% 以上。
广告渗透率
观看广告的用户数 ÷ 活跃用户数。高渗透率说明广告场景设计合理,但需避免过度打扰。
eCPM(Effective Cost Per Mille,千次展示有效收入)
每 1000 次广告展示带来的平均收入,反映流量变现效率。
DAU / MAU(日活 / 月活)
DAU 为单日活跃用户数,MAU 为单月活跃用户数。DAU/MAU 比值反映用户粘性。
留存率(Retention Rate)
用户在特定天数后仍返回游戏的比例,常见指标:次日留存、7 日留存、30 日留存。
K 值(病毒系数)
每个老用户平均能带来多少新用户。K > 1 意味着产品具备自传播能力。
⚖️ 合规与发布
ICP 备案
在中国大陆上线游戏网站或相关服务前,需向主管部门完成的网站备案手续。
版号
国家新闻出版署颁发的游戏出版物号,含内购的微信小游戏通常需要申请版号才能上线运营。
软著(软件著作权)
对游戏软件代码/文档的著作权登记,是申请版号、维权和融资的常见材料。
实名认证
根据防沉迷要求,游戏需对接国家新闻出版署的实名认证系统,验证玩家真实身份。
防沉迷
针对未成年玩家的游戏时长、消费限制机制。微信小游戏需按政策接入相应接口。
隐私协议 / 用户协议
告知用户数据收集、使用范围的法律文本。涉及用户数据的微信小游戏必须在显著位置提供协议入口。
🛡️ 安全与反作弊
HMAC(Hash-based Message Authentication Code)
基于哈希函数的消息认证码,配合密钥验证消息完整性与真实性,常用于服务端签名校验。
Nonce
一次性随机数,用于防止重放攻击。服务端通过记录已使用 nonce 拒绝重复请求。
Replay 攻击(重放攻击)
攻击者截获合法请求后重复发送以伪造操作。常用时间戳窗口 + nonce 进行防御。
中间人攻击(MITM)
攻击者在客户端与服务端之间窃听或篡改通信。应使用 HTTPS/WSS 并校验服务端证书。
客户端签名
在客户端对关键请求计算签名,增加篡改门槛。注意:客户端密钥可被逆向,不能作为唯一防线。
服务端权威(Server Authority)
关键逻辑(分数、金币、胜负)由服务端计算和裁决,客户端仅做预测和展示。
异常检测
通过统计或机器学习识别异常数据(如分数突增、操作频率异常),标记可疑账号进行复核。
timingSafeEqual
Node.js 提供的常量时间比较函数,用于防止时序攻击泄露 HMAC 签名的正确长度。
🌐 多人同步
帧同步(Frame Synchronization)
所有客户端按相同时间步长接收输入并推演逻辑,保证一致性。适合强竞技、低延迟场景。
状态同步(State Synchronization)
服务端定期向客户端广播权威状态,客户端进行插值平滑。适合 MMO、大规模对战。
客户端预测(Client Prediction)
客户端提前执行本地输入并显示结果,同时等待服务端权威确认,减少操作延迟感。
服务端回滚(Server Reconciliation / Rollback)
当服务端权威状态与客户端预测不一致时,回退到服务端状态并重新推演,常用于格斗/竞技游戏。
延迟补偿(Lag Compensation)
服务端在判定射击/碰撞时,根据玩家网络延迟回退时间轴,提升高延迟玩家的体验公平性。
权威服务器(Authoritative Server)
服务端拥有游戏状态的最终裁决权,客户端发送输入而非直接修改状态,是反作弊的基础架构。
🔄 前端-游戏概念映射速查
| 前端概念 | 游戏对应 | 核心差异 |
|---|---|---|
| DOM 树 | 场景树 / 节点层级 | 无浏览器自动布局,需手动管理 |
| CSS Flexbox | UI 布局组件 | 引擎提供内置布局系统 |
| React/Vue 组件 | Component 挂载在 Node 上 | 无虚拟 DOM,直接操作渲染对象 |
| 事件循环 | 游戏循环 | 被动响应 vs 主动驱动 |
| Web Worker | 开放数据域 | 都是独立线程,通信机制类似 |
| Intersection Observer | 碰撞检测 | 浏览器自动 vs 手动实现数学算法 |
| Redux Store | GameStateMachine | 状态管理概念相似 |
| URL Router | Scene 切换 | 导航概念相似 |
📚 推荐参考资源
- 游戏编程模式 (Game Programming Patterns) — Robert Nystrom
- MDN Game Development
- 微信小游戏开发文档