热门职位程序员 美工 市场 策划

游戏脚本的实现
2009年01月22日 14:19:38   【发表评论/查看评论

    创建一个角色扮演游戏项目时,会发现在源码中编写游戏相关信息十分困难(这样做也是非常鲁莽的)。最好的办法就是使用外部数据源(类似于程序的代码),称之为游戏脚本(例如对话)。以这种方式,可以控制游戏的流程并节省宝贵的时间,因为不需要在每次做出改变后重新进行编译。
 

理解脚本

    当创建游戏时,游戏脚本与所编写的程序代码非常类似,只是游戏脚本相对于游戏引擎而言是外部的。正因为它们是外部的,所以才可以迅速地对脚本做出更改,而不用重新编译整个游戏引擎。否则对于一个超过100万行代码的项目,仅仅为了改变一个对话行就要重新编译整个项目。

    脚本的使用并不会非常困难,而且游戏的每个方面都可以从脚本的运用中获益,比如导航菜单、战斗控制、处理玩家的物品清单,都可以使用脚本。举个例子,进行游戏开发时,把自己想象成处于战斗的用户,他们有规律地使用一系列的法术发起攻击。但在游戏开发过程中可能决定改变部分法术,如果法术的资料是硬编码的话,将面临一个非常麻烦的问题,必须更改控制法术的那些程序代码的每个实例,更不用说去调试和检验那些代码直到正确为止。为什么要花费如此多的时间去做这些改变呢?

    相反,可以将法术以及它们对游戏中人物的影响编写到几个小小的脚本里。每当战斗打响时,这些脚本被加载,并显示可供选择的法术。一旦该法术被施展,一个脚本将发挥自己的作用,从造成损伤到产生运动或法术图形的动画。

    有两种类型的脚本系统可供使用,第一种涉及到使用某种脚本编程语言,在脚本文件中输入命令,编译该文件,并在游戏中执行编译好的脚本文件。第二种是第一种的简化版本,将命令输入到一个文件中,系统通过从一个预先定义好的命令集里选择命令来创建脚本。

    为了简化问题的处理,我们使用第二种脚本系统来创建自己的脚本命令集,称之为Mad Lib Scripting(MLS)系统,它使用一个预先定义好的命令集合(称为行为action),同时每个定义好的命令都与一个游戏功能相关联。

    下图是一个脚本命令集示例:

    使用这样一个有限的行为集合,就不再需要复杂的可编译脚本语言了。相反,只需要告诉脚本系统要使用哪些行为,以及这些行为将使用怎样的选项以实现游戏的功能。对于这种方法,最大的好处就是不再需要为指定一个简单的行为而罗列代码行,可以通过编号来引用行为和选项。

    举个例子,Play Sound行为的编号为4,而且该行为仅要求一个输入,即播放声音的编号。在脚本中只存储两个数值:一个对应于行为,另一个代表了声音。使用数值表示行为(代替文本)的方法可以使这种类型脚本的处理既快速又简单。



【编辑:布谷布谷】

 

热门招聘

最新应聘信息

相关新闻
  • 游戏设计中数值策划的作用和地位 (22)

  • 游戏关卡设计的详细介绍 (22)

  • 关卡设计几个要素 (22)

  • 《鹿鼎记》策划个人形象遭曝光 (19)

  • 中国网游十年虚拟道具演变 (15)

  • 一场游戏主策划面试全过程 (16)

  • 游戏大师谈关卡设计 (22)

  • 致策划人:游戏策划地位与创意 (16)

  • 游戏策划有哪些细致的分工? (22)

  • 游戏数值策划入门 (22)
  •  

    © 2001-2009 www.17173.com All Rights Reserved.
    建议意见:玩家留言区 商务合作:客户留言区
    广告专线:0591-87878497 客服电话:0591-87826743 关于我们 设为首页 玩家客服
    1940793