Unity是一款综合性的游戏开发工具,也是一款全面整合的专业游戏引擎。它可以运行在Windows和Mac OS X下,并提供交互的图形化开发环境为首要操作方式。使用Unity开发的游戏,可以部署到所有的主流游戏平台,而无需任何修改。这些平台包括Windows、Linux、Mac OS X、iOS、Android、Xbox 360、PS3、WiiU和Wed等。开发者无需过多考虑平台之间的差异,只需把精力集中到制作高质量的游戏即可,真正做到"一次开发,到处部署”。据**机构统计,国内53.1%的人使用Unity进行游戏开发;有80%的手机游戏是使用Unity开发的;苹果应用商店中,有超过1500款游戏使用Unity开发。网上有为数众多的2D和3D游戏。稍微关注一下,就会发现2D游戏才是主流,如植物大战僵尸、愤怒的小鸟、***、2048等。而且,问问身边的人让他们印象深刻的游戏是什么,你会惊讶的发现,大部分游戏同样是2D的。?国内很多大专院校都开设了这个软件课程。
第1章 快速开始 1
1.1 Unity软件的下载与安装 2
1.1.1 Unity软件的下载 2
1.1.2 Unity软件的安装 2
1.2 Thanos游戏开发框架的下载与安装 3
1.2.1 Thanos 游戏开发框架的下载 3
1.2.2 Thanos 游戏开发框架的安装 4
1.3 NGUI组件的下载与安装 4
1.4 本书配套资源的下载 5
第2章 游戏UI界面搭建 7
2.1 NGUI插件详解 8
2.1.1 UI Root的概念 8
2.1.2 UI Lable的概念 9
2.1.3 UI Sprite的概念 9
2.1.4 UI Panel的概念 10
2.1.5 UI Button的概念 11
2.1.6 UI Grid的概念 12
2.1.7 UI Scroll View的概念 12
2.2 游戏UI界面搭建 13
2.2.1 游戏登录界面UI搭建 13
2.2.2 游戏战队匹配UI界面 19
第3章 游戏局外主要逻辑开发实现 23
3.1 游戏登录模块的开发 24
3.1.1 事件定义 25
3.1.2 事件注册 25
3.1.3 事件广播 26
3.1.4 使用范例 26
3.2 游戏网络通信开发 28
3.2.1 设置服务器信息 28
3.2.2 网络信息处理 29
3.2.3 消息序列化与反序列化 29
3.3 登录逻辑实现 34
3.3.1 基础知识 34
3.3.2 完善登录逻辑 38
3.4 匹配逻辑实现 45
3.4.1 Time类基础知识 45
3.4.2 完善匹配逻辑 47
3.5 英雄选择逻辑实现 50
3.5.1 基础知识 50
3.5.2 完善英雄选择 54
第4章 战斗场景逻辑开发 63
4.1 场景元素生成 64
4.1.1 地形生成 64
4.1.2 英雄生成 70
4.2 玩家控制 74
4.2.1 虚拟摇杆的使用 74
4.2.2 英雄移动状态 76
4.2.3 英雄自由状态 80
4.2.4 技能控制 82
4.2.5 血条处理 89
4.2.6 死亡处理 94
第5章 Thanos游戏框架消息机制 99
5.1 游戏框架介绍 100
5.2 委托与事件 101
5.2.1 委托的概念 101
5.2.2 事件的概念 102
5.3 消息机制 104
5.3.1 添加监听器(AddListener) 104
5.3.2 派发事件(BroadCast) 106
5.3.3 移除监听器(RemoveListener) 106
5.3.4 事件类型定义(EGameEvent) 107
5.3.5 事件处理器 108
5.3.6 使用范例 109
第6章 网络基础与协议简介 111
6.1 网络基础 112
6.1.1 网络模型 112
6.1.2 TCP/IP 模型 115
6.1.3 Socket套接字 115
6.1.4 TCP通信 118
6.2 网络层框架 120
6.2.1 网络管理器 120
6.2.2 网络初始化 120
6.3 通信协议 126
6.3.1 通信协议概念 126
6.3.2 消息处理中心 127
6.3.3 消息发送 130
6.4 序列化悍将——Protocol Buffer 132
6.4.1 ProtoBuf的概念 132
6.4.2 ProtoBuf-net的下载与使用 132
6.4.3 数据转换 133
6.4.4 序列化结构数据 134
第7章 Node.js开发环境搭建与通用游戏服务器介绍 137
7.1 Node.js服务器开发环境搭建 138
7.1.1 Node.js介绍? 138
7.1.2 软件安装与资源下载 140
7.1.3 Node.js环境搭建 141
7.2 通用游戏服务器介绍 144
7.2.1 游戏服务器的定义 144
7.2.2 游戏服务器的作用 145
7.2.3 游戏服务器的架构 145
第8章 5分钟编写功能强大的游戏服务器 151
8.1 自动化生成服务器 152
8.1.1 创建serverframework.ts文件 152
8.1.2 编写生成器 152
8.1.3 远程安装Thanos游戏开发框架模块 156
8.1.4 匹配工具目录路径 157
8.1.5 指定程序入口函数 157
8.1.6 生成框架文件 158
8.1.7 测试服务器 158
8.2 穿透服务与网络壁垒 159
8.2.1 TCP服务 159
8.2.2 Socket套接字 162
8.2.3 TCP服务网络模型 162
8.3 解析服务器框架功能 165
8.3.1 server模块 165
8.3.2 client模块 168
8.3.3 MySQL模块 170
8.3.4 logger模块 173
8.3.5 const模块 176
8.3.6 utils模块 177
8.3.7 action模块 178
第9章 Thanos 服务器框架说明 179
9.1 核心概念 180
9.1.1 Thanos服务框架 180
9.1.2 实时数据通信 180
9.1.3 消息处理机制 180
9.2 TypeScript常用语法 180
9.2.1 Export与Import 181
9.2.2 Map 181
9.2.3 async与await 183
9.3 服务器端功能实现 186
第10章 实现服务器的连接 189
10.1 发送消息 190
10.2 事件触发器 190
第11章 MySQL数据库在游戏中的应用 193
11.1 体验MySQL数据库 194
11.1.1 MySQL数据库发展史 194
11.1.2 MySQL的下载 194
11.1.3 MySQL的安装 195
11.2 SQL结构化查询语言基础用法 198
11.3 MySQL游戏数据库设计 200
11.3.1 创建数据库 201
11.3.2 框架对数据库的支持 202
第12章 Node.js环境中XML配置文件的处理 205
12.1 XML语言简介与MOBA游戏配置模板 206
12.2 读取单个XML文件 207
12.3 批量结构化XML文件工具的使用 208
12.3.1 不结构化数据的弊端 208
12.3.2 自动化的优势 208
12.3.3 自动化生成TS结构化数据文件 208
12.4 结构化数据的调用方法 215
12.4.1 加载配置数据 215
12.4.2 获取静态数据 216
第13章 Protocol Buffer协议在游戏场景中的应用 217
13.1 Protocol Buffer原理介绍 218
13.1.1 ProtoBuf消息定义 218
13.1.2 协议格式制定 218
13.2 《王者荣耀》通信协议概览 221
13.2.1 Protocol Buffer 协议源文件 221
13.2.2 客户端编译 222
13.2.3 客户端编译数据 222
13.2.4 序列化结构数据 223
13.3 使用Thanos服务器框架调试消息 223
13.4 服务器端编译 225
13.5 批量处理协议的命令行文件编写 229
13.6 生成PB文件完整批处理脚本 232
13.7 实例讲解 234
13.7.1 模拟客户端 234
13.7.2 服务器消息接收 236
第14章 账户验证模块 237
14.1 登录模块 238
14.1.1 接收请求 238
14.1.2 应答请求 238
14.2 登录成功验证 239
14.3 账号合法性验证 240
第15章 游戏匹配机制 243
15.1 随机数的产生 245
15.2 二分算法 245
15.3 数据容错处理 246
第16章 游戏节奏的控制与AI算法 249
16.1 制作JavaScript定时器 251
16.1.1 JavaScript定时器工作原理 251
16.1.2 设计定时器 256
16.1.3 在游戏中应用定时器 256
16.2 A*寻路算法 257
16.2.1 A*算法基本原理 258
16.2.2 A*寻路算法代码实现 265
16.3 AI行为树 273
16.3.1 行为树简介 273
16.3.2 行为树基本原理 273
16.3.3 行为节点 274
16.3.4 控制节点 274
16.3.5 选择节点 276
16.3.6 实例演示 276
16.4 技能模块 279
16.4.1 技能处理 279
16.4.2 技能程序框架 280
郑宇锐亚教育创始人10余年IT从业以及教学经验研究领域从技术机图像学到计算机人机交互,游戏设计与制作等众多领域。工作经历Adobe 中国flash技术布道师联众游戏公司休闲游戏制作人锐亚科技创始人