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

游戏开发中常用哪种脚本语言?,第1张

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

asp(active server pages)是活动服务器文档,可以说是现在国内网上最流行的语言,它主要使用VBScript和JavaScript两种脚本语言编程。但有一个弊端,那就是安全性能太差。
JSP(Java Server Pages)是用JAVA语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于>搜索引擎特点比较
在互联网不断走向成熟的今天,新的利润增长点在哪里?Google,百度在纳斯达克的神话,使得越来越多的人将目光投向了搜索引擎行业。同时在信息大爆炸的时代里,人们对网络信息的处理也越来越借重于许许多多的各种各样的搜索引擎。在这里,我仅仅是将几个我们较为常用的搜索引擎加以粗略的比较,希望对大家的选择和使用有所帮助。
一、Google
首先要讲述的就是世界搜索引擎的老大google了。Google 依据网络自身结构,清理混沌信息,缜密组织资源。Google 的搜索服务绝不仅仅是简单的信息目录。而且Google 目录中收录了 10 亿多个网址,这在同类搜索引擎中是首屈一指的。这些网站的内容是相当涉猎广泛的。
与大多数其它搜索引擎的区别在于:Google 只显示相关的网页,其正文或指向它的链接包含您所输入的所有关键词,而无须再受其它无关结果的烦扰。Google 不仅能搜索出包含所有关键词的结果,并且还对网页关键词的接近度进行分析。与大多数其它搜索引擎的又一区别是:Google 按照关键词的接近度确定搜索结果的先后次序,优先考虑关键词较为接近的结果,这样可以为您节省时间,而无须在无关的结果中徘徊。Google 最擅长于为常见查询找出最准确的搜索结果。其中“手气不错(tm)” 按钮是最有特色的,它会直接带您进入最符合搜索条件的网站,相对省时又方便。Google 储存网页的快照,当存有网页的服务器暂时出现故障时您仍可浏览该网页的内容。如果找不到服务器,Google 储存的网页快照也可救急。虽然网页快照中的信息可能不是最新的,但在网页快照中查找资料要比在实际网页中快得多。
二、百度
作为中文搜索引擎的老大,百度也有其及为独到的一面。其基于字词结合的信息处理方式,就相当巧妙解决了中文信息的理解问题,极大地提高了搜索的准确性和查全率。百度还支持主流的中文编码标准。包括GBK(汉字内码扩展规范)、GB2312(简体)、BIG5(繁体),并且能够在不同的编码之间转换。
百度的智能相关度算法。采用了基于内容和基于超链分析相结合的方法进行相关度评价,能够客观分析网页所包含的信息,从而最大限度保证了检索结果相关性。百度搜索支持二次检索(又称渐进检索或逼进检索)也是其相当重要的特点。可在上次检索结果中继续检索,逐步缩小查找范围,直至达到最小、最准确的结果集。利于用户更加方便地在海量信息中找到自己真正感兴趣的内容。还有就是百度智能性、可扩展的搜索技术保证最快最多的收集互联网信息。拥有目前世界上最大的中文信息库,为用户提供最准确、最广泛、最具时效性的信息提供了坚实基础。
三、网易
在中国的搜索引擎市场当中,网易也是不可忽视的一股巨大的力量。对于己于人他搜索引擎而言,网易搜索也有其相当独特的特点。
首先是网易搜索引擎提供多语言检索,英语,日语,俄语等几十种语言关键词都可以直接输入搜索框检索网页资料。而不仅仅是单语种的搜索。其次,网易还拥有全国最大的开放式管理目录,有约5000名各行业目录管理员负责管理网站注册信息。相关网站里汇集了大量精选网站(约25万),相关网页的信息量最大(约16亿1千万网页)。
网易采用的搜索原理是:网易搜索引擎是模糊的搜索方式 -- 对用户输入的关键词,先作语言分析,分解成多个词或词组,再去数据中心匹配结果,因此用户可以输入一整段句子,而可能得到包含了这段话中部分词语的结果,这样得到的结果更丰富;网易搜索引擎按搜索结果和用户输入的搜索词的关联程度排列结果的,用户的关键词出现了的越多的结果排得越靠前;在相关度排序的同时,越知名的站点排得越靠前。
四、搜狐
搜狐也是一个不错的中文的搜索引擎。它的特点是信息的分类比较好,特别适合我们按照其分类表进行浏览查找,使用关键词进行查找的效果就不太理想了。
五、新浪爱问
作为首款中文智慧型互动搜索引擎,新浪搜索引擎突破了由GOOGLE、百度为代表的算法致胜的搜索模式。它在保留了传统算法技术在常规网页搜索的强大功能外,以一个独有的互动问答平台弥补了传统算法技术在搜索界面上的智慧性和互动性的先天不足。通过调动网民参与提问与回答,新浪搜索引擎能汇集千万网民的智慧,让用户彼此分享知识与经验。为了使搜索结果更贴合网民的实际需要,新浪搜索引擎独创了“内容直达互动”的功能。在网页搜索结果页面右侧,新浪特别开辟了“直达特区”。如用户搜索“王菲”,在直达特区将出现王菲的照片、简介、歌曲下载,有关王菲的问题和答案;用户搜索“瘦身运动”时,将在直达区自动出现网民提出的与瘦身相关系列问题和答案,对用户的问题直接给出搜索结果。

TIOBE 官方最新发布了9月的编程语言排行榜单,而本月也是 TIOBE 榜单成立20周年,一起来看看这个月榜单中有哪些最新变化吧!
C、Java、Python 争夺第一
2001年TIOBE 排行版仅作为个人项目首次发布,当时榜单前三甲为 Java、C 和 C++。
神奇的是,即便20年过去了,这个排位也并没有发生大洗牌——9月 TIOBE 排行榜前三名为 C、Java 和 Python,C++ 位列第四。
虽然与前两个月相比,Python 的排名从第2变为第3,但本月榜单的前三名相差甚小:第一名的 C 与第三名的Python仅相差067%。
这前所未有的微小差距彰显了 C、Java 与 Python 之间争夺第一愈发激烈的战况。
而哪种编程语言将最终赢得这场战争
考虑到 Python 近年来在蓬勃发展的数据挖掘和人工智能领域的市场领导地位,TIOBE 官方预测:继 C 和 Java 之后,Python 很大可能将成为第三个登顶 TIOBE 榜单的编程语言。
除了前三甲之间的激烈竞争,相比8月,本月 C++ 涨幅超过 05%,市场占比也在向前三名靠拢。除此之外,TOP20中还有一些值得关注的变化:
与8月榜单相比,Go 语言从第20名上升到第13 名;
R 语言下滑4个名次,降为第12名;
自4月起冲进 TOP20的上古编程语言 Fortran 上升到第14名。
其他编程语言排名,下面列出了完整的21-50名。
Top10编程语言 TIOBE 指数走势(2002-2020)
历史排名(1986-2021)
以下排名位次取决于12个月的平均值。
编程语言“名人榜”(2003-2020)
说明:
TIOBE 编程语言社区排行榜是编程语言流行趋势的一个指标,每月更新,这份排行榜排名基于全球技术工程师、课程和第三方供应商的数量,其中包括了流行的搜索引擎以及技术社区,如 Google、百度、维基百科、CSDN、必应、Hao123等等。
请注意这个排行榜只是反映某个编程语言的热门程度,并不能说明一门编程语言好不好,或者一门语言所编写的代码数量多少。
这个排行榜可以用来考察你的编程技能是否与时俱进,也可以在开发新系统时作为一个语言选择依据。
详细榜单信息可参考 TIOBE 官网
各个大厂都用哪种编程语言
1、阿里巴巴
主要使用java语言。
2、百度
主要使用Python和PHP。
3、京东
主要使用Linux和Objective-C。
4、华为
主要使用C、Unix或Linux。
5、网易
主要使用C++语言
初学编程学哪种语言比较好
现在,随着技术不断扩展,单纯的会一种编程语言已经不能满足企业的需要,很多IT人都是身怀多种绝技;
但是好在,编程语言是相通的,比如你学会了C,再学C++或Java就相对容易很多,所以,初学编程,还是要选择一种注重基础的语言。
01 Java最流行
Java仍然是最流行的编程语言;
据TIOBE的数据显示,几十年来,Java比其他语言更常名列榜首。
许多知名公司使用Java来开发软件和应用程序,所以如果你会Java,绝对不必为找工作而苦恼。
Java受欢迎的主要原因是它拥有可移植性、可扩展性和庞大的用户社区。
02 经典的C语言
作为最古老的编程语言之一,C依然高居榜首,这归功于其可移植性以及微软、Oracle和苹果等科技巨头采用它。
它与几乎所有系统兼容,很适合 *** 作系统和嵌入式系统。
由于运行时环境相对小巧,因此C是保持这种系统精简的完美选择。
强烈建议初学者学C,它实际上是编程语言的通用语言,已催生出了同样很受欢迎的衍生语言,比如C++和C#。
03 C++继续占主导地位
C++语言现在仍应用于从桌面Web应用程序到服务器基础设施的众多系统。
由于灵活性、高性能以及可用于多种环境,C ++依然很吃香。
以C++为业的工作通常需要开发面向性能密集型任务的桌面应用程序。掌握C++可以更深入地了解编程语言,帮助获得低级内存处理方面的技能。
04 Python继续上升
Python作为近几年人工智能、机器学习、大数据和机器人等一些最有前途的技术背后的主要语言,积累了庞大的粉丝群。
你会惊讶地发现学习Python很容易,这就是为什么许多经验丰富的开发人员选择Python作为第二或第三语言的原因。

JavaScript:是最受Web开发人员喜爱的,也是唯一能够同时兼顾构建Web应用程序、前、后端以及移动应用程序的编程语言。它非常安全、速度也很快,可以大大提高用户体验度,相对来说也较容易学习。其功能有:异步处理、不依赖平台、支持面向对象编程、解释型语言、客户端验证、动态类型等。
Python:仅次于JavaScript,位居第二,在IT领域中,Python语言的应用范围十分广泛,如机器学习、数据分析、人工智能,尤其是在科学领域,它是一种高级、对初学者十分友好的编程语言,语法简单同时也支持各种库和工具,也可以作为面向对象或脚本语言。其功能有:各类库、良好的可读性、优秀的框架等。
PHP:是一种脚本语言,主要应用于Web开发、Facebook或Flickr等的开发,PHP Web支持多个免费开源扩展,包括NET或Apache等,还提供了微软SQL、MySQL、Server等不同数据库的访问,其优点有:易于使用、PHP软件的升级非常轻松、开发成本非常低、资源容易获取、可以减少web开发时间
Java:是各大公司的流行选择,广泛应用于制作企业级的web应用程序,非常稳定,另外Java也广泛应用于Android应用开发,几乎每个企业都需要Android应用程序,其优点有:丰富的开源库、自动垃圾收集和内存分配、分布式计算的理想选择、栈分配系统、高度安全、支持多线程。
Ruby:与Python、PHP一样,Ruby也非常易于学习,对初学者十分友好,Ruby on Rails框架可以用于开发网站,也是Web开发的绝佳选择,其优点有:开源、通用、解释型的编程语言、纯面向对象语言、语法简单明了、拥有一组强大的内置函数,可直接应用到脚本中,使用Ruby编写的大程序管理十分容易。

编程都有哪些语言?
C语言绘图能力强,具有可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画。它是数值计算的高级语言。
编程语言二、java
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
编程语言三、c++
C++这个词在中国大陆的程序员圈子中通常被读做“C加加”,而西方的程序员通常读做“C plus plus”,“CPP”。 它是一种使用非常广泛的计算机编程语言。C++是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格。
编程语言四、php
PHP,是英文超文本预处理语言Hypertext Preprocessor的缩写。PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛地运用。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。
编程语言五、c#
C#是微软公司发布的一种面向对象的、运行于NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13208657.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-20
下一篇 2023-06-20

发表评论

登录后才能评论

评论列表(0条)

保存