注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

金山印象

金山软件官方博客

 
 
 

日志

 
 

新人:关于游戏为什么用脚本  

2010-06-28 15:47:33|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

  作者:小羊   金山游戏 · 成都
  呵呵,小弟初来乍道,请各位看官多多关照!话说上班两余月,来说点新学的——关于游戏为什么用脚本!以下通过简单易懂的文字说说自己的心得,俗话说外行看热闹,内行看门道,有不妥的地方欢迎批评指正。
  至于游戏为什么用脚本,没来公司之前我也不知道,甚至不知道什么是脚本,还以为与电影剧本差不多,就是为游戏写写剧情什么的,不过在公司工作一段时间后,这样的理解还真有点相近,游戏脚本就是为游戏写逻辑,写剧情的,比如主角与NPC对话,Q传中各种活动等等,这些大都归功于脚本。
  现在大体知道脚本能够做些什么了,但是还不知道脚本是个什么东东,那到底是什么呢?其实就是一种计算机语言,我们知道计算机语言有C,C++,JAVA什么的,其实计算机语言多如牛毛,各种语言有各自领域的优点,比如C用在嵌入式开发啊,JAVA在WEB的开发啊等等,都有各自的优势,也很难说那个语言好那个语言不好,如果谁在这方面争论不休的的话,那是很不专业的。
  既然脚本是一种计算机语言,总该有自己的名字吧,是的,目前公司主要用的脚本是Lua和Python,其实脚本不止这两种,还有如ruby,perl等等,在我们正在研发的新项目—就用的是Lua脚本呵呵。目前我就是用脚本写的界面逻辑,那什么是界面逻辑呢,说白了就是点这个按钮会去做什么事诸如此类事情。
  那还有一个问题就是既然脚本是一种计算机语言,那么为什么他就叫脚本,而C,C++就不那么叫呢?这个问题我把自己都问住了,其实按我的理解,所谓的脚本,就是自己单独不能体现出优势,必须依赖于第三方才能体现价值的语言。就好比病毒必须感染文件在体现其威力,如果就单独一个病毒下载到计算机上,也不运行,也不感染,也就谈不上其危害(当然潜在的危害是有滴)。既然脚本要依赖第三方才体现其优势,那么这个第三方可以是游戏,也可以是WEB应用(比如ruby)等等,其实脚本的第三方是很多的,多得你都数不清了。
  最后关键的问题来了,虽然脚本可以为游戏写逻辑的东西,那C,C++为什么不可以写游戏逻辑呢,有两个主要原因,首先,还是那句话,各种语言有各自的优势;其次,还涉及到语言的类型。
  第一个原因简单易懂,第二个就摸不着头脑了,且听慢慢道来。计算机语言类型主要有解释型,和编译型两种,要知道计算机是听不懂C,C++,JAVA的,只会二进制,那平时不就是写C,C++程序,就能够运行了吗,那是因为有个叫编译器的家伙把C,C++编的程序翻译成二进制了,所以计算机能听懂,也就能运行了。而这个搞翻译的家伙会有不同的翻译方式,一种是说一句它马上翻译一句交给你,另一种是你尽管说吧,等我写成译文再交给你。一比对就知道,前一种很快看到效果,而后一种翻译方式如果过用在新闻发布会中,可想而知。那么最后我可以回答,游戏为什么用脚本了。C,C++语言的翻译官都是属于第二种的,就是等你说完,才把译文给计算机。而Lua,Python脚本的翻译官是属于第二种的,就是你说一句,他翻译一句就交给计算机。
  目前九成以上的游戏,包括麻辣江湖,都是用C++开发的,这么大的游戏,这么大的代码量,一次性全部翻译完(也就是生成exe格式的译文),才给计算机,这个翻译过程是很慢的,当然运行exe很快。那么现在我假定NPC对话内容是C++写的,倘若我想改变他说话的内容,那么翻译官又得重新全部翻译,再把译文交给计算机,所以这时脚本体现了他的价值,如果NPC对话内容是脚本写的话,你改到哪句我就重新翻译哪句就OK啦,游戏的逻辑是改的很多的,所以现在知道为什么游戏要用脚本了吧,说白了就是为游戏的逻辑改变翻译方式,使得更改后能马上见效,而不是等着你翻译了半天,新闻发布会都结束了。
  综上所述,对游戏脚本的前后左右都灰常通俗的讲解了我的心得,欢迎探讨,更多精彩内容,待下回分解 ^_^!

  评论这张
 
阅读(238)| 评论(1)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017