今天脚本语言已经和游戏引擎一样普及啦,为我们的游戏选择一个很好的脚本语言的支持,会给游戏开发带来诸多的好处。并且当今已经在商业游戏开发中使用的脚本相当多,并且通过商业发行验证相当成熟。开发团队可以根据自身项目的高性能、高兼容性、多线程、网络化、简单化的需求,从现成的成熟的脚本系统选择一种来支持。
《Game Programming Gem 6》第四章提供了脚本语言的相关调查报告和LUA脚本系统的两篇文章,需要为团队选择一种脚本系统支持的可以参考。
有游戏选择脚本系统支持的若干好处:
1、帮助程序员很快的开发一些功能,如AI有限状态机编程,或者任务系统开发;
2、提高程序员Debug效率,使用脚本语言的支持可以在一台没有安装IDE和源代码的机器上也能进行Debug;
3、游戏设计师可以在不打扰程序员的情况下,进行一些游戏玩法的实现,常见的有触发器和播放过场动画等;
4、游戏玩家可以根据自己的洗好进行游戏界面的DIY,编写游戏插件,或者其他更加Cool的MOD。
选择脚本语言的若干原则:
1、兼容性:包括游戏跨平台兼容,游戏系统特点兼容等;
2、易用性:语言的特征和易用性,一般来讲脚本语言的使用应该比C++语言简单,只需要短暂的培训或者学习就能上手开始工作,并且非程序员也能很快的使用,这要求脚本语言有很好的自动垃圾回收机制等;
3、性能:CPU的占用和内存的使用,还要考虑对线程的支持等;大多数的脚本语言都提供了性能分析工具,如LUA的HotShot;
4、与C/C++的整合:脚本语言大多是c++的延伸。要确保核心引擎和脚本之间的数据转换不需要太多程序方面的努力。大多数的脚本语言都提供了或者是第三方提供了自动函数绑定工具;
5、开发支持:IDE的支持,强大的Bubugging工具,记录工具等。
作者强烈推荐LUA脚本语言(www.lua.org),《魔兽世界》就是使用的LUA脚本系统,并且VisualStudio2008也提供了对LUA的集成开发环境的集成。
现在就开始编写自己喜欢的游戏吧!
作者:吴紫鄂( zewu@live.cn)