游戏中的脚本

      现在游戏里流行的脚本有python 和lua ,例如魔兽世界就是用lua脚本来驱动逻辑的。我们为什么用脚本,而不是纯用C++呢?当然,这与团队协作以及工作效率有关。

      C++编译速度不佳,当一个项目达到比较庞大的一个规模时,编译的时间往往会让人愤怒了。

      于是,python出现了。一些重要的算法实现,图形效果可以在引擎里实现,而一些纯逻辑的算法,则可以在脚本实现。于是便有了客户端引擎和客户端逻辑之分,还有的是客户端UI等等。

      另外一个重要的原因是一款游戏的制作时间往往是以年为单位的,而程序员也达到了十多个甚至数十个。大家对同一个SVN的代码工作,在一天里对一个文件也许就会修改几次提交几次,而python的易改性则适合这种频繁的交互。

      还有一个原因是,找到一个好的C++程序员是那么的难得,那么在整个项目里都要求C++程序员那就近乎天方夜谭了。

      然而python效率不佳,当一个python里面的算法成为瓶颈之后,那就要考虑把它移接到C++层了。当然,效率不仅仅是语言本身问题,更重要的是所写的算法效率,如果你觉得把算法从python移到c++效率就高了可就贻笑大方了。。。

posted @ 2010-10-18 08:21  毛志谦  阅读(281)  评论(0编辑  收藏  举报