业余游戏开发者。学习如何开发你自己的游戏是富有成就感和具有挑战性的。游戏行业鼓舞了许多这样的业余爱好者,通过自己的项目来学习更多关于游戏和开发的知识,这样的付出很值得。本书展示了经验丰富的业余游戏开发者如何在他们的项目中使用Lua,还提供一个已有的框架以便入门并深入学习Lua,进而快速开发没有任何C++代码的游戏提供完整的控制台和游戏测试环境。
本书主要内容
在本书中,有一篇关于Lua的简介,包括历史背景和脚本编程两方面。此外,读者还将学会如何链接Lua API
来扩展C++功能。
建立了一定的知识基础后,本书将带领读者使用Lua脚本语言开发一个游戏的“快速原型”。这个游戏会为读者展示使用C++功能和Lua脚本的方法,例如:
■ 存储和载入游戏数据
■ 创建模块化的、灵活的GUI系统
■ 用Lua脚本管理游戏的实时事件
■ 使用Lua定义和控制游戏的AI(人工智能)
系统要求
■ P450或者更好的处理器
■ Windows 2000XP
■ 32MB RAM
■ 演示程序要求:
? DirectX 9 (包含在CD?ROM中)
? DX兼容的3D视频加速器
■ DirectX SDK:
? 操作系统:Microsoft Windowsr 98,Windows Millennium Edition
Windows Me,或者Windows 2000,Windows Server 2003,Windows XP
?
约65MB可用硬盘空间(安装完成后可以删除安装文件。剩下的DirectX文件约占18MB硬盘空间,如果安装了更早版本的DirectX,可能使用空间会有所不同。DirectX
9?0会覆盖之前的版本。)
■ Lua:
? 兼容大部分可以编译C语言的系统
■ Ogg Vorbis:
? Microsoft Windows 95,98,Me,NT,2000 或者XP
? 声卡
? 处理器:Pentium 200MHz以上
? 32MB RAM
■ Zeus:
? Microsoft Windows 95,98,Me,NT,2000 或者XP
? 4MB RAM
? 4?5MB可用硬盘空间
随书光盘内容
随书光盘中的内容包含下列文件夹。
C++ Code:包含《Take Away》游戏和本书中其他例子的Visual
Studio项目和所有C++代码(使用?NET版本的Visual Studio)。还有一个VS6_C++
Code文件夹,包含了使用Visual Studio 6的代码。
Chapters:包含子文件夹(以章节命名),提供本书中的所有Lua脚本和可执行程序。
Documents:包含了《Take Away》游戏的设计文档和Lua脚本编程规范。
DX9?0c:包含了DirectX 9 SDK和最新的运行时发布包。
Figures:包含了本书中的所有图片,保存在各章节的文件夹下。
License:包含了Lua和Ogg Vorbis的发布版本的许可证文档。
Lua:包含了Lua控制台、Lua手册和Lua 5?0的源代码。
OggVorbis:包含了Ogg Vorbis音乐系统的源代码。
Take Away:本书中《Take Away》游戏的完整版本(部分的版本在各自章节的文件夹下)。
Zeus:包含了Zeus程序编辑器的共享版,是一个不错的Lua脚本编辑器。
注意事项
我们目前正在从旧的Visual Studio架构转换到?NET架构。本书中的大部分代码,包括DirectX
SDK,都能在?NET版本的Visual Studio下正常工作。
我们知道还有许多程序员在Visual Studio
6下工作,因此也提供了这个版本的项目文件。不过需要注意,随书光盘中附带的DirectX SDK不能在Visual Studio
6下正常工作,用户需要2004年夏天的DirectX
SDK,在下面的链接中可以找到:http:www?microsoft?comdownloadsdetails?aspx?FamilyId=FD044A42?9912?42A3?9A93?D857199F888Edisplaylang=en。
致谢
没有Nick
Carlson提供的优秀脚本,这本书很难顺利完成,他和我们一起完成了书中的例子和大量脚本,他才刚刚开始大学生涯,未来一定前途无量。同样感谢Chris
Listello为《Take Away》的美术设计和封面设计所做的工作。还要感谢Roberto
Ierusakimschy为本书作序。感谢所有Lua
Tecgraf小组的成员,为我们创造了这样一款功能强大且性能优越的脚本语言。最后感谢Charles River小组:感谢Jenifer
Niles的支持,感谢技术编辑们帮助我们修改了文字,感谢所有制作小组的成员,你们的帮助成就了这个令人自豪的项目。