帐户:密码:
设为首页   加入收藏   联系站长   站点地图 
 
学院首页 冲浪宝典 网站建设 操作系统 软件时空 硬件指南 设计天堂 网络安全 数据库 经典教程 IT认证 技术论坛
当前位置:学院首页 >> 软件时空 >> 软件规划 >> 正文

9.脚本语言浅介
转自: 时间:2003-7-31 19:51:34

脚本语言浅介

  今天,我想先以一套游戏使用的技术为蓝本,导入实务设计的范畴。你听过“ZZT”这套共享游戏吗。

  如果没有,别太在意,这是91年发行的文字模式角色扮演游 戏。我们不谈游戏本身,而把焦点放在游戏的开发系统当中。ZZ T虽然老,所引用的“物件导向”设计概念可是一点都不含糊。

  为什么需要额外设计一套游戏专属的程序开发系统?利用现有的程序语言难到不可以吗?首先,现今常见的程序语言中,大 多半都是通用语言,当然也有不少专用语言,严格说来,没有一 套游戏设计的专用语言。(不过,早在八位电脑时代,已有一套 名为“游戏制作者”的软件,它允许使用内建的语言来开发游戏 )就目前游戏主要使用的C语言以及汇编语言来说,程序员必须 从无到有,制作出游戏的引擎系统。

  如果有一套游戏开发系统,制作游戏(特别是续集)会大幅 度降低程序设计制作游戏所花费的时间与精力。让我们来看看几个实际的例子:Origin的创世纪系列(人物行程管理、对话皆有 专属系統)等。只要游戏开发系统规划得适宜,一旦制作完成, 对日后制作的游戏程序,绝对有大补益。

  我不想在这里就编辑器、编译器之间的差异以及设计的详细原理做讨论。虽然这些都与设计一套游戏开发系统有密切关系, 但这些都属于“系统程序”课程的范畴,我们只需了解就行了。   将程序与游戏资料独立安排有许多好处。你不会因为仅需要修改 游戏资料,就必须重新进行“修改代码、编译、连接”等繁琐的 过程。让我们来看一段ZZT游戏中,某商店老板的“控制”程序            

@Vendor
#end                      
:touch      “事件”触发(接触该“物体”)
   "Hello, you must be new to town!   \
   If you want to be successful     讯息显示
   around here, you'll need to buy  
   some supplies!"           /
                     
!ba;Ammunition, 3 shots.........1 gem   \
!bt;Torch.......................1 gem    选项控制
!bx;Advice......................Free   /
#end                   
                     
:b             选择第一项:购买弹药
#take gems 1 ca             
#give ammo 3               
"Here's your ammo... Happy hunting!"   
#end                   
 
:bt             选择第二项:购买火把
#take gems 1 ca             
#give torches 1             
"Here's your torch..."          
#end                   
                     
:bx             选择第三项:提出忠告
"It is whispered that soon        
if we all call the tune,        
then the piper will lead us to reason. 
                     
"And a new day will dawn         
for those who stand long        
and the forests will echo with laughter."
                     
          -Led Zeppelin     
#end                   
                     
:ca             错误处理(无力购买)
"You can't afford it!"          
#end                   

以上是ZZT程序片段
  你是否了解上面的程序,这类经过大量简化后的控制程序,我们把它称做脚本语言。脚本语言除了接近口语化的设计外,另 加上简化后的语法。(除了内建的命令外,通常仅需简单的逻辑 判断与数值计算即可胜任)因此用脚本语言制作游戏,不在是再 是非程序员不可的工作(除了系统本身的修订),企画人员也可 以很快地进入状态。另外,如果将来需要将游戏移植到其他平台 时,比起程序与资料的盘根错节的设计,利用脚本语言来开发的 游戏,只需要修改系统本身,脚本语言部分本身毋须更动,相形 之下出现问题的机会与范围就缩小了很多。      
  这次以ZZT游戏为例,就是想对脚本语言部分的设计作了概念性的介绍。


(编辑:windowsbird)
【关闭窗口】