内容简介
本书先提出了一个明确的学习目标,即制作一款完整的多人对战游戏,然后逐步去实现它。全书涉及行走控制、人工智能系统、界面系统、服务端框架、客户端框架、房间系统、战场系统等多项内容。在涉及相关知识点时,书中会有详细的讲解。具体来说,本书分为如下3个部分。第一部分“单机游戏”:第1章至第5章,主要介绍如何开发一款功能完整的坦克单机游戏。除了让坦克行走、开炮,还将介绍基于代码和资源分离的界面系统、敌人AI。了解开发单机游戏的知识,也是为接下来的网络开发学习奠定基础。第二部分“网络原理”:第6章至第8章,主要介绍网络通信的原理,开发客户端的网络模块和服务端程序框架。这套框架具有较高的通用性,可以运用在多种游戏上。第三部分“网络游戏”:第9章至第12章,主要讲解房间系统和同步系统的逻辑实现,将单机坦克游戏改造成多人对战的网络游戏。作为实例教程,本书偏重于例子中涉及的知识点。如果读者想要深入了解某些内容,或者了解实现某种功能的更多方法,建议在阅读本书的过程中多多查询相关资料,以便做到举一反三。
AI简介
这是一本以Unity3D引擎为基础,详细讲解多人在线坦克对战游戏开发全过程的书籍。本书首先介绍了如何创建并编辑游戏对象,包括场景、模型、灯光、材质等基本元素,然后深入探讨了材质定义与重要性,并详细介绍了如何导入坦克模型到Unity3D,实现坦克的行走和开炮等功能。此外,本书还讲解了如何实现坦克音效,以增强游戏的真实感。
在讲解基于有限状态机的人工智能实现时,本书通过实例展示了如何使电脑操控的坦克具备巡逻、进攻和逃跑等智能行为。同时,本书还深入探讨了AI的行为决策机制,让读者了解如何通过有限状态机和分层有限状态机的数学模型,模拟和实现出复杂的人工智能行为。
在计算机网络概述部分,本书详细介绍了如何通过多台计算机连接起来,以实现资源共享和信息传递。特别是针对多人在线游戏,本书详细讲解了基于TCP/IP协议的BS(客户端-服务器)结构,以及如何使用Socket套接字进行网络编程。
在讲解通用服务端框架的设计与实现时,本书提供了详细的框架设计和实现方法,包括网络、数据存储、消息分发等多个方面。同时,本书还讲解了如何设计多人坦克对战协议,包括玩家开始战斗、战斗过程中的同步以及战斗结束后的结