游戏开发中常用哪种脚本语言?

作者&投稿:朱服 (若有异议请与网页底部的电邮联系)
~ 随着《魔兽世界》(以下简称wow)在世界范围内流行,脚本渐渐被人们所熟知。由于wow强大的自定义界面系统,Lua这一脚本语言一举成名。\x0d\x0a\x0d\x0a其实早在Lua脚本语言被大众所熟知以前,游戏业内人士就已经开始使用脚本来开发游戏了。我们熟悉的很多国内的网络游戏大都运用了脚本开发,比如网游的长青树“梦幻西游和《大话西游2就大量应用了脚本技术。特别是《大话西游2》,其实现基于Lua脚本游戏开发的时间要远早于《魔兽世界》。在脚本技术上,国内与国外其实是站在同一起跑线上的,并不存在什么差距,这也为国内游戏产业赶超国外游戏产业提供了强有力的技术保证。\x0d\x0a\x0d\x0a在单机游戏时代,脚本这个词几乎很少出现,那么,为什么在网络游戏时代它却成了业界的宠儿呢?原因是多方面的。\x0d\x0a\x0d\x0a单机游戏时代,无论游戏主机还是PC机,它们的性能都非常低下,从而需要具有较高执行效率的编译型语言对机器的性能进行“压榨”。随着科技发展和硬件性能的不断提升,脚本逐渐被开发者所接受并利用,但这并不是脚本流行起来的决定性因素,真正的原因还在于游戏市场有这方面的需求。\x0d\x0a\x0d\x0a网络游戏时代的市场竞争激烈、变化莫测,如果延用单机时代一年半载才出一个新版本的开发方式,必然会被游戏行业激烈的市场竞争所淘汰。正是这种游戏市场需求旺盛和开发工具效率底下之间的矛盾,促使脚本语言迅速地发展起来。脚本的兴起使得传统编译型语言(asngC/C )的性能优势在硬件功效大幅攀升的今天已经不复存在。\x0d\x0a\x0d\x0a除了市场和硬件这两个因素之外,还有一点我们不能忽略。那就是用C/C 进行游戏开发的高成本和高项目风险。随着java/.net逐渐流行,学习C/C 编程语言的人越来越少,而网络游戏市场的需求却越来越庞大,在程序人才大量匮乏的情况下,造成了c,C 人才的高成本。即便是有能力雇佣大量C/C 程序员的公司,在开发游戏的过程中,也不能无视C/C 的高级特性和高度灵活性带来的高项目风险。C/C 是易学难精的编程语言,在开发大型项目的时候由于程序员的水平参差不齐,所以极易造成沟通不畅。不仅如此,c,C 滥用的高级特性也容易引入大量bug。正是由于这些原因,游戏公司开始在游戏中使用脚本,希望通过脚本来解决这些高成本、高风险的问题。\x0d\x0a\x0d\x0a二.脚本的现状\x0d\x0a\x0d\x0a脚本不仅解决了c/C 无法解决的开发效率难题,还降低了开发的成本和风险。因此脚本技术在游戏业内蓬勃发展起来,并且已经成为游戏业中不可或缺的一环。纵观当前脚本技术现状,形势一片大好,不仅语言百家争鸣,而且书籍种类也越来越多;不仅在游戏业界开花结果,在web等其它应用领域也大放异彩。\x0d\x0a\x0d\x0a首先,我们来看看目前比较流行的脚本:Python、Lua、ruby和Erlang。Python和Lua是网络游戏开发的中坚力量;ruby凭借 rubyonrails的web开发框架的强劲力量,其在游戏业的发展前途亦不可小视;Erlang在高并发性上的原生优势吸引了无数追求高性能网游服务器的开发人员的目光。\x0d\x0a\x0d\x0a其次,我们来看看书籍方面。大家都知道,文字对语言的普及起到了催化剂的作用,甚至可以看作是语言的有机组成部分。Python经过基金会的多年经营而得到NASA、Google重用的原因,就是由于其相关书籍种类比较丰富;Ruby随着RoR的流行,这两年行情看好,书籍也出版得越来越多了;Erlang是典型的少众语言,但随着多核时代的来临和高并发网络应用的需求,Erlang有着光明的发展前景,现在<>等书也已经在策划出版了;反观Lua,虽然目前越来越流行,但由于它晦涩的接口设计和缺乏大型应用的支持,使得相关书籍寥寥无几。\x0d\x0a\x0d\x0a最后,我们把焦点重新聚集到游戏开发行业中,其实不难发现,除了前文提到的《魔兽世界》和网易经典“西游系列”使用了脚本外,现在大多数比较流行的程序也都使用了脚本,如腾讯的QQgame))和搜狐的《天龙八部》等。不仅如此,现今的游戏引擎也都提供了脚本接口,无论是商业的unreal引擎还是开源的 OGRE,无一例外。\x0d\x0a\x0d\x0a三.脚本的优势\x0d\x0a\x0d\x0a脚本之所以能够在游戏业中找到自己的一席之地,是因为网络游戏市场需要一个快速开发方案来避免C/C 开发带来的项目高成本和高风险。那么,脚本相对于C/C 这类编译型语言到底有什么优势呢?\x0d\x0a\x0d\x0aI易于学习,代码可维护性强\x0d\x0a\x0d\x0a脚本的语法通常都非常简单,也没有太多高阶的特性,学习的门槛较C/C 低得多,比如Python可能只需要花一个下午即可学会。这使得游戏开发公司可以招聘完全没有脚本、编程经验的新手,通过低成本的培训,他们便能迅速地走上工作岗位。除易于学习外,脚本代码也有较强的可维护陛(尽管写出没有人看得懂的Lua代码也非难事)。因为脚本没有很多高阶特性(如c 里的模板元编程就是高阶特性),所以脚本程序员就有更多的精力去架构、模式、重用和测试等工作,从而提高了代码的可维护性。相应地,正因为没有那么多让人困惑的高阶特性,也使得脚本代码“简洁”不少。\x0d\x0a\x0d\x0a2.降低开发成本\x0d\x0a\x0d\x0a如上所言,由于脚本易于学习,游戏开发公司可以大量起用新手,这正是降低成本的有效手段。那么如何来确保新手所写代码的质量呢?众所周知,新手无论用什么语言写程序肯定会出现bug,但用C/C 和Python做比较,可以看出,一个新手用C/c 编写出的程序所出现的bug肯定会比用Python编写出现的bug要多。由于c程序需要编译,而脚本程序(大部分)都可以直接解释执行,所以在排除 bug方面脚本也占有一定的优势,这也使脚本在降低成本的同时能够更好地保证代码质量。\x0d\x0a\x0d\x0a3.形成人才壁垒\x0d\x0a\x0d\x0a软件开发行业是一个颇为动荡的行业,无数的程序员都在跳槽和谋划跳槽的状态中生活,使用脚本开发形成人才壁垒是游戏业减少人才流动的有效手段。因为现在脚本除了在游戏业中非常流行外,并没有在其它行业形成广泛应用(虽然在web开发方面也有燎原之势,但终究不如在游戏业中的地位高)。这就使得游戏程序员很少会考虑非游戏行业的职位,但其它行业的程序员却可能会因为脚本的易学习性而转投游戏业。脚本除了能有效形成行业间的人才壁垒外,也能有效地形成企业间的人才壁垒。由于现有的脚本种类繁多,不同公司往往有不同的选择,甚至有些公司使用自己开发的脚本语言,所以程序员从公司A跳槽到公司B可能要学习使用另一种脚本,这就提高了跳槽的成本,从而减少了人才的流动。\x0d\x0a\x0d\x0a四.脚本的发展趋势\x0d\x0a\x0d\x0a依照目前趋势来看,脚本语言一定会更加的普及,而且会逐渐渗透到其它行业中。随着网络游戏从业人员数量的增长,脚本程序员也一直增加,而且Web2、0热潮引起的网络需求,也促成了一批批新脚本程序员的诞生。网络游戏市场就像一个正在滚动的雪球,推动着脚本的普及。\x0d\x0a\x0d\x0a随着脚本在游戏业中越来越流行,市场对生产效率的需要也会相应提高。脚本虽然在一定程度上缓解了生产效率与生产工具之间的矛盾,但仍然不够完善。由于市场竞争日趋激烈,而网络游戏在很多功能上的实现又都相差无几,如网络、数据库、图形甚至部分逻辑,这必然会引起网络游戏生产的组装化一一大量中间件相互组合形成新的网络游戏。从目前来看,Bigwofld、PhysX和Unreal等都是比较流行的网络游戏中间件。脚本语言则是粘合各个中间件的良好胶水语言,所以随着网络游戏的生产组装化,脚本将有更大的发展空间。\x0d\x0a\x0d\x0a那么,当脚本发展到如日中天的时候,可能取代C/C 这些编译型语言吗?笔者认为不会。脚本语言和编译型语言在生产效率和执行效率上各擅胜场,网络游戏既需要能快速应变的脚本,也需要能快速执行以提供更绚丽游戏效果的编译型语言。未来,它们之间一定会保持长久的和谐互补关系,相辅相成。\x0d\x0a\x0d\x0a五.结语\x0d\x0a\x0d\x0a综上所述,网络游戏时代是上帝赐予脚本语言发展的绝好时机,脚本语言很快将迎来光芒四射的时代。脚本语言拥有编译型语言无可比拟的生产效率优势,所以它们将互补互助并肩奋战在游戏的最前线。


游戏开发中常用哪种脚本语言?
我们熟悉的很多国内的网络游戏大都运用了脚本开发,比如网游的长青树“梦幻西游和《大话西游2就大量应用了脚本技术。特别是《大话西游2》,其实现基于Lua脚本游戏开发的时间要远早于《魔兽世界》。在脚本技术上,国内与国外其实是站在同一起跑线上的,并不存在什么差距,这也为国内游戏产业赶超国外游戏产业提供了强有力的...

游戏脚本用什么语言写?
目前游戏脚本用得多的是按键与TC简单开发,前者需要用到VB,学习起来比较吃力,后者是一个新推出的游戏脚本制作工具,可以说它在这方面弥补了按键的很多不足的地方,再一个就目前的情况来看,很多游戏都对按键进行封杀,所以按键的紶景也是非常的不容易乐观的,就我而言,我更看TC简单开发,必定目前刚推出,游戏商基本上不对...

游戏脚本用什么语言写?
10分 目前游戏脚本用得多的是按键与TC简单开发,前者需要用到VB,学习起来比较吃力,后者是一个新推出的游戏脚本制作工具,可以说它在这方面弥补了按键的很多不足的地方,再一个就目前的情况来看,很多游戏都对按键进行封杀,所以按键的景也是非常的不容易乐观的,就我而言,我更看TC简单开发,必定目前刚推出,游戏商基本上...

游戏开发用什么编程语言
3、JavaScript JavaScript是一种用于网页开发的脚本语言,也可以用于游戏开发。它在Web游戏和移动游戏中广泛应用,特别是基于HTML5的游戏开发。JavaScript具有广泛的库和框架,可以实现各种游戏效果。4、C++ C++是游戏开发中最常用的编程语言之一。它具有高性能和灵活性,可以直接操作硬件和内存,适用于开发大型...

游戏脚本语言有哪些
1. Lua:Lua是一种轻量级、嵌入式的脚本语言,广泛应用于游戏开发。它易于学习,执行效率高,常用于游戏逻辑、服务器端的开发等。2. Python:Python是一种通用编程语言,也被广泛用于游戏开发。它可以用于游戏脚本编写,以及游戏开发中的AI编程等。3. C++和JavaScript:这两种语言也在游戏开发中扮演着重要...

学游戏开发要学那么多东西。。。怎么学啊。。。
粒子系统和OpenGL. 等你学了cocos2dx之后,如果对他背后的东西感兴趣可以研究一下,有百益而无一害。数据库无非就是一些接口和查询语句,对于一个程序员来说,应该要学。游戏脚本你可以学一个,比如lua, 不要纠结它的语法和形式,要思考为什么用脚本,用脚本有什么好处。大部分游戏引擎都有自己的脚本...

现在网络游戏开发都用什么语言
商业游戏一般使用几种语言混合开发,比如C接合脚本预言。主流语言是C\/C,脚本常用的有Lua和python。有的游戏的脚本语言是开发者自己写的。不那么常用的语言有delphi、java(手机上常用的)、C#。至于戏开发工具个人认为并不重要,VC主要是看重C的运行效率而已。在今后几年内,网络游戏开发仍将以C语言为主...

在戏曲艺术中,“外”是什么行当或脚色?
“外”是传统戏曲艺术中的一个脚色行当。元代戏曲中有外末、外旦、外净。大致是指生、旦、净等行当的副脚,不表现确定的性格特征。

一般的游戏都是用什么语言开发的?
首先一般的游戏开发架构(Windows平台)从底到顶一般是Direct X™——游戏引擎——游戏。大型游戏开发的大部分工作其实都是在编写游戏脚本,脚本是大型游戏得以如此高速开发和发布的主要原因。脚本化的开发让游戏开发摆脱了硬编码的种种弊端,让游戏内容可以轻易的修改和调试。比如比较流行的语言。,...

游戏编程用什么语言
总结一下主要有C\/C++,汇编语言,着色器语言,脚本语言,高效的开发语言C#或Java。开发游戏我们经常听到的是游戏引擎,一个游戏引擎决定一个游戏最基本的东西操作和效果,那么一般的游戏开发架构从底到顶一般是Direct X(Windows平台)——游戏引擎——游戏。Direct X可是大名鼎鼎相当于所有显卡的一个统一...

兴城市17161924017: 网络游戏开发都用什么语言 -
应有六味: c或c++,绝不是java,c#那种封装的过多的高级语言.用C或c++乍看上去似乎不太占优势,好像在图像的显示上要麻烦.但是大型的网络游戏更重要的是效率,用c或c++编写并辅之于优化的算法可以程序的效率更高,通讯的信息量减小,使相同的硬件资源可以支持更多的用户.这是其它高级语言不可比拟的.用c或c++的另一个原因是游戏中最难制作的是图像特效的渲染,这也是java,c#等软肋.所以从事网络游戏开发人员的薪水是软件从业人员中相对较高的,也是发展前景很好.这些信息来源于给我们上课的有十年以上工作经验的华为工程师.

兴城市17161924017: 一般的游戏都是用什么语言开发的? -
应有六味: 一般的大型游戏开发绝不是用某种32313133353236313431303231363533e78988e69d8331333365643537语言这么单纯的问题.一个大型游戏的开发需要庞大的团队使用各种各样的语言和工具来完成.总结一下主要有C/C++,汇编语言,着...

兴城市17161924017: 现在游戏开发用什么比较多?C++还是Java -
应有六味: 大型游戏一般会用C++开发吧,毕竟注重流畅和性能;当然也可以采用游戏引擎像Unity3D ,就可以使用c#或js作为脚本语言进行开发;小游戏就无所谓了

兴城市17161924017: 现在网络游戏开发都用什么语言 -
应有六味: 商业游戏一般使用几种语言混合开发,比如C++接合脚本预言.主流语言是C/C++,脚本常用的有Lua和python.有的游戏的脚本语言是开发者自己写的.不那么常用的语言有delphi、java(手机上常用的)、C#. 至于戏开发工具个人认为并不重要,VC主要是看重C++的运行效率而已.在今后几年内,网络游戏开发仍将以C++语言为主,不过服务器可能就会是运行LINUX\UNIX的平台了.这样如果是客户端程序员,应该还是微软的.net,如果是服务器端程序员,就最好去适应一下LINUX的C++开发. 想要参考书的话.可以去下面看看: http://book.gameres.com/

兴城市17161924017: 开发网游一般是用哪种编程语言?
应有六味: 网页游戏可以用脚本语言javascript,python,后台可用Java,C#. 但PC上的大型游戏一般需要c 或C了. 特别的是,如果你会涉及IOS平台,用的是object-c.

兴城市17161924017: 最适合游戏开发的语言是什么?
应有六味: 商业游戏一般使用几种语言混合开发,比如C++结合脚本语言.主流语言是C/C++,脚本常用的有Lua和python.非主流语言有delphi,java,C#.

兴城市17161924017: 开发网游一般是用哪种编程语言?
应有六味: 一般是java和php吧,这是网页最常用的

兴城市17161924017: 常用的脚本语言有几种,各有什么特点(急!简洁 -
应有六味: 脚本英文为Script.实际上脚本就是程序,一般都是有应用程序提供的编程语言.应用程序包括浏览器(javascript、VBScript)、多媒体创作工具,应用程序的宏和创作系统的批处理语言也可以归入脚本之类

兴城市17161924017: 游戏编程需要什么语言
应有六味: C语言,C++,C#都可以,做专业的开发还需要学一些脚本语言,java也可以开发一些小游戏,但对稍大的游戏就不行了.我们常见的游戏,像DOTA,反恐是C++结合...

兴城市17161924017: 脚本常见的语言有哪一些?
应有六味: 脚本常见语言Scala、JavaScript,VBScript,ActionScript,MAXScript,ASP,JSP,PHP,SQL,Perl,Shell,python,Ruby,JavaFX,Lua,AutoIt等

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网