编辑推荐
适读人群 :游戏开发爱好者:想要自己制作一款游戏的人,作为自学参考书。游戏开发岗位求职者:想要谋求游戏公司开发岗位的人,作为自学参考书。职场新人:游戏公司程序员,作为自学参 本书作者对对服务端技术、游戏客户端、人工智能和虚拟现实等领域都有研究,曾组织“民间团队”开发仙剑同人游戏《仙剑5前传之心愿》。
本书以实现一款完整的多人对战游戏为目的,全书涉及行走控制、人工智能系统、界面系统、服务端框架、客户端框架、房间系统、战场系统等多项内容,详细讲解开发的整个过程!
内容简介
本书在一开始便提出一个明确的学习目标,便是要制作一款完整的多人对战游戏,然后一步一步去实现它。全书分为3个部分:
第一部分“单机游戏”:第1章至第5章,主要在于开发一款功能完整坦克单机游戏。除了让坦克行走、开炮,还将介绍基于代码和资源分离的界面系统、敌人AI。了解开发单机游戏的知识,也是为接下来的网络开发学习奠定基础。
第二部分“网络原理”:第6章至第8章,主要介绍网络通信的原理,开发客户端的网络模块和服务端程序框架。这套框架具有较高的通用性,可以运用在多种游戏上。
第三部分“网络游戏”:第9章至第12章,主要讲解房间系统和同步系统的逻辑实现,将单机坦克游戏改造成多人对战网络游戏。
作者简介
罗培羽,广州四三九九信息科技有限公司项目负责人、主程序,参与《卡布魔镜》《卡布西游》《卡布仙踪》等多款游戏的开发工作。对游戏程序开发有着深入了解,对游戏项目的组织和管理有着一定的实战经验。目前关注休闲手机游戏、虚拟现实和现实增强、独立游戏等领域。
曾组织团队开发3D仙剑同人游戏《仙剑5前传之心愿》,该项目为目前仅有的一款成功的3D仙剑同人,引起仙侠游戏圈的普遍关注。发布后获得游侠网单机RPG类下载排行第四名,仙剑官方也给予高度评价。
自2009年开始,发布《教你用vb制作rpg游戏》、《教你制作3DRPG游戏》、《掌握X3D》、《不会电脑也汇编》等大量教程。2004年出版专著《手把手教你用c#制作rpg游戏》,该书为《十二五全国高校数字游戏设计精品教材》系列之一。
内页插图
精彩书评
本书不仅是一本适合U3D初学者的入门教材,对于初中级策划来说也是一个不错的选择。无论什么引擎、什么工具软件,都是可以通过学习来应用的,但只有从内心游戏的情怀出发去做技术,才能做好游戏。本书简洁明了,内容几乎以添砖加瓦的方式,覆盖U3D制作的所有方面,甚至可以读出在软件工程的理解。我要将此书推荐给所有有梦想的游戏人。
——独立游戏开发者,前盛大游戏产品经理 黄天健
通过本书,读者可以学习如何制作一款带AI的Unity游戏,并能了解服务端的工作原理,以及使用unity接入服务端等实际开发中所需的知识。从内容思路和字行间可以感受到作者是一名拥有丰富实战经验的游戏开发者。作为unity客户端开发人员工作业余提升自我的学习教材,本书是一个很好的选择!
——佛山市超体软件科技有限公司联合创始人、CTO 区乐辉
目录
第1章 掌握Unity3D基本元素
1.1 最最简单的游戏
1.1.1在场景中创建一个立方体
1.1.2编写可以使立方体运动的程序
1.1.3测试游戏
1.1.4总结
1.2 资源导入
1.3 山体系统
1.4 灯光
1.5 材质
1.6 预设
1.6.1制作预设
1.6.2例子
1.7 声音
1.7.1音源
1.7.2接收器
1.7.3简单播放器
1.8 GUI
1.8.1用Unity3D编写HelloWorld程序
1.8.2用Unity3D编写登录框
1.9导出游戏
第 2 章 驾驶梦想中的坦克
备用章节名:坦克控制单元
2.1行走控制
2.1.1Unity3D的脚本
2.1.2获取输入操作
2.1.3坐标变换
2.2 相机跟随
2.2.1跟随的数学原理
2.2.2相机跟随的功能实现
2.2.3鼠标控制相机的角度
2.2.4滚轮调整相机与坦克的距离
2.3 坦克的物理特征
2.3.1 Unity3D的物理引擎
2.3.2 车轮碰撞器
2.4 驾驶坦克
2.5转动的轮子
2.6滚动的履带
第3章 开炮击毁敌人
备用章节名:火炮系统
3.1 旋转的炮塔
3.2 俯仰的炮管
3.3 开炮!
3.3.1制作炮弹
3.3.2制作爆炸效果
3.3.3炮弹逻辑
3.3.4开火
3.4 坦克的控制类型
3.5 摧毁敌军
3.6 准心
3.7 生命指示条
3.8 击中提示
3.8.1谁发射了炮弹
3.8.2被谁击中
3.8.3击杀提示
3.9 炮弹的音效
3.9.1射击音效
3.9.2爆炸声音
第4章 进击的人工智能
备用章节名:人工智能
4.1 实现人工智能的一般方法
4.1.1有限状态机
4.1.2分层有限状态机
4.2 搜寻目标
4.2.1编写AI类
4.2.2在Tank中调用AI类
4.3 向敌人开炮
4.3.1旋转的炮塔
4.3.2俯仰的炮管
4.3.3开炮!
4.4 路点和路径
4.4.1路点
4.4.2路径
4.4.3一种生成路径的方法
4.4.4给坦克指定路径
4.5 走向目的地
4.6 使用NavMesh计算路径
4.6.1NavMesh的原理
4.6.2生成导航图
4.6.3生成路径
4.7 行为决策
4.8 战场
4.8.1战场逻辑
4.8.2两军对峙
第5章 代码分离的界面系统
5.1 了解Unity UI系统(UGUI)
5.1.1 Canvas画布
5.1.2 EventSystem
5.1.3 RectTransform
5.1.4 其他UGUI组件
5.1.5 事件触发
5.2 制作坦克游戏界面
5.3 界面基类PanelBase
5.3.1 代码与资源分离的优势
5.3.2 界面系统的设计
5.3.3 PanelBase的设计
5.4 界面管理器PanelMgr
5.4.1 层级管理
5.4.2 打开面板OpenPanel
5.4.3 关闭面板ClosePanel
5.5 TitlePanel和InfoPanel
5.6 调用界面系统
5.7 胜负面板
5.8 设置面板
第6章 网络基础
6.1 七层网络模型
6.1.1 应用层
6.1.2传输层
6.1.3网络层
6.1.4数据链路层
6.2 IP与端口
6.3 TCP协议
6.3.1 TCP连接的建立
6.3.2 TCP的数据传输
6.3.3 TCP连接的终止
6.4 Socket套接字
6.5 同步Socket程序
6.5.1 新建控制台程序
6.5.2编写服务端代码
6.5.3编写客户端程序
6.6 异步socket程序
6.6.1 连接类(state)
6.6.2 异步服务端
6.6.3 开启服务端
6.6.4 编写客户端程序
6.7 Mysql
6.7.1 Mysql基础入门
6.7.2 留言板服务端程序
6.7.3 调试程序
6.8 类的序列化
6.9 定时器
6.10 线程互斥
6.11 通讯协议和消息列表
6.11.1 通讯协议
6.11.2 服务端程序
6.11.3 客户端场景
6.11.4 消息列表
6.11.5 客户端程序
6.11.6 调试
第7章 游戏服务端框架
7.1服务端架构
7.1.1 总体架构
7.1.2游戏流程
7.1.3连接数据结构
7.1.4数据库结构
7.1.5项目结构
7.2 数据管理类DataMgr
7.2.1 数据库结构
7.2.2 玩家数据
7.2.3 Player的初步版本
7.2.4 连接数据库
7.2.5 防止sql注入
7.2.6 Register注册
7.2.7 CreatePlayer创建角色
7.2.8 登录校验
7.2.9 获取角色数据
7.2.10 保存角色数据
7.2.11 调试
7.3 处理粘包分包
7.3.1 Conn类
7.3.2 ServNet网络处理类
7.3.3 ReceiveCb的沾包分包处理
7.3.4 发送消息
7.3.5 启动服务端
7.3.6 客户端程序
7.4 心跳
7.4.1 时间戳
7.4.2使用定时器
7.4.3心跳消息
7.4.4调试
7.5 协议
7.5.1协议基类
7.5.2字符串协议
7.5.3字节流协议
7.5.4字节流辅助方法
7.5.5使用协议
7.5.6客户端程序
7.5.7调试
7.6 中间层player类
7.7 消息分发
7.7.1消息分发类
7.7.2 NetServ的消息分发
7.8 注册登录
7.8.1 协议
7.8.2 注册
7.8.3 登录
7.8.4 登出
7.8.5 获取分数
7.8.6 增加分数
7.8.7 Print输出服务端信息
7.8.8 Main
7.8.9 客户端
7.8.10 调试
第8章 客户端网络模块
8.1 网络模块设计
8.2 委托
8.3 MsgDistribution消息分发
8.4 Connection连接
8.4.1 连接服务端
8.4.2 异步回调
8.4.3 添加消息
8.4.4 发送数据
8.4.5 心跳处理
8.5 NetMgr网络管理
8.6 登录注册
8.6.1登录注册面板
8.6.2登录面板功能
8.6.3注册面板功能
8.7 服务端程序
8.7.1协议
8.7.2场景
8.7.3协议处理
8.7.4事件处理
8.8 客户端程序
8.8.1客户端资源
8.8.2客户端程序
8.9调试框架
第9章 房间系统
9.1 房间协议
9.2 服务端房间类
9.3 服务端协议处理
9.4 客户端界面制作
9.5 客户端协议处理
第10章 同步战场系统
10.1 战场协议
10.2 服务端战场类
10.3 服务端协议处理
10.4 客户端界面制作
10.5 客户端协议处理
10.6
Unity 3D网络游戏实战 下载 mobi epub pdf txt 电子书 格式
评分
☆☆☆☆☆
当大家看到我的这一篇评价时,表示我对产品是认可的,尽管我此刻的评论是复制黏贴的。这一方面是为了肯定商家的服务,另一方面是为了节省自己的时间,因为差评我会直接说为什么的。所以大家就当作是产品质量合格的意思来看就行了。
评分
☆☆☆☆☆
完全一个项目带动学习,建议有入门基础再看
评分
☆☆☆☆☆
很好 对于 菜鸟来说 比较有用
评分
☆☆☆☆☆
不错,用着还行,我很喜欢,味道不错
评分
☆☆☆☆☆
还没来得及看,前面几章感觉有点拖沓节奏。
评分
☆☆☆☆☆
商品送货快,给快递小哥点赞。京东买书还是很方便的,第二天就能送货
评分
☆☆☆☆☆
非常不错的书,给朋友买的,朋友说这个书不错,推荐大家看看
评分
☆☆☆☆☆
这里介绍使用C#语言开发游戏,不是使用C++
评分
☆☆☆☆☆
很好 对于 菜鸟来说 比较有用