没有合适的资源?快使用搜索试试~ 我知道了~
首页Lua脚本在游戏引擎中的应用
Lua是一种免费、开放的中间代码型的脚本语言,作者在研究了它的结构和 特点的基础上,对Lua运行环境中的堆栈结构进行了分析,由于引擎与Lua脚本 均能够操作堆栈中的数据,因此通过把堆栈作为两者信息传递的中间层,实现了 共用Lua全局变量、在引擎中引用脚本函数和在Lua中引用引擎函数的功能,以 达到数据共享的作用,从而建立了把Lua系统引入游戏引擎的模式。文章最后模 拟了一个仿真的游戏环境,分析了引擎与Lua脚本在游戏中各个模块的实现过 程,并构建了一个两者整合的框架。
资源详情
资源评论
资源推荐
Lua脚本在游戏引擎中的应用
Abstract
Behavior models of actors in game engine are mainly controlled by script system
For example, Unreal Engine, one of the strongest foreign business engines, makes use
of UnrealScript, which is defined and developed by them as an intermediate code, to
implement Artificial Intelligence system. But compiler and virtual machine also must
be developed if using this custom script language, which is a huge work. However,
some foreign experts on this field suggested that we should apply an existing script
language. As we know, Lua, Python and Tcl are strong script systems. If they are
integrated in game engine, not only development cycle of game project can be
reduced, but also robustness and agility of the third-party script system can be exerted.
But the thought of this method hasn't still implemented on detail.
Lua is a free intermediate-code type script language. On the basis of its
architecture and features, the author studied its stack machine structure in Lua runtime
environment, and attempted to integrate Lua system into game engine. Because both
engine and Lua script can operate data in stack, so stack can be used as center
connection lay between them to deliver messages. Through implement of sharing Lua
global variables, importing Lua methods to engine and exporting engine methods to
Lua, high level data of controlling game process can be easily shared. At last, the
author simulated one game environment, analyzed the modules that engine and Lua
script should be completed when integrating, and provided one framework
[Keywords]
Game Engine, Lua, Script, Intermediate Code
1V
Lua脚本在游戏引擎中的应用
第一章 游戏引擎基础及脚本
1.1电子游戏的组成要素
电子游戏是一种以电子平台为媒介并按照某种特定的规则条件进行的娱乐
活动,其中电子平台分为计算机和电视游戏机,以下简称游戏。当今比较流行的
游戏机有微软的Xbox、索尼的PlayStation2
游戏的制作不同于其它应用系统的开发
、任天堂的GameCube等。
,它涉及到许多的方面,其中有四个
极为重要的要素,也是制作过程中人员分工的依据,分别是 “策划’,、“程序”、
“美术”和 “音乐”,它们彼此的关系图 1-1所示:
人物
设计
游戏的组成要素
图 卜!
策划就是要求设计人员把游戏从其它的创造性的媒介 (如艺术、电影、音乐
和书等)中分离出,并在玩家与游戏的交互中得到体现。它是整个游戏的灵魂,
控制着游戏的规划、流程和系统等所有的方面。策划人员所要做的工作有:
. 游戏规划:游戏制作前的资料收集与环境规划。
· 架构设计:设计游戏主要架构与主题定义。
· 流程剧情:绘制游戏流程与故事情节。
· 人物场景:设置人物属性,规划场景。
程序是用来升华游戏灵魂的一种技术性工具。在策划人员凭空想象的策划书
中,必须利用程序将设计转化成一种成像的画面和功能。程序设计人员在理解了
游戏策划之后,要将其分解为众多小的游戏功能分配给其他人员编写,最后再把
复且大学硕士毕业论文
Lua脚本在游戏引擎中的应用
它们整合为一,达到策划的要求。程序设计人员所要做的工作有:
引擎制作:引擎是游戏的核心,它要能够足以应付游戏中发生的事件和图
形图像管理等。
人工智能:设计游戏中非玩家人物的行为方式。
技术支持:配合策划人员并提供技术支持,以达到最佳的显示效果。
美术是玩家首先接触到的就是游戏中的画面,在玩家尚未真正操作游戏的时
候,可能会先被绚丽的画面所吸引,进而动心去玩这个游戏,因此优秀的美术人
员是不可缺少的。美术人员所要做的工作有:
人物:设计与绘制游戏中所有需要的登场人物。
场景:绘制场景对象,以提供地图编辑人员使用。
界面:绘制玩家与引擎做直接沟通的用户画面。
动画:为游戏中的人物行为制作动画,以避免出现僵硬的动作。
音乐制作人员要在了解游戏故事的整个剧情发展后,做出与游戏中情节氛围
相适应的音效与相关的背景音乐。
1.2引擎的原理
在现实生活中,“引擎”是一种牵引汽车的一个重要机械装置。引擎可以称
得上是汽车的心脏,决定着汽车的性能和稳定性、速度、操纵感等都是建立在引
擎的基础土的。在游戏中,引擎的地位也是如此,·玩家所体验到的剧情、关卡、
美工、音乐、操作等内容都是由游戏的引擎直接控制的,所以游戏引擎可以说是
在游戏中扮演着发动机的角色,把游戏中的所有元素捆绑在 一起,在后台指挥它
们同时、有序地工作。
游戏引擎的主要工作是进行游戏中的物理演算、碰撞运算、物体成像、输入
控制,以及播放正确的音量和声音输出等必要的功能。其实不管是在 2D或 3D
的游戏上,还是角色扮演、实时战略、冒险解谜、动作射击等不同类型的游戏上,
它们都必须通过这种控制作用的程序代码才能运作,而这些程序代码则是游戏引
擎的主要核心。
可以说,游戏引擎是一个有许多子系统所共同构成的复杂框架系统,其系统
包括建立模型、画面成像、行为动画、光影处理、分子特效、位置计算、碰撞检
测、数据管理、网络联机,以及其它专业的地图编辑器、脚本编译器等,,它涵盖
了整个开发过程中所有的重要环节。
复旦大学硕士毕业论文
Lua脚本在游戏引擎中的应用
在游戏产业发展初期,对于游戏开发产商而言,他们几乎都只关心如何尽量
多的开发出新的游戏,然后投放大量的广告把这些游戏推销给玩家。尽管当时的
游戏大多显得简单粗糙,但每款游戏的平均开发周期至少也要达到 8到 10个月
以上,这一方面是由于显卡在硬件上的支持而限制了的图形图像在技术上的发
展,另一方面则是因为几乎每款游戏几乎都要从头编写程序代码,造成了大量的
重复劳动。
在游戏的发展过程中,一些有经验的开发者总结出一些代码复用的方法,那
就是保留 卜一款类似题材游戏中的部分代码,并把它们作为新游戏的基本框架,
以节省开发时间和成本。这部分代码就被称之为引擎,游戏引擎的概念就是在这
种软件工程化的背景下诞生的。
引擎的发展在硬件技术的不断提高和游戏产业的日益壮大的推动下,已取得
了惊人的进步。除了在游戏中可以看到精致的建筑物之外,还可以欣赏到许多华
丽的特效,例如宽广的场景、美丽的天空、荡漾的水波、逼真的火焰、朦胧的烟
雾和物理力场等效果。
一些商业引擎 (如 Unreal引擎)的应用范围没有被限制在游戏的制作上,
曾有国外的公司采用它开发了一套建筑设计软件用在房地产上的演示,还有用来
做过空手道选手的武术训练软件。一个好的引擎可以应用于娱乐、建筑、教育等
其它专业的 3D成像领域。
如今,引擎的发展已经日益成熟,游戏的画面达到了一个瓶颈的高度了,引
擎以后的发展方向难以朝着图形图像的改良而进行下去了。然而,引擎的作用并
不仅仅只被局限在游戏画面中,它会直接影响到游戏的整体风格。例如,利用相
同的引擎所制作出来的游戏,无论是其内容还是情节设定上,都有着相似的地方,
玩家逐渐的开始对端着枪跑来跑去的单调模式感到厌倦,所以游戏开发者不得不
从其它方面寻求突破,日前业界主要在关注以下两个领域:
在引擎中引入脚本的技术,这种技术可以让游戏以合理的故事来触动
游戏整体架构上的变化,使得玩家可以真实的体验到游戏情节的发
展,尤其对于第一人称的3D射击游戏是一个伟大的突破。
在人工智能算法上的改进,在游戏中,敌人的行动与以前相类似的游
戏来看,他们明显有了更多狡猾的行为,而不再只是单纯的冲向玩家
所在的位置。
这两方面的特点明显的突破了以往的引擎架构。现在越来越多的游戏开发者
开始将游戏中的重点有单纯的视觉效果逐渐的转变成具有更丰富变化性的游戏
内容,这也成功的说明了故事内容与人工智能对于游戏的重要性.是否能够支持
复旦大学硕士毕业论文
剩余51页未读,继续阅读
hjqwerty0202
- 粉丝: 0
- 资源: 27
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论8