冒险游戏示例项目

此示例是一个简单的多人游戏文本冒险游戏,灵感来自老式基于文本的冒险游戏。

说明书

  1. 在示例浏览器体验中导航到 Orleans 文本冒险游戏
  2. 选择 “浏览代码 ”以查看源代码。
  3. 克隆源代码并生成解决方案。
  4. 首先启动 AdventureServer ,然后启动 AdventureClient
  5. 然后,系统会提示你在命令行中输入姓名。 进入并开始游戏。

有关详细信息,请参阅 生成示例

概述

AdventureServer 程序首先读取 AdventureMap.json 文件。

它设置了一系列“房间”,如森林、海滩、洞穴、空地等。这些地点连接到其他房间,为游戏的位置和布局建模。 示例配置仅描述少数位置。

房间可以包含“东西”,例如钥匙、剑等。

AdventureClient 程序设置玩家,并提供一个简单的基于文本的用户界面,使你能够玩游戏。

你可以四处移动房间,并使用简单的命令语言与事物进行交互,说诸如“向北”或“拿铜钥匙”之类的事情。

为什么 Orleans?

Orleans 允许你使用非常简单的 C# 代码来描述游戏,同时允许它扩展到大规模多人游戏。 为了使这种动机有意义,迷宫房间需要足够大,并支持许多玩家同时参与。 一个价值 Orleans 是可以为发展而设计服务;以小规模运行服务的开销并不大,并且你可以确信,如果需要的话,它会扩展。

它是如何建模的?

玩家和房间被建模为粒子。 这些单元允许你分发游戏,每个单元建模游戏的状态和功能。

键等内容建模为普通旧对象-它们只是简单的不可变数据结构,在房间和玩家之间移动:它们不需要是谷物。

可能的改进

  1. 使地图大得多。
  2. 让黄铜钥匙解锁某个东西。
  3. 允许玩家相互发送消息。
  4. 让进食和饮水变得可能且有意义。