此示例是一个简单的多人游戏文本冒险游戏,灵感来自老式基于文本的冒险游戏。
说明书
- 在示例浏览器体验中导航到 Orleans 文本冒险游戏 。
- 选择 “浏览代码 ”以查看源代码。
- 克隆源代码并生成解决方案。
- 首先启动 AdventureServer ,然后启动 AdventureClient。
- 然后,系统会提示你在命令行中输入姓名。 进入并开始游戏。
有关详细信息,请参阅 生成示例。
概述
AdventureServer 程序首先读取 AdventureMap.json 文件。
它设置了一系列“房间”,如森林、海滩、洞穴、空地等。这些地点连接到其他房间,为游戏的位置和布局建模。 示例配置仅描述少数位置。
房间可以包含“东西”,例如钥匙、剑等。
AdventureClient 程序设置玩家,并提供一个简单的基于文本的用户界面,使你能够玩游戏。
你可以四处移动房间,并使用简单的命令语言与事物进行交互,说诸如“向北”或“拿铜钥匙”之类的事情。
为什么 Orleans?
Orleans 允许你使用非常简单的 C# 代码来描述游戏,同时允许它扩展到大规模多人游戏。 为了使这种动机有意义,迷宫房间需要足够大,并支持许多玩家同时参与。 一个价值 Orleans 是可以为发展而设计服务;以小规模运行服务的开销并不大,并且你可以确信,如果需要的话,它会扩展。
它是如何建模的?
玩家和房间被建模为粒子。 这些单元允许你分发游戏,每个单元建模游戏的状态和功能。
键等内容建模为普通旧对象-它们只是简单的不可变数据结构,在房间和玩家之间移动:它们不需要是谷物。
可能的改进
- 使地图大得多。
- 让黄铜钥匙解锁某个东西。
- 允许玩家相互发送消息。
- 让进食和饮水变得可能且有意义。