使用Node.js实现一个多人游戏服务器引擎(7)

我不打算对这个特定的组件做任何编码,但我们仍然需要设计它。基本上我们是在实现一种协议来定义游戏、它内部的场景以及一切。

如果你想一想,文本冒险的核心基本上是一组相互连接的房间,里面是你可以与之互动的“事物”,所有这些都与一个引人入胜的故事联系在一起。现在我们的引擎不会处理最后一部分,这部分将取决于你。

现在回到相互连接的房间,对我来说这就像一个图结构,如果我们还添加了前面提到的距离或移动速度的概念,还需要一个加权图。这只是一组节点,它们具有权重(或只是一个数字 —— 不要纠结它的名称),代表了它们之间的路径。下面是一个示意图(我喜欢通过观察进行学习,所以只看图,好吗?):

这是一个加权图 —— 就是这样。我相信你已经弄明白了,但为了完整起见,让我告诉你一旦我们的引擎准备就绪,你将会做些什么。

一旦开始设置游戏,你将创建地图(就像你在下图中左侧看到的那样)。然后将其转换为加权图,如图所示。引擎将能够接收它并让你按正确的顺序进行浏览。

一个地牢的示例图

通过上面的加权图,可以确保玩家不能从入口一下子走到左翼。他们必须通过这两者之间的节点,这样做会消耗时间,可以用连接的权重来测量。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/78.html