游戏脚本语言主要是哪几种语言
什么是脚本语言

什么是脚本语⾔脚本语⾔⼜被称为扩建的语⾔,或者动态语⾔,是⼀种编程语⾔,⽤来控制软件应⽤程序,脚本通常以⽂本(如)保存,只在被调⽤时进⾏解释或编译。
脚本语⾔(Script languages,scripting programming languages,scripting languages)是为了缩短传统的编写-编译-链接-运⾏(edit-compile-link-run)过程⽽创建的计算机编程语⾔。
各种动态语⾔,如ASP、PHP、CGI、JSP等,都是。
计算机语⾔总的来说可以分成机器语⾔,汇编语⾔,⾼级语⾔(就是你所想的程序语⾔,如:VB,C,C++,C#,JAVA,Dephi..)三⼤类。
脚本英⽂为Script。
实际上脚本就是程序,⼀般都是有应⽤程序提供的编程语⾔。
应⽤程序包括浏览器(javascript、VBScript)、多媒体创作⼯具,应⽤程序的宏和创作系统的批处理语⾔也可以归⼊脚本之类。
脚本同平时使⽤的VB、C语⾔的区别主要是:1、脚本语法⽐较简单,⽐较容易掌握;2、脚本与应⽤程序密切相关,所以包括相对应⽤程序⾃⾝的功能;3、脚本⼀般不具备通⽤性,所能处理的问题范围有限。
【计算机中常见语⾔分类】标记语⾔标记语⾔,是⼀种将⽂本(Text)以及⽂本相关的其他信息结合起来,展现出关于⽂档结构和数据处理细节的电脑⽂字编码。
与⽂本相关的其他信息(包括例如⽂本的结构和表⽰信息等)与原来的⽂本结合在⼀起,但是使⽤标记(markup)进⾏标识。
如:HTML、XML是为了缩短传统的编写-编译-链接-运⾏(edit-compile-link-run)过程⽽创建的计算机编程语⾔。
它的命名起源于⼀个脚本“screenplay”,每次运⾏都会使对话框逐字重复。
早期的脚本语⾔经常被称为批量处理语⾔或⼯作控制语⾔。
⼀个脚本通常是解释运⾏⽽⾮编译。
脚本语⾔通常都有简单、易学、易⽤的特性,⽬的就是希望能让程序员快速完成程序的编写⼯作。
如何选择合适的游戏编程语言

如何选择合适的游戏编程语言一、游戏编程语言介绍游戏编程语言是指在游戏开发中使用的编程语言,常用的游戏编程语言包括C++、Java、C#、Lua等。
C++是一种高级编程语言,主要用于构建最大的主机和Windows游戏。
C++无疑是游戏项目的最佳编程语言之一,如《巫师3》、《黑暗之魂》、《上古卷轴5:天际》、《绝地求生》、《堡垒之夜》等游戏都是用C++开发的。
它是2021年游戏项目中最流行的编程语言之一。
Java和C#也可以用于游戏开发,如《碟中谍III》、《Minecraft》和《FIFA 11》等都是用Java 开发的,《柯南时代》、《愤怒的小鸟》、《Aquaria》和《American Girl》等是由Lua编写的。
Lua则是一种轻量级的脚本语言,常用于游戏项目的脚本编写,也可以用于服务器端的开发。
二、选择适合自己的游戏编程语言应该考虑以下几个方面:1. 开发环境:不同的游戏编程语言需要不同的开发环境,例如C++需要使用编译器和链接器等工具,Java需要使用Java开发工具包(JDK)等。
因此,在选择游戏编程语言时需要考虑自己的开发环境和工具链是否支持该语言。
2. 语言特性:不同的游戏编程语言具有不同的特性和语法规则,例如C++具有强大的面向对象编程和模板编程能力,Java具有跨平台性和垃圾回收机制等。
因此,在选择游戏编程语言时需要考虑自己的项目需求和语言特性的匹配程度。
3. 学习成本:不同的游戏编程语言需要不同的学习成本和时间,例如C++需要较高的编程基础和经验,Java和C#则需要学习一些特定的框架和库等。
因此,在选择游戏编程语言时需要考虑自己的学习成本和时间安排。
4. 社区和支持:不同的游戏编程语言有不同的社区和支持,例如C++有庞大的开源社区和丰富的资源库,Java和C#有Microsoft和Oracle等大公司的支持。
因此,在选择游戏编程语言时需要考虑自己的项目需求和社区支持情况。
综上所述,选择适合自己的游戏编程语言需要考虑开发环境、语言特性、学习成本和社区支持等多个方面,需要根据自己的实际情况进行综合考虑。
程序员必须掌握的10个编程语言

程序员必须掌握的10个编程语言随着信息技术的不断发展,编程语言也在不断涌现。
作为一名程序员,学习多种编程语言不仅可以提升自己的技能水平,也可以扩展自己的视野和职业发展机会。
以下是程序员必须掌握的10个编程语言。
第一章:JavaJava是应用最广泛的编程语言之一。
几乎所有类型的应用,从企业级应用、移动应用到嵌入式系统,都可以使用Java进行开发。
Java强大的跨平台性能,使得它可以在不同的操作系统和硬件平台下运行。
第二章:PythonPython是一种高级脚本语言,具有简单易学、高效率和可读性强等优点。
Python应用广泛,可以用于Web开发、数据分析、科学计算、系统自动化、人工智能等领域。
近年来Python凭借在机器学习、数据分析等领域的表现逐渐成为热门的编程语言。
C#是一种面向对象、类型安全、简单、先进且具有高性能的编程语言,被广泛用于Windows应用程序开发。
C#和.NET框架一起,提供了一种高效的开发环境,可以创建各种类型的应用程序。
第四章:JavaScriptJavaScript是一种广泛使用的编程语言,主要用于前端开发。
它可以帮助程序员在Web页面中实现动态效果、表单验证、数据处理等功能。
JavaScript也可以用于服务器端编程,例如Node.js的应用。
第五章:SQLSQL是结构化查询语言的缩写,是一种用于管理关系型数据库的标准语言。
SQL可以用于定义表格、查询数据、更新数据、删除数据等操作。
程序员学习SQL可以帮助他们更好地理解数据库系统,从而提高应用程序的性能和可靠性。
C++是一种高级编程语言,具有高性能和低级别的控制能力。
C++可以用于开发桌面应用程序、游戏、操作系统和嵌入式系统等。
然而,由于C++对程序员的要求比较高,对于初学者来说可能比较困难。
第七章:SwiftSwift是一种由苹果公司开发的编程语言,主要用于开发iOS和macOS应用程序。
Swift语言具有易学性、速度快、安全性高等特点。
编程界主流脚本编程语言的比较和选择

编程界主流脚本编程语⾔的⽐较和选择过去这⼀年的时间⾥,我买了不少书,查了很多资料,可以算是认真的学习了⼏种主流的脚本语⾔,因为我⼀直想搞⼀个好⽤的⾃动化⼯具,来⽅便我们的系统维护。
虽然这个愿望还没有达成,但是在这个过程中,还是学到了很多东西。
今天下午,跟同事们聊天时,说到了脚本语⾔,这是⽐较难得的,也正好借这个契机,把我的⼀些看法说⼀说,有不妥和错误的地⽅,请⼤家多指正。
为什么选择脚本语⾔为什么选择脚本语⾔,可能每个⼈⾯对的实际情况都不⼀样。
语⾔本⾝没有好坏之分,只有合适或者不合适。
因此,我所谓的选择主要是根据应⽤需要来选择,并⾮根据语⾔的好坏或者使⽤者的习惯。
就我⾃⼰的情况来说,很长⼀段时间⾥,如果需要程序来辅助完成⼯作时,我都会选择Java。
先简单说说Java,Java是企业应⽤当之⽆愧的统治者。
但是,近⼏年随着⼤家对开发语⾔认识的转变,Java已经让越来越多的⼈感到不满,取⽽代之的是脚本语⾔的迅速崛起。
⼀个例⼦是,Java 7在最初的功能规划时,呼声最⾼的是“闭包”,⽽“闭包”恰恰是脚本语⾔最具特⾊的功能之⼀。
在使⽤诸如Java,C之类的语⾔时,我们不得不⾯对各种复杂的数据类型、设计模式和⼤量看起来没⽤但⼜不能缺少的代码。
⽽对脚本语⾔来说,这些问题都是天⽣就不存在的。
现在,开发讲究敏捷,注重效率,对于⼀个企业来说,开发⼯作⾸先要考虑的就是成本,敏捷开发正是降低成本最有效的⼿段之⼀,⽽脚本语⾔,⼜是实现敏捷开发的⼀条可⾏之路。
有⼈说Java已经out了,但我并不这么觉得,我个⼈认为Java仍然是最好的跨平台⽅案。
现在我们已经不能单纯把Java看做⼀门语⾔,它已经成为⼀个事实上的平台。
构建在Java平台之上的优秀的Java替代产品,也已经得到⼤家的⼴泛⽀持和认可,如groovy、scala等等。
我相信,Java仍然有它的⽣命⼒,⽽它的⽣命⼒可能也要得益于脚本语⾔。
说了半天废话,还是要回到我选择脚本语⾔的话题上。
什么是游戏脚本策划

游戏脚本策划:主要负责游戏中脚本程序的编写,类同于程序员但又不同于程序员,因为会负责游戏概念上的一些设计工作。
通常是游戏设计的执行者。
因此游戏脚本策划必须要有编程功底,他的工作是任务等的脚本编写,以及管理程序提供的各种需要策划维护的脚本接口。
脚本语言简介:艾伦希亚是主程序员,他选择的开发语言是Delphi。
在程序设计方面我还帮不上什么忙,一是因为我习惯于.NET架构,二是因为以我目前的技术水平还不足以参与游戏引擎的开发。
而他选择Lua语言作为游戏脚本语言。
Lua 是一个小巧的脚本语言。
该语言的设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。
它的主页是。
如果说开发语言是游戏程序得以运行的基石,那么脚本语言就是游戏世界得以运行的基石。
一切剧本、图片、音乐、动画等皆是由脚本语言整合在一起并由程序解释执行的。
所以可以说脚本是程序与剧本之间的桥梁,所以也是主程序员艾伦希亚与剧情负责人我必须共同掌握的部分。
图示:下面是三个励志小故事,不需要的朋友可以下载后编辑删除谢谢!!!你可以哭泣,但不要忘了奔跑2012年,我背着大包小包踏上了去往北京的火车,开启了北漂生涯。
彼时,天气阴沉,不知何时会掉下雨滴,就像我未知的前方一样,让人担忧。
去北京的决定是突然而果决的,我在宿舍纠结了一天,然后在太阳逃离窗口的时候打电话告诉父母,我要到首都闯一闯。
消息发出去之后,并没有预料之中的强烈反对,父亲只给我回了一个字:好。
就这样看似毫无忧虑的我,欣喜地踏上了北上的路。
有些事情只有真正迈出第一步的时候,才会迎来恐惧。
当我踏上北上的列车时,才惊觉对于北京,除了天安门、央视大楼这些着名建筑,我知之甚少。
俗话说无知者无畏,可于我而言,这句话并不适用,因为在坐上火车那一刻,我就开始对未来胆战心惊,毫无底气。
火车开动之后,我的心情变得更加复杂而紧张,甚至一度心生退意。
人类果然是一个无解的方程式,看似无畏的勇气背后不知藏下了多少怯懦和犹豫。
lua unity原理

lua unity原理Lua是一种轻量级的编程语言,常用于嵌入式系统和游戏开发领域。
Unity是一款流行的游戏引擎,支持多种编程语言,其中包括Lua。
本文将探讨Lua在Unity中的应用原理。
我们需要了解Lua在Unity中的角色和作用。
在Unity中,Lua被用作一种脚本语言,用于编写游戏逻辑和行为。
相比于其他编程语言,Lua具有简洁的语法和灵活的特性,因此被广泛应用于游戏开发中。
Lua在Unity中的使用方式有两种:一种是通过Unity插件来集成Lua脚本功能,另一种是通过第三方库来实现Lua脚本的调用。
不论使用哪种方式,Lua的原理都是相同的。
Lua脚本在Unity中的执行过程如下:首先,Unity会将Lua脚本文件加载到内存中,然后通过解析器将其转换为可执行的指令。
接着,Unity会根据游戏运行的逻辑和条件,逐条执行Lua指令。
在执行过程中,Lua可以调用Unity提供的API,实现与游戏引擎的交互。
最后,当游戏运行结束或者不再需要执行Lua脚本时,Unity会释放相关资源,并停止对Lua脚本的执行。
Lua脚本在Unity中的应用非常广泛。
它可以用于实现游戏中的各种功能,包括角色控制、游戏逻辑、UI交互、动画控制等。
同时,Lua还可以与其他编程语言混合使用,在Unity中编写复杂的游戏系统和算法。
这种灵活性使得Lua成为了游戏开发中不可或缺的一部分。
在使用Lua进行游戏开发时,有一些注意事项需要遵守。
首先,由于Lua是一种解释型语言,因此其执行效率相对较低。
在需要执行大量计算或者频繁调用的场景中,建议使用其他编程语言来实现。
其次,Lua脚本的调试和错误处理需要一定的经验和技巧。
开发者需要熟悉Lua的调试工具和技术,以便及时发现和修复问题。
除了在游戏开发中的应用,Lua在Unity中还可以用于实现插件系统和扩展功能。
通过将Lua脚本编写为插件,可以实现游戏的动态加载和更新,提高游戏的可扩展性和灵活性。
游戏编程的语言
这是每个游戏编程FAQ里都有的问题。
这个问题每星期都会在游戏开发论坛上被问上好几次。
这是个很好的问题,但是,没人能给出简单的答案。
在某些应用程序中,总有一些计算机语言优于其他语言。
下面是几种用于编写游戏的主要编程语言的介绍及其优缺点。
希望这篇文章能帮助你做出决定。
1、C语言如果说FORTRAN和COBOL是第一代高级编译语言,那么C语言就是它们的孙子辈。
C语言是Dennis Ritchie在七十年代创建的,它功能更强大且与ALGOL保持更连续的继承性,而ALGOL则是COBOL和FORTRAN的结构化继承者。
C语言被设计成一个比它的前辈更精巧、更简单的版本,它适于编写系统级的程序,比如操作系统。
在此之前,操作系统是使用汇编语言编写的,而且不可移植。
C语言是第一个使得系统级代码移植成为可能的编程语言。
C语言支持结构化编程,也就是说C的程序被编写成一些分离的函数呼叫(调用)的集合,这些呼叫是自上而下运行,而不像一个单独的集成块的代码使用GOTO语句控制流程。
因此,C程序比起集成性的FORTRAN及COBOL的“空心粉式代码”代码要简单得多。
事实上,C仍然具有GOTO语句,不过它的功能被限制了,仅当结构化方案非常复杂时才建议使用。
正由于它的系统编程根源,将C和汇编语言进行结合是相当容易的。
函数调用接口非常简单,而且汇编语言指令还能内嵌到C代码中,所以,不需要连接独立的汇编模块。
优点:有益于编写小而快的程序。
很容易与汇编语言结合。
具有很高的标准化,因此其他平台上的各版本非常相似。
缺点:不容易支持面向对象技术。
语法有时会非常难以理解,并造成滥用。
移植性:C语言的核心以及ANSI函数调用都具有移植性,但仅限于流程控制、内存管理和简单的文件处理。
其他的东西都跟平台有关。
比如说,为Windows和Mac开发可移植的程序,用户界面部分就需要用到与系统相关的函数调用。
这一般意味着你必须写两次用户界面代码,不过还好有一些库可以减轻工作量。
快速入门使用Lua进行游戏脚本编程与开发
快速入门使用Lua进行游戏脚本编程与开发第一章:Lua语言简介Lua是一种轻量级的脚本语言,常用于游戏开发中的脚本编程。
它具有简洁、高效、易学易用的特点,成为了许多大型游戏引擎的首选脚本语言。
在本章中,我们将介绍Lua语言的基本概念和特点。
Lua最初由巴西里约热内卢天主教大学开发,并于1993年发布。
它是一种嵌入式语言,可以轻松集成到其他应用程序中。
Lua语言具有类似于C语言的语法,采用动态类型和自动内存管理的方式,允许开发者快速建立原型,高效地编写脚本代码。
与其他脚本语言相比,Lua的解释器非常小巧,通常只有几十KB大小,因此非常适合在资源受限的环境中使用。
同时,Lua还具备良好的跨平台性,支持各种操作系统和硬件平台。
第二章:Lua的基本语法在本章中,我们将介绍Lua语言的基本语法,包括变量、函数、控制流等。
1. 变量:Lua采用动态类型,无需显式声明变量类型。
你只需要直接给变量赋值,Lua会根据赋值的数据类型自动确定变量类型。
2. 函数:在Lua中,函数是一等公民。
你可以像操作变量一样操作函数,将其赋给变量、作为参数传递、作为返回值等。
3. 控制流:Lua支持常见的控制流语句,如条件语句(if-else)、循环语句(for、while)、跳转语句(break、return)等。
这些语句可以帮助开发者实现不同的逻辑和算法。
第三章:Lua与游戏开发在游戏开发中,Lua常常被用于编写游戏脚本和实现游戏逻辑。
在本章中,我们将介绍Lua在游戏开发中的应用场景和实践经验。
1. 游戏脚本编写:Lua可以作为一种独立的脚本语言,用于编写游戏逻辑、人工智能、关卡设计等,让游戏本身具备更高的灵活性和可扩展性。
2. 引擎扩展:许多游戏引擎都内置了Lua的解释器,开发者可以通过编写Lua脚本来扩展引擎的功能。
例如,可以使用Lua脚本编写自定义的游戏菜单、界面、特效等。
3. 快速迭代:由于Lua的语法简洁、易于学习,以及动态类型和自动内存管理的特性,使用Lua编写游戏脚本可以帮助开发者更快地进行迭代开发,快速测试和修复bug。
学会使用Lua进行游戏脚本编写
学会使用Lua进行游戏脚本编写Lua是一种轻量级的脚本语言,它被广泛用于游戏开发中。
学会使用Lua进行游戏脚本编写可以帮助开发者更加高效地创建游戏。
本文将详细介绍Lua的基本语法和常用功能,并分点列出以下内容:一、Lua的基础语法1. 变量与数据类型:Lua是一种动态类型语言,变量可以存储不同类型的数据,如数字、字符串等。
2. 注释:通过使用"--"来添加单行注释,或使用"[[]]"来添加多行注释。
3. 控制语句:包括条件判断语句(if-elseif-else)以及循环语句(for、while、repeat-until)。
4. 函数:Lua中的函数使用关键字"function"定义,可以有多个参数和返回值。
二、Lua的常用功能1. 字符串操作:Lua提供了丰富的字符串处理函数,如连接字符串、截取子串、查找子串等。
2. 数学运算:可以进行加、减、乘、除等基本的数学运算,还可以通过导入数学库来进行高级数学计算。
3. 表操作:表是一种非常重要的数据结构,在Lua中使用键值对保存数据,可以进行增删改查等操作。
4. 文件操作:可以通过Lua的文件操作函数来读取和写入文件,对于游戏中的存档和配置文件非常有用。
5. 异常处理:Lua提供了try-catch语句来处理异常情况,可以在代码执行出错时进行相应的处理。
6. 模块化:Lua支持模块化开发,可以将代码按照功能模块划分,并通过require函数进行导入和调用。
三、Lua在游戏开发中的应用1. 游戏逻辑控制:Lua可以用于编写游戏的逻辑控制部分,包括玩家操作响应、游戏进程控制等。
2. AI编写:通过使用Lua脚本编写游戏中的人工智能算法,可以让NPC、敌人等游戏角色更具智能。
3. 游戏界面设计:Lua可以与图形界面库相结合,进行游戏界面的设计和渲染,使其更加美观和交互性。
4. 游戏工具开发:Lua具有简单易学的特点,非常适合用于开发游戏中的工具,如地图编辑器、关卡设计等。
数字游戏设计与开发考核试卷
9. √
10. ×
五、主观题(参考)
1.通过设计具有挑战性和奖励机制的游戏机制,如升级、成就系统,以及与游戏世界互动的元素,可以提升玩家的沉浸感。
2.平衡可玩性与难度可以通过设置不同的难度级别、提供动态难度调整以及玩家反馈来实现。这有助于吸引不同水平的玩家,并保持游戏乐趣。
3.网络延迟和同步问题会影响游戏体验,可以通过优化网络协议、使用预测算法和reconciliation技术来解决。
4. 3D游戏模型一般由______、______和______三种类型的网格组成。()
5.游戏音效设计中的Foley是指______。()
6.游戏中的PvP模式指的是______。()
7.在游戏编程中,______是指游戏状态在各个帧之间的更新。()
8.游戏测试中的Alpha测试通常在______之前进行。()
A. Adobe Illustrator
B. Photoshop
C. Spine
D. Unity
16.在游戏设计中,以下哪个概念指的是游戏中的技能、法术等能力?( )
A.技能系统
B.能力树
C.道具系统
D.装备系统
17.以下哪种游戏类型主要考验玩家的反应速度?( )
A.模拟游戏
B.解谜游戏
C.动作游戏
D.策略游戏
18.在游戏编程中,以下哪个概念指的是游戏中的游戏对象?( )
A.预制体
B.场景
C.脚本
D.资源
19.以下哪个软件是专门用于游戏开发的游戏引擎?( )
A. Unreal Engine
B. Adobe After Effects
C. 3ds Max
D. AutoCAD
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
随着《魔兽世界》(以下简称wow)在世界范围内流行,脚本渐渐被人们所熟知。
由于wow 强大的自定义界面系统,Lua这一脚本语言一举成名。
其实早在Lua脚本语言被大众所熟知以前,游戏业内人士就已经开始使用脚本来开发游戏了。
我们熟悉的很多国内的网络游戏大都运用了脚本开发,比如网游的长青树“梦幻西游和《大话西游2就大量应用了脚本技术。
特别是《大话西游2》,其实现基于Lua脚本游戏开发的时间要远早于《魔兽世界》。
在脚本技术上,国内与国外其实是站在同一起跑线上的,并不存在什么差距,这也为国内游戏产业赶超国外游戏产业提供了强有力的技术保证。
在单机游戏时代,脚本这个词几乎很少出现,那么,为什么在网络游戏时代它却成了业界的宠儿呢?原因是多方面的。
单机游戏时代,无论游戏主机还是PC机,它们的性能都非常低下,从而需要具有较高执行效率的编译型语言对机器的性能进行“压榨”。
随着科技发展和硬件性能的不断提升,脚本逐渐被开发者所接受并利用,但这并不是脚本流行起来的决定性因素,真正的原因还在于游戏市场有这方面的需求。
网络游戏时代的市场竞争激烈、变化莫测,如果延用单机时代一年半载才出一个新版本的开发方式,必然会被游戏行业激烈的市场竞争所淘汰。
正是这种游戏市场需求旺盛和开发工具效率底下之间的矛盾,促使脚本语言迅速地发展起来。
脚本的兴起使得传统编译型语言(asngC/C )的性能优势在硬件功效大幅攀升的今天已经不复存在。
除了市场和硬件这两个因素之外,还有一点我们不能忽略。
那就是用C/C 进行游戏开发的高成本和高项目风险。
随着java/.net逐渐流行,学习C/C 编程语言的人越来越少,而网络游戏市场的需求却越来越庞大,在程序人才大量匮乏的情况下,造成了c,C 人才的高成本。
即便是有能力雇佣大量C/C 程序员的公司,在开发游戏的过程中,也不能无视C /C 的高级特性和高度灵活性带来的高项目风险。
C/C 是易学难精的编程语言,在开发大型项目的时候由于程序员的水平参差不齐,所以极易造成沟通不畅。
不仅如此,c,C 滥用的高级特性也容易引入大量bug。
正是由于这些原因,游戏公司开始在游戏中使用脚本,希望通过脚本来解决这些高成本、高风险的问题。
二.脚本的现状
脚本不仅解决了c/C 无法解决的开发效率难题,还降低了开发的成本和风险。
因此脚本技术在游戏业内蓬勃发展起来,并且已经成为游戏业中不可或缺的一环。
纵观当前脚本技术现状,形势一片大好,不仅语言百家争鸣,而且书籍种类也越来越多;不仅在游戏业界开花结果,在web等其它应用领域也大放异彩。
首先,我们来看看目前比较流行的脚本:Python、Lua、ruby和Erlang。
Python和Lua是网络游戏开发的中坚力量;ruby凭借rubyonrails的web开发框架的强劲力量,其在游戏业的发展前途亦不可小视;Erlang在高并发性上的原生优势吸引了无数追求高性能网游服务器的开发人员的目光。
其次,我们来看看书籍方面。
大家都知道,文字对语言的普及起到了催化剂的作用,甚至可
以看作是语言的有机组成部分。
Python经过基金会的多年经营而得到NASA、Google重用的原因,就是由于其相关书籍种类比较丰富;Ruby随着RoR的流行,这两年行情看好,书籍也出版得越来越多了;Erlang是典型的少众语言,但随着多核时代的来临和高并发网络应用的需求,Erlang有着光明的发展前景,现在<<ProgrammingErlang>>等书也已经在策划出版了;反观Lua,虽然目前越来越流行,但由于它晦涩的接口设计和缺乏大型应用的支持,使得相关书籍寥寥无几。
最后,我们把焦点重新聚集到游戏开发行业中,其实不难发现,除了前文提到的《魔兽世界》和网易经典“西游系列”使用了脚本外,现在大多数比较流行的程序也都使用了脚本,如腾讯的QQgame))和搜狐的《天龙八部》等。
不仅如此,现今的游戏引擎也都提供了脚本接口,无论是商业的unreal引擎还是开源的OGRE,无一例外。
三.脚本的优势
脚本之所以能够在游戏业中找到自己的一席之地,是因为网络游戏市场需要一个快速开发方案来避免C/C 开发带来的项目高成本和高风险。
那么,脚本相对于C/C 这类编译型语言到底有什么优势呢?
I易于学习,代码可维护性强
脚本的语法通常都非常简单,也没有太多高阶的特性,学习的门槛较C/C 低得多,比如Python可能只需要花一个下午即可学会。
这使得游戏开发公司可以招聘完全没有脚本、编程经验的新手,通过低成本的培训,他们便能迅速地走上工作岗位。
除易于学习外,脚本代码也有较强的可维护陛(尽管写出没有人看得懂的Lua代码也非难事)。
因为脚本没有很多高阶特性(如c 里的模板元编程就是高阶特性),所以脚本程序员就有更多的精力去架构、模式、重用和测试等工作,从而提高了代码的可维护性。
相应地,正因为没有那么多让人困惑的高阶特性,也使得脚本代码“简洁”不少。
2.降低开发成本
如上所言,由于脚本易于学习,游戏开发公司可以大量起用新手,这正是降低成本的有效手段。
那么如何来确保新手所写代码的质量呢?众所周知,新手无论用什么语言写程序肯定会出现bug,但用C/C 和Python做比较,可以看出,一个新手用C/c 编写出的程序所出现的bug肯定会比用Python编写出现的bug要多。
由于c程序需要编译,而脚本程序(大部分)都可以直接解释执行,所以在排除bug方面脚本也占有一定的优势,这也使脚本在降低成本的同时能够更好地保证代码质量。
3.形成人才壁垒
软件开发行业是一个颇为动荡的行业,无数的程序员都在跳槽和谋划跳槽的状态中生活,使用脚本开发形成人才壁垒是游戏业减少人才流动的有效手段。
因为现在脚本除了在游戏业中非常流行外,并没有在其它行业形成广泛应用(虽然在web开发方面也有燎原之势,但终究不如在游戏业中的地位高)。
这就使得游戏程序员很少会考虑非游戏行业的职位,但其它行业的程序员却可能会因为脚本的易学习性而转投游戏业。
脚本除了能有效形成行业间的人才。