使用脚本是把游戏代码和主引擎分离开最理想的方法,甚至在处理游戏中的动画。
游戏引擎允许玩家四处行走,探索游戏地图、和其他玩家进行对话、以及打斗。
游戏中的故事情节和游戏角色则用脚本编写,如果直接用代码编写,这样不确定性高,每次修改都需要重新编译引擎。
将游戏代码和游戏内容加以分离,编写游戏引擎代码时不用考虑物品描述,反之亦然。
这是物品描述和游戏引擎分别存放在不同的文件里面,在游戏代码中与描述数据唯一有联系的只是读取数据的部分。
游戏引擎不关心数据具体是什么,它只负责将它读出来,放在特定的地方交给外部程序处理。
硬编码丧失灵活性。脚本可以使你真正在游戏引擎之外编写代码,然后再将这些代码加载到游戏引擎之中并对它加以执行。
一般脚本按自己的语言格式进行编写,脚本使用自己的编译器,且对游戏引擎没有任何影响。
脚本就像运行在游戏内部的小程序,二者的区别在于脚本不可直接在CPU上运行。
脚本使用虚拟机运行,其与计算机内部的CPU十分相似。虚拟机只识别它特定的那种汇编语言。
一个脚本系统包括一种高级语言和一种虚拟机器码。
虚拟机的脚本加载器将虚拟机器码从脚本文件中载入,并允许虚拟机执行这些代码。
主应用程序提供具有一组功能函数的运行脚本,即API,主应用程序通过API控制游戏。