Skip to content

📖 术语表

预计阅读 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 FlexboxUI 布局组件引擎提供内置布局系统
React/Vue 组件Component 挂载在 Node 上无虚拟 DOM,直接操作渲染对象
事件循环游戏循环被动响应 vs 主动驱动
Web Worker开放数据域都是独立线程,通信机制类似
Intersection Observer碰撞检测浏览器自动 vs 手动实现数学算法
Redux StoreGameStateMachine状态管理概念相似
URL RouterScene 切换导航概念相似

📚 推荐参考资源

用心学习,持续实践