制作
制作阶段 1 对一个大型商业虚拟世界来说会持续两到三年 2,大部分编程与数据制作工作都发生在这个阶段。必须为客户端、服务器和各类工具编写代码。所有这些都得依照制作人制定的制作日程 3 依次完成。工具通常最先写,因为其他工作都依赖它们,也因为工具的部分代码往往可以复用到服务器或客户端上。需要用工具来做的事情包括世界生成、人工智能(AI)脚本编写和客户服务支持。另外,做几个分析工具也是个好主意:这样世界一旦运转起来,不必去问,就能弄清玩家、软件和硬件各自在做什么。
服务器端需要多少代码,取决于选定的架构。服务器端代码包括局域网(LAN)联网层面的驱动功能(把服务器连到它的对等机),以及通信模块(把服务器集群连到互联网)。它通常还包括一个 mudlib 层,用来支撑世界的物理规则与 AI 系统。是否包含世界模型层,取决于脚本编写工具产出的是什么。如果要在多个化身里运行,它就不会包含任何特定于某个实例化的细节(否则要想做全局更新就会难得多)。
客户端代码里包含一个大型 3D 引擎,外加对音乐与音效的支持。连接服务器所需的通信协议显然是必需的,客户端需要打补丁时的软件更新机制也一样(而打补丁是免不了的)。
程序员忙着编程的时候,美术则在忙着制作物件模型(静态的和动画的)和纹理贴图,以及其他各种杂项图片(例如给手册、片头动画和网站用的图)。所需美术素材的数量极大,因此通常会存放进它自己的数据库,好让美术能把全部素材都管起来。图形方面也同样会出现可扩展性与可维护性的问题 4。
世界本身,是用程序员做出的建造工具、按照设计文档的规格搭建起来的。这项工作涉及相当程度的创作自由 5,因此通常由专门的设计者而不是程序员来做;这和动画通常由美术来做是一个道理,尽管必要的工具是程序员造的。