1.4 为何需要游戏脚本
为何需要有脚本系统呢?脚本系统又是因何而出现的呢?其实游戏脚本并非一个新的名词或技术,早在暴雪的《魔兽世界》开始火爆的年代,人们便熟知了一个叫作Lua的脚本语言。而当时其实有很多网游都不约而同地使用了Lua作为脚本语言,比如网易的大话西游系列。
但是在单机游戏流行的年代,却很少听说有什么单机游戏使用了脚本技术。这又是为什么呢?因为当时的硬件水平很低,所以需要使用C/C++这样的语言来尽量“压榨”硬件的性能。同时,单机游戏的更新换代并不如网游那么迅速,所以开发时间、版本迭代速度并非其考虑的第一要素,因而可以使用C/C++这样开发效率不高的语言来开发游戏。但是随着时间的推移,硬件水平逐年提高,“压榨”硬件性能的需求已经不再迫切。相反,此时网游的兴起却对开发速度、版本迭代提出了更高的要求。所以开发效率并不高效,且投资巨大、风险很高的C/C++便不再适应市场的需求了。而更加现实的问题是,随着Java、.Net,甚至是JavaScript等语言的流行,程序员可以选择的编程语言越来越多,这更加导致了C/C++的程序员所占比例越来越小。而网游市场的不断扩大,对人才的需求也同样越来越大,这就造成了大量的人才空缺,也就反过来提高了使用C/C++开发游戏的成本。而由于C/C++是一门入门容易、进阶难的语言,其高级特性和高度灵活性带来的高风险,也是每个项目使用C/C++进行开发时不得不考虑的问题。
而一个可以解决这种困境的举措便是在游戏中使用脚本。可以说游戏脚本的出现,不仅解决了由于C/C++难以精通而带来的开发效率问题,而且还降低了使用C/C++进行开发的项目风险和成本。从此,脚本与游戏开发相得益彰、互相促进,逐渐成为了游戏开发中不可或缺的一部分。
而到了如今手游兴起的年代,市场的需求变得更加庞大且变化更加频繁。这就更加需要有脚本语言来提高项目的开发效率、降低项目的成本。
而作为游戏脚本,它具体的优势都包括哪些呢?
• 易于学习,代码维护方便,适合快速开发。
• 开发成本低(因为易于学习,所以可以启用新人,同时开发速度快,这些都是降低成本的方法)。
因此,包括Unity 3D在内的众多游戏引擎,都提供了脚本接口,让开发者在开发项目时能够摆脱C/C++(Unity 3D本身是用C++写的)的束缚,这其实是变相降低了游戏开发的门槛,吸引了很多独立开发者和游戏制作爱好者。
所以会写脚本,能写好脚本,的确是每个Unity 3D从业者都需要具备的技能。而本书也将此作为着力点,力求让每位读者都能具备写出好脚本的能力。