作品简介

本书针对第1版进行改版,将“单机游戏”融入到网络部分的实例中,在讲解网络通信原理的同时,给出各个知识点的案例,并开发客户端的网络模块和服务端程序框架。然后将一部分的坦克游戏改造成联网对战的多人游戏。本书基于Unity3D最新版本编写,书中例子为商业游戏简化版本,读者可以从中了解商业游戏的设计思路和实现方法。读者看完本书,初步拥有开发一款完整网络游戏的能力。

罗培羽编著

作品目录

  • 前言
  • 第1章 网络游戏的开端:Echo
  • 1.1 藏在幕后的服务端
  • 1.2 网络连接的端点:Socket
  • 1.3 开始网络编程:Echo
  • 1.4 更多API
  • 1.5 公网和局域网
  • 第2章 分身有术:异步和多路复用
  • 2.1 什么样的代码是异步代码
  • 2.2 异步客户端
  • 2.3 异步服务端
  • 2.4 实践:做个聊天室
  • 2.5 状态检测Poll
  • 2.6 多路复用Select
  • 第3章 实践出真知:大乱斗游戏
  • 3.1 什么是大乱斗游戏
  • 3.2 搭建场景
  • 3.3 角色类Human
  • 3.4 如何使用网络模块
  • 3.5 进入游戏:Enter协议
  • 3.6 服务端如何处理消息
  • 3.7 玩家列表:List协议
  • 3.8 移动同步:Move协议
  • 3.9 玩家离开:Leave协议
  • 3.10 攻击动作:Attack协议
  • 3.11 攻击伤害:Hit协议
  • 3.12 角色死亡:Die协议
  • 第4章 正确收发数据流
  • 4.1 TCP数据流
  • 4.2 解决粘包问题的方法
  • 4.3 解决粘包的代码实现
  • 4.4 大端小端问题
  • 4.5 完整发送数据
  • 4.6 高效的接收数据
  • 第5章 深入了解TCP,解决暗藏问题
  • 5.1 从TCP到铜线
  • 5.2 数据传输流程
  • 5.3 常用TCP参数
  • 5.4 Close的恰当时机
  • 5.5 异常处理
  • 5.6 心跳机制
  • 第6章 通用客户端网络模块
  • 6.1 网络模块设计
  • 6.2 网络事件
  • 6.3 连接服务端
  • 6.4 关闭连接
  • 6.5 Json协议
  • 6.6 发送数据
  • 6.7 消息事件
  • 6.8 接收数据
  • 6.9 心跳机制
  • 6.10 Protobuf协议
  • 第7章 通用服务端框架
  • 7.1 服务端架构
  • 7.2 Json编码解码
  • 7.3 网络模块
  • 7.4 心跳机制
  • 7.5 玩家的数据结构
  • 7.6 配置MySQL数据库
  • 7.7 数据库模块
  • 7.8 登录注册功能
  • 第8章 完整大项目《坦克大战》
  • 8.1 《坦克大战》游戏功能
  • 8.2 坦克模型
  • 8.3 资源管理器
  • 8.4 坦克类
  • 8.5 行走控制
  • 8.6 坦克爬坡
  • 8.7 相机跟随
  • 8.8 旋转炮塔
  • 8.9 发射炮弹
  • 8.10 摧毁敌人
  • 第9章 UI界面模块
  • 9.1 界面模块的设计
  • 9.2 场景结构
  • 9.3 面板基类BasePanel
  • 9.4 界面管理器PanelManager
  • 9.5 登录面板LoginPanel
  • 9.6 注册面板RegisterPanel
  • 9.7 提示面板TipPanel
  • 9.8 游戏入口GameMain
  • 9.9 功能测试
  • 第10章 游戏大厅和房间
  • 10.1 列表面板预设
  • 10.2 房间面板预设
  • 10.3 协议设计
  • 10.4 列表面板逻辑
  • 10.5 房间面板逻辑
  • 10.6 打开列表面板
  • 10.7 服务端玩家数据
  • 10.8 服务端房间类
  • 10.9 服务端房间管理器
  • 10.10 服务端消息处理
  • 10.11 玩家事件处理
  • 10.12 测试
  • 第11章 战斗和胜负判定
  • 11.1 协议设计
  • 11.2 坦克
  • 11.3 战斗管理器
  • 11.4 战斗结果面板
  • 11.5 服务端开启战斗
  • 11.6 服务端胜负判断
  • 11.7 服务端断线处理
  • 11.8 测试
  • 第12章 同步战斗信息
  • 12.1 同步理论
  • 12.2 状态同步
  • 12.3 帧同步
  • 12.4 协议设计
  • 12.5 发送同步信息
  • 12.6 处理同步信息
  • 12.7 同步坦克SyncTank
  • 12.8 服务端消息处理
  • 12.9 完善细节
  • 12.10 结语
展开全部