作品简介

本书主要讲述大型多人在线游戏开发的框架与编程实践,以实际例子来介绍从无到有地制作网络游戏框架的完整过程,让读者了解网络游戏制作中的所有细节。全书共12章,从网络游戏的底层网络编程开始,逐步引导读者学习网络游戏开发的各个步骤。本书通过近50个真实示例、近80个流程图,以直观的方式阐述和还原游戏制作的全过程,涵盖了网络游戏设计的核心概念和实现,包括游戏主循环、线程、Actor模式、定时器、对象池、组件编码、架构层的解耦等。本书既可以作为大学计算机相关专业网络游戏开发课程的参考书,又可以作为网络游戏行业从业人员的编程指南。

彭放编著。

作品目录

  • 前言
  • 第1章 网络编程基础
  • 1.1 单机游戏与网络游戏的区别
  • 1.2 理解IP地址
  • 1.3 理解TCP/IP
  • 1.4 阻塞式网络编程
  • 1.5 非阻塞网络编程
  • 1.6 总结
  • 第2章 网络IO多路复用
  • 2.1 Select网络模型
  • 2.2 Epoll网络模型
  • 2.3 网络协议:protobuf
  • 2.4 总结
  • 第3章 线程、进程以及Actor模型
  • 3.1 游戏架构概述
  • 3.2 框架瓶颈
  • 3.3 设计游戏框架
  • 3.4 游戏主循环
  • 3.5 理解进程和线程
  • 3.6 Actor模型
  • 3.7 游戏框架中的线程
  • 3.8 Actor对象之间的消息处理机制
  • 3.9 总结
  • 第4章 账号登录与验证
  • 4.1 登录流程图
  • 4.2 制作一个简单的验证接口
  • 4.3 导入PHP登录接口
  • 4.4 编码中用到的第三方库
  • 4.5 账号验证代码分析
  • 4.6 结果测试
  • 4.7 消息过滤机制
  • 4.8 测试机器人
  • 4.9 批量登录测试
  • 4.10 总结
  • 第5章 性能优化与对象池
  • 5.1 Visual Studio性能工具
  • 5.2 内存中的数据结构
  • 5.3 gprof
  • 5.4 valgrind
  • 5.5 对象池
  • 5.6 总结
  • 第6章 搭建ECS框架
  • 6.1 一个简单的ECS工程
  • 6.2 基于ECS框架的libserver
  • 6.3 基于ECS框架的login和robots工程
  • 6.4 YAML文件
  • 6.5 log4cplus日志
  • 6.6 总结
  • 第7章 MySQL数据库
  • 7.1 MySQL Connector/C
  • 7.2 连接时使用的函数说明
  • 7.3 数据库连接组件
  • 7.4 写入数据时使用的函数说明
  • 7.5 写入数据示例
  • 7.6 查询数据时使用的函数说明
  • 7.7 查询数据示例
  • 7.8 数据表的创建与更新
  • 7.9 数据表中的数据结构与protobuf结构
  • 7.10 角色查询与创建流程
  • 7.11 总结
  • 第8章 深入学习组件式编程
  • 8.1 新的系统管理类SystemManager
  • 8.2 allinone工程
  • 8.3 线程分类
  • 8.4 IAwakeSystem接口与对象池
  • 8.5 主动销毁对象
  • 8.6 时间堆
  • 8.7 总结
  • 第9章 服务器管理进程与HTTP
  • 9.1 启动多个login进程
  • 9.2 appmgr进程
  • 9.3 HTTP
  • 9.4 使用Mongoose分析HTTP格式
  • 9.5 为Packet定义新的网络标识
  • 9.6 HTTP分块
  • 9.7 机器人测试批量登录
  • 9.8 总结
  • 第10章 分布式登录与Redis内存数据库
  • 10.1 game与space的定位
  • 10.2 Redis及其第三方库
  • 10.3 性能瓶颈分析
  • 10.4 多进程登录协议回顾
  • 10.5 总结
  • 第11章 分布式跳转方案
  • 11.1 资源数据配置与读取
  • 11.2 地图类World与代理类WorldProxy
  • 11.3 分布式地图跳转流程
  • 11.4 通过客户端进入游戏
  • 11.5 玩家在WorldProxy之间的跳转
  • 11.6 总结
  • 第12章 断线与动态加载系统
  • 12.1 玩家断线
  • 12.2 进程之间的断线
  • 12.3 动态新增系统
  • 12.4 总结
  • 写在最后——如何构建自己的框架
  • 附录A 在CentOS上建立开发环境
展开全部