《Lua游戏开发实践指南》一导读

前 言

Lua游戏开发
游戏开发是一个激动人心的过程,创造出让玩家花费数小时并乐在其中的游戏,给人带来的成就感是任何事情都无法比拟的。然而,这个创造的过程正在变得越来越难。那种奋战几个晚上或者几周就能单枪匹马设计出热门游戏的日子已经一去不复返,现在的游戏往往需要数十人的开发团队工作很多个月甚至几年才能完成。就算是那些可以从网上下载的最简单的“休闲游戏”也通常是由专业开发者组成的团队开发数月的成果。

尽管游戏开发的规模不断增大,但始终有一个不变的追求——测试、更新、调整,以及快速验证游戏性的能力,通常这个部分是设计和开发过程的核心。采用一种像Lua这样的脚本语言以及内核级别的语言(如C++)可以帮助用户开发专业的游戏,并且还能让开发者和设计师快速实现设计想法、测试游戏功能。
适用读者
本书适合三类读者:
游戏程序员。程序员在开发团队中负责实现Lua和C++之间的接口,并且通常还要编写部分或者全部的游戏脚本。本书将告诉程序员如何将Lua和LuaGlue的功能集成到游戏开发项目中。对于程序员来说,最重要的是,使用Lua可以在游戏开发的过程中节省很多时间和精力,因为许多游戏的功能可以由设计师和脚本程序员来实现。
游戏设计师。通常,游戏设计师会采用像Lua这样的脚本语言在运行环境中来实现部分设计。本书可以作为Lua语言的初级读本,为设计师打下坚实的技能基础,从而去构建真实的游戏世界。同时,本书还可以激发设计师的灵感,使用Lua开发可以帮助他们使用工具快速开发原型,快速实现并且进行创意的验证。
业余游戏开发者。学习如何开发你自己的游戏是富有成就感和具有挑战性的。游戏行业鼓舞了许多这样的业余爱好者,通过自己的项目来学习更多关于游戏和开发的知识,这样的付出很值得。本书展示了经验丰富的业余游戏开发者如何在他们的项目中使用Lua,还提供一个已有的框架以便入门并深入学习Lua,进而快速开发没有任何C++代码的游戏(提供完整的控制台和游戏测试环境)。

目 录

第1章游戏开发入门
1 1越来越复杂的开发过程
1 2更好的开发方式
1 3为什么使用Lua
1 4本章小结
第2章 脚本语言
2 1脚本语言简介
2 2Lua简介
2 3本章小结
第3章 游戏开发世界的Lua语言
3 1脚本语言和游戏
3 2游戏项目中的Lua
3 3本章小结
第4章Lua入门
4 1使用Lua控制台
4 2Lua基础
4 3变量
4 3 1nil
4 3 2Boolean
4 3 3string
4 3 4Number
4 3 5table
4 3 6局部变量和全局变量
4 4运算符
4 4 1算术运算符
4 4 2关系运算符
4 4 3逻辑运算符
4 5控制结构
4 5 1if
4 5 2while和repeat
4 5 3for
4 5 4break
4 6本章小结
第5章深入学习Lua
5 1函数
5 1 1单一参数
5 1 2多个参数
5 1 3返回值
5 2标准库
5 2 1assert(myValue)()
5 2 2dofile(filename)
5 2 3math floor()
5 2 4math random()
5 2 5math min()
5 3字符处理
5 3 1类型转换
5 3 2string char(n1,n2, )
5 3 3string len(myString)
5 3 4string sub(myString,
start,end)
5 3 5string format()
5 3 6string find(sourceString,findString)
5 3 7字符和格式
5 4table数据结构
5 4 1table getn(myTable)
5 4 2table insert(myTable,position,value)
5 4 3table remove(myTable,position)
5 4 4table引用
5 4 5多维table
5 4 6pairs()
5 5I/O基础
5 6本章小结
第6章Lua与C/C++程序的整合
6 1初期设计要点
6 1 1Lua环境
6 1 2LuaGlue函数
6 2基本实现方式
6 2 1创建Lua运行环境
6 2 2添加LuaGlue函数
6 2 3命令处理
6 2 4退出程序
6 2 5cLua对象和LuaLib
6 2 6使用cLua的例子
6 2 7LuaGlue函数的优点
6 2 8LuaGlue函数:参数和返回值
6 3本章小结
第7章Lua与C++的交互
7 1重新审视LuaGlue函数
7 2C++代码和Lua的交互
7 3事件驱动的编程
7 3 1示例事件
7 3 2事件的参数
7 4错误处理
7 5本章小结
第8章开发准备
8 1Visual C++ 6 0工作区
8 2DirectX基础
8 3LuaGUI简介
8 3 1启动GUI
8 3 2界面
8 3 3界面控件
8 3 4事件
8 3 5与GUI系统相关的LuaGlue函数
8 3 6Shell程序的扩展
8 4调试窗口
8 5Windows注册表
8 6本章小结
第9章设计Lua版本的实现
9 1游戏设计原则
9 1 1什么是游戏
9 1 2了解玩家的想法
9 2基础库设定
9 3设计文档
9 4Lua编程规范
9 5本章小结
第10章使用Lua处理游戏数据
10 1简单的游戏数据
10 1 1太空飞船的例子
10 1 2《Take Away》的玩家飞船
10 1 3敌舰数据
10 1 4补给箱数据
10 2大数据集
10 2 1表单型数据
10 2 2Lua格式的数据文件
10 3使用Lua保存游戏数据
10 3 1案例1——《Frontrunner》
10 3 2案例2——健身大亨
10 4本章小结
第11章Lua驱动的GUI
11 1GUI系统概要
11 2GUI的C++类
11 2 1GUI控件:Sprite
11 2 2GUI控件:TextField
11 2 3GUI控件:Button
11 2 4界面
11 2 5GUI管理器
11 3GUI LuaGlue函数
11 4进一步的说明
11 5Lua游戏界面
11 5 1界面设计原则
11 5 2快速创建界面
11 5 3载入界面
11 5 4主菜单界面
11 5 5Controls界面
11 5 6InGame界面
11 6本章小结
第12章Lua游戏编程
12 1游戏主循环
12 2井字棋
12 2 1游戏的初始化
12 2 2游戏回合处理
12 2 3模拟游戏回合
12 3《Take Away》游戏的实现原理
12 3 1InGame
12 3 2使用计时器
12 3 3玩家操作
12 3 4子弹运动
12 3 5飞船移动
12 3 6绘制活动的物体
12 4本章小结
第13章使用Lua定义和控制AI
13 1智能的体现
13 221点游戏
13 3井字棋
13 4《Take Away》游戏的实现
13 4 1掠夺舰
13 4 2攻击舰
13 4 3冲击舰
13 4 4混合舰
13 4 5控制飞行方向
13 4 6碰撞检测
13 5其他AI的例子
13 5 1静态追踪
13 5 2近距离追踪
13 5 3动态追踪
13 5 4预判型追踪
13 5 5炮塔攻击
13 5 6躲避攻击
13 5 7防御性射击
13 5 8攻击伤害
13 6有限状态机
13 7路径寻找
13 7 1算法概要
13 7 2路径寻找示例
13 7 3Lua实现
13 8本章小结
第14章Lua和图像
14 1运行绘图示例
14 1 1指纹示例
14 1 2爆炸示例
14 2线性移动
14 2 1GetCollisions函数
14 2 2HitTest函数
14 2 3进一步的说明
14 3碰撞检测
14 3 1LuaGlue函数SetTexture
14 3 2坦克示例
14 42D粒子系统
14 5本章小结
第15章最后说明
15 1添加音效和音乐
15 1 1LuaGlue函数PlaySound
15 1 2音乐
15 2使用编辑器
15 3调试Lua脚本
15 3 1通用原则
15 3 2调用DoFile函数
15 3 3Lua 错误消息
15 3 4使用实时调试窗口
15 3 5使用文本框
15 3 6使用文件输出
15 4资源管理
15 4 1资源的组织
15 4 2运行时的文件夹
15 5发布Lua代码
15 6许可证
15 7进一步的说明
15 8本章小结

时间: 2024-09-28 04:23:14

《Lua游戏开发实践指南》一导读的相关文章

《TCP/IP路由技术(第二卷)》一导读

前 言 TCP/IP路由技术(第二卷)自从出版了<TCP/IP路由技术(第一卷)>之后,虽然Cisco Press"CCIE职业发展系列"中增加了大量新书,而且CCIE计划本身也被扩展到多个专业领域,但IP路由协议仍然是所有准CCIE们的核心基础.因此,必须透彻地对其加以理解和掌握,否则基础不牢,大厦将倾. 我在<TCP/IP路由技术(第一卷)>的前言中曾经说过,"--随着互联网络规模和复杂性的不断增大,路由问题也随即变得庞大且错综复杂".由

《TCP/IP路由技术(第二卷)》一1.4 配置EGP

1.4 配置EGP TCP/IP路由技术(第二卷) 通过以下4个基本步骤即可完成路由器上的EGP配置. 第1步:利用命令autonomous-system指定路由器的AS. 第2步:利用命令router egp启动EGP进程并指定邻居的AS. 第3步:利用命令neighbor指定EGP邻居. 第4步:指定由EGP宣告的网络. 下面的第一个案例研究将详细解释前3个配置步骤,同时也给出了步骤4的多种实现方法. 1.4.1 案例研究:EGP末梢网关 图1-10给出了一台位于AS 65502的EGP末梢

《TCP/IP路由技术(第二卷)》一1.9 配置练习题

1.9 配置练习题 TCP/IP路由技术(第二卷) 本书附录E中提供了以下配置练习题的答案. (1)图1-14中的自治系统65531是一个核心AS,请在RTA和RTB上配置EGP,要求如下: 不要将AS内的数据链路宣告给任何外部邻居. RTA将连接在其S1接口上的网络宣告给RTB:另外,要求RTA和RTB之间不能宣告其他AS间链路. RTA和RTB向其外部邻居(除了从其他自治系统学习到的网络)宣告默认路由,而且这两个网关都不得将默认路由宣告给其内部邻居. (2)例1-26给出了图1-15中RTC

《TCP/IP路由技术(第二卷)》一1.1 EGP的起源

1.1 EGP的起源 TCP/IP路由技术(第二卷)在20世纪80年代早期,构成ARPANET(现代互联网的前身)的路由器(网关)设备上都运行了一种距离向量路由协议--GGP(Gateway-to-Gateway Protocol,网关到网关协议).但是随着ARPANET的不断发展,与当今许多负责管理日益增长的互联网络的网管员一样,ARPANET的架构师们也预见到了相同的问题:现在运行的路由协议没有很好的扩展性. Eric Rosen在RFC 827中阐述了以下扩展性问题. 由于所有的网关都要知

《TCP/IP路由技术(第二卷)》一1.6 附 注

1.6 附 注 TCP/IP路由技术(第二卷)1Eric Rosen,"RFC 827:外部网关协议(EGP)". 2Linda J. Seamonson和Eric C. Rosen"RFC 888:'末梢'外部网关协议". 3D.L. Mills,"RFC 904:外部网关协议正式规范". 4J. Rekhter,"RFC 1092:EGP和新NSFNET骨干网的策略路由".

《TCP/IP路由技术(第二卷)》一1.5 检测与排除EGP故障

1.5 检测与排除EGP故障 TCP/IP路由技术(第二卷)在1.3节中已经解释了EGP为何无法应用于复杂的AS间拓扑结构,而强制性的简单拓扑结构带来了一个意外的好处,那就是EGP的故障检测和排除变得非常简单. 与其他路由协议一样,检测与排除EGP故障的第一步工作就是查看路由表.如果所请求的路由缺失或路由表中存在一条非期望路由,通过查看路由表就可以检测到问题的根源.由于EGP的度量值几乎没有任何意义,因而与其他路由协议相比,利用路由表进行EGP故障的检测和排除工作可以得到大大简化. 需要注意的是

《TCP/IP路由技术(第二卷)》一第1章 外部网关协议

第1章 外部网关协议 TCP/IP路由技术(第二卷)本章将主要讨论以下主题. • EGP的起源:本节将讨论在RFC 827(1982)中定义的外部网关协议的发展历史. • EGP的操作:本节将讨论EGP的基本操作机制,重点是EGP拓扑结构.EGP功能及EGP消息格式. • EGP的不足:本节将探讨为什么EGP不再是一种可行的外部网关协议解决方案. • 配置EGP:本节将通过4个独立的案例研究--EGP末梢网关.EGP核心网关.间接邻居和默认路由,来说明不同类型的EGP配置方法. • 检测和排除E

《TCP/IP路由技术(第二卷)》一1.7 展 望

1.7 展 望 TCP/IP路由技术(第二卷)本章不但说明了AS间路由协议的发明驱动力,也解释了EGP难以胜任该角色的原因.第2章将简要描述EGP的替代协议--边界网关协议及其操作.表1-10汇总了本章用到的所有命令.

《TCP/IP路由技术(第一卷)(第二版)》一导读

前 言 TCP/IP路由技术(第一卷)(第二版)路由技术即使在最小的数据通信网络中也是基本的要素.在某种程度上,路由技术和路由器的配置是相当简单的.但是,当网络的规模越来越大,并且越来越复杂的时候,路由选择问题就变得比较突出和难以控制了.或许,有点不恰当地说,作为一名网络系统顾问,我应该感谢当前出现的大规模路由技术难题,这些问题给了我谋生的手段.假设没有它们,"你何以为生?"这句习语可能就会不幸地成为我每天生活词汇的一部分了. Cisco认证互联网专家(CCIE)在大型网络的设计.故障

《TCP/IP路由技术(第一卷)(第二版)》一第1章 TCP/IP回顾1.1 TCP/IP协议层

第1章 TCP/IP回顾 TCP/IP路由技术(第一卷)(第二版)本章包括以下主题: TCP/IP协议层: IP包头(IP Packet Header): IPv4地址: 地址解析协议(ARP): Internet控制消息协议(ICMP): 主机到主机层. 考虑到这本书的书名是<TCP/IP路由技术>,有必要从回顾TCP/IP的基本知识开始讲起,然后再讲述如何进行TCP/IP路由选择.如果读者正在准备Cisco认证互连网专家(Cisco Certified Internetwork Exper