脚本引擎《游戏脚本的设计与开发》-序
发一下牢骚和主题无关:
从现在开始,我将通过一系列的文章,来解讲一下游戏脚本的计设和开辟,这是一个比较大的话题,并非一两篇能就讲完的,所以这是能可一个大坑,如果你不小心掉了进来,那就随着我一点点的来解了一下吧。
一,什么是游戏脚本
简略说,游戏脚本就是根据必定的格式编写的可执行文件,游戏可以通过脚本中自定义的语句来执行应相的逻辑。
举个例子,蹈舞演员随着音乐翩翩起舞,其实音乐在这里就担当了脚本的角色,音乐里记录了个一每蹈舞作动,蹈舞演员根据自己的专业知识,将这些音乐换转为美优的舞姿。
游戏也一样,游戏脚本里记录了游戏的控制语句,游戏引擎将这些控制语句行进剖析,换转为活泼的游戏画面。
二,为什么要将游戏脚本化
游戏脚本,可以令我们的游戏态动化,比如当我们开辟了一款rpg游戏,面里的剧情,事件以及图地等,我们如果将这些全体写进序程里,当然是可以的,但是一旦现出问题,哪怕几个错别字,我们要需先将这几个错别字纠正,并且将全体序程重新编译宣布一遍,这个程过是当相使人恶感的,因为如果游戏的序程随着游戏的内容断不行进修改的话,那只会使你的序程愈来愈杂复。但是如果我们将这些可复重的据数,都定义到游戏序程以外的文件面里,当游戏引擎开辟终了,我们的游戏通过取读这些外部文件,来执行应相的剧情和事件,那么,像上述当我们的游戏现出了问题,我们只要需修改这些外部文件就可以了,并不要需重新编译全体序程,这样便使得我们的游戏开辟,变得方便洁简。(悉熟我客博的朋友们是否是看着这段话熟眼?我直接拷贝了《html5游戏开辟-零基本开辟RPG游戏-源开讲座》系列文章中的释解)
游戏脚本化的另一个处好,就是将游戏引擎和游戏内容分离。游戏的脚本语言,最大的有点就是简略易懂,如果再为这个脚本语言供给了编辑器的话,就算是不会程编的人也能很轻易上手应用。
三,游戏脚本可以实现哪些能功
一个优良的游戏脚本,常通能控制游戏中的一切。游戏中所有可变的据数,都应该通过脚来本控制,例如RPG游戏中的剧情任务,人物对话,不同角色的长成,道具的性属,甚至游戏中的按钮等等。
四,我要计设一款什么样的游戏脚本
既然是自定义脚本,你可以意任绝对脚本的格式,比如我曾看到过面上一种脚本。
@@message 你好,欢送离开脚本测试 @@drawgraph 50 100 human.png
面上的脚本第一行是一个打字机果效的对话内容的示显,第二行是在坐标50,100的置位上示显了一张图片,脚本中利用格空将每一行的脚本语句行进分割,然后通过分割后的第一个字符串作为令命的种类,不同的令命再行进不同的剖析,最后通过画面示显出来。
我在开辟flash游戏引擎的时候,计设了一款脚本引擎,叫做L#,并胜利应用这个脚本开辟了《国三记》系列游戏,《国三记-浊世群雄》和《国三记-经典役战版》。面上是游戏中的两个画面
L#除了计预供给的RPG,SLG两大能功外,开辟一些小应用也是很方便的,例如在L#中示显一行文字只要需面上一行脚本
Text.label(-,txt,Hello World !,280,230,30,#000000);
为了高提flash端引擎的效率,近来算打应用Starling将flash端的L#脚本行进化优重构,便顺算打在HTML5中实现一下L#脚本的开辟。于是接下来我会把这一程过中的HTML5部份记录下来,来说明一下如何详细来开辟一款游戏脚本,大家可以从中解了到如何开辟一款大型的SLG游戏和RPG游戏。
五,准备工作
1,lufylegend.js引擎载下
我在面上的开辟程过是建立在HTML5游戏引擎lufylegend.js的基本上的,当然你用其他语言,如C,C#,java等也是一样的,只要解了了理原,实现程过都不是问题。
面上是lufylegend.js引擎的官方网址
http://lufylegend.com/lufylegend
2,一个地本的服务器
因为涉及到脚本文件的取读,所以如果你也是随着我用HTML5来实现这一程过的话,为了实现ajax取读文件,你要需在自己的电脑上安装一个地本服务器。我推荐你安装xmapp,这个工具非常方便,安装这个工具很简略,你可以百度一下,或者到我的这个帖子里,载下《HTML5 Canvas游戏开辟实战》一书中的试读章节,面里第一章面里有xmapp的安装绍介。
http://blog.csdn.net/lufy_legend/article/details/8813053
这样准备就绪以后,就可以开始脚本开辟之旅了,下一篇中,我将绍介如何来取读和剖析一个脚本文件,敬请期待。
文章结束给大家分享下程序员的一些笑话语录:
一个程序员对自己的未来很迷茫,于是去问上帝。
"万能的上帝呀,请你告诉我,我的未来会怎样?"
上帝说"我的孩子,你去问Lippman,他现在领导的程序员的队伍可能是地球上最大的"
于是他去问Lippman。
Lippman说"程序员的未来就是驾驭程序员"
这个程序员对这个未来不满意,于是他又去问上帝。
"万能的上帝呀,请你告诉我,我的未来会怎样?"
上帝说"我的孩子,你去问Gates,他现在所拥有的财产可能是地球上最多的"
于是他去问Gates。
Gates说"程序员的未来就是榨取程序员"
这个程序员对这个未来不满意,于是他又去问上帝。
"万能的上帝呀,请你告诉我,我的未来会怎样?"
上帝说"我的孩子,你去问侯捷,他写的计算机书的读者可能是地球上最多的"
于是他去问侯捷。
侯捷说"程序员的未来就是诱惑程序员"
这个程序员对这个未来不满意,于是他又去问上帝。
"万能的上帝呀,请你告诉我,我的未来会怎样?"
上帝摇摇头"唉,我的孩子,你还是别当程序员了")