对象行为是由内核在响应玩家输入信息时调用。每个对象都响应组标准动词,这些标准动词直接映射到玩家可用命令。每个行为只是个执行指定动作子程序,为此,它可以调用其他对象行为或向后端发送请求消息。除标准动词行为之外,对象可能还有额外行为,这些行为是由从后端异步到达消息所调用。
后端还维护着面向对象世界。与前端样,后端对象具有可执行行为和内存中状态信息。此外,由于后台维护着整个栖息地世界持续全局状态,因此对象也由数据库记录来表示,这些数据库记录可以在“不使用”时候存储在磁盘上。后端对象行为是由前端消息调用。这些后端行为工作方式大致相同:后端从玩家前端接收到请求些动作消息,随后采取行动并使世界状态产生变化;后端行为将响应消息发送回前端,通知它请求结果,并将通知消息发送到同地区其他玩家前端,告诉他们发生什事情。
经验教训
为
种类型;检测世界上其他看不见情况
标志允许其他物品有文本附件
点击枪非致命武器
瞬移亭快速长途运输方式;类似于电话亭
代币栖息地金钱
售货机器人贩卖机;贩卖东西
实现
接下来们阐述下系统工作原理:栖息地设定是个面向对象世界模型。
前端由系统内核和对象集合组成。内核处理内存管理、显示生成、磁盘输入/输出、移动通信,以及其他“操作系统”功能。对象实现世界本身语义。每种类型栖息地对象都有个由组资源组成定义,包括用于驱动显示、音频数据和可执行代码动画。对象可执行代码实现系列标准行为,每个行为都由不同玩家命令或系统事件调用。该模型与面向对象编程系统中模型类似,如Smalltalk[69],分类、方法、消息都是如此。这些资源消耗大量稀缺前端内存,因此们不能同时将它们全部保存在内核中。幸运是,它们定义是不变,所以们只需在需要时候从磁盘中交换它们,丢弃最近使用资源来腾出空间。
当个对象被实例化时,们分配个内存块来包含对象状态。对象状态信息前几个字节在所有对象中都采用相同形式,包括对象屏幕位置和显示属性等内容。当系统内核生成显示并管理运行时环境时,该标准信息将被内核解释。状态信息其余部分随对象类型而变化,只能通过对象行为代码访问。
请关闭浏览器阅读模式后查看本章节,否则可能部分章节内容会丢失。