游戏AI很容易被划分成各种组件,如决策、动画处理和策略,但如果想要在**的AI和差劲的AI之间达成平衡,就需要考虑各个系统之间的权衡和交互。
本书首先引入了AI沙盒,介绍、实现并扩展了游戏A I中各个方面。随后你会学习到如何利用诸如Ogre 3D 、Bullet Physics、Opetlsteer、Recast、Detour 、Lua这类开源库来创建一个AI沙盒,这些基础代码可进行扩展及改进。
通过逐步讲解的方式来完成从基本造型移动到完整的士兵动画的学习。阅读完杨编写的《Lua游戏AI 编程入门影印版英文版》之后,你将能够实现一个可以导航、探路、管理动画回放、通信、感知周边环境的AI。
目錄:
Preface
Chapter 1:Gettinq Started with Al Sandbox
Introduction to Al sandbox
Understanding the sandbox
The project Iayout
The Premake build
Compiling the sandbox with VisuaI Studio 2008/201 0/201 2/201 3
Open source Iibraries
Open source tools
Lua IDE—Decoda
Running AI sandbox inside Decoda
Setting up a new Decoda project
Debugging Lua scripts
Decoda Watch window
Decoda Call Stack window
The Decoda VirtuaI Machines window
Simultaneous Lua and C+-I-debugging
VisuaI Studio—Attach to Process
Decoda——Attach to Process
Decoda..Attach System Debugger
Associating Lua scripts from code with Decoda
The Lua virtuaI machine
The Lua stack
Lua primitives
Metatables
Metamethods
Userdata
C/C++calling Lua functions
Lua calling C/C++functions
Function binding
Creating custom userdata
Looking at the vector data type
The demo framework
Ogre
Object-Oriented Input System
SandboxApplication
Sandbox
Agent
Utility classes
Lua binding
Summary
Chapter 2:Creating and Movinq Aqents
Creating a new sandbox project
Setting up the file structure
Extending the SandboxApplication class
Running your sandbox for the first time
Creating a new Decoda project
Configuring Decoda。S run executable
Creating a sandbox Lua script
Creating a floor
Adding a Iight
Adding a skybox
Adding meshes to the sandbox
Creating sandbox objects
Shooting blocks
Creating an agent Lua script
Creating a visual representation
Updating an agent position
Updating an agent orientation
Agent properties
Orientation
The forward axis
The leftaxis
The up axis
Location
Position
Size
Height
RadiLJS
……