在 Discourse 中共享特定的用户生成内容(适用于 Halo Infinite)

大家好!希望有比我聪明得多的人能在这里推荐一个好的方法——即使这意味着要聘请 Discourse 开发者来做一些更定制化的工作。

我拥有并运营 XboxEra.com——一个不断发展的视频游戏出版物,拥有一个活跃的 Discourse 论坛。

自 2020 年以来,我一直在与微软合作开发《光环:无限》的最新版本 Forge,即《光环》的 UGC 部分,作为他们“Forge 委员会”的一部分。

由于我拥有自己的社区,其中许多人对《光环》有既得利益,我想在 Forge 于 11 月推出测试版时,提供一个分享地图的地方。

我想实现的目标:

我想创建一个专门针对希望分享地图和游戏模式的用户的帖子创建工作流程,该工作流程将在我们的论坛 (forum.xboxera.com) 上成为《光环:无限》的一个独立类别。

用户将能够填写有关其创作的详细信息,从它是核心竞技地图还是小游戏。他们将能够附加截图,建议主要游戏类型(Slayer、Strongholds、CTF 等),列出地图的描述、它是基于哪个“地图画布”构建的、合作者、武器等,以及提供一个链接供用户收藏该地图以在《光环:无限》中游玩。

实际上,每张地图都可以成为一个独立的“帖子”,用户可以讨论该地图,提供反馈,甚至对地图本身进行评分。用户将能够浏览社区提交的所有地图类别,并进行筛选,例如只查看小游戏或核心地图等。

理想情况下,我宁愿在我们的 Discourse 实例内构建它,而不是构建另一个定制的特定应用程序(例如,请参阅 dayone.xboxera.com)。

那么,聪明的人们——什么可以做到/可能实现?欢迎所有反馈/问题!<3

1 个赞

我想知道 Custom Wizard Plugin 是否可以用于您的帖子创建工作流。我认为您可以使用它来创建符合特定模板的主题。

1 个赞

您可以使用标签来区分不同的游戏类型。

在不更改讨论内容的情况下,您可以使用模板来鼓励人们输入您想要的内容。

在另一个极端,您可以创建一个自定义插件,其中包含各种内容的自定义字段,并以自定义方式显示它们。

我已经看过这个了,我们正在调查它可能有多好用。

我觉得模板不合适,因为人类很愚蠢,讨厌阅读/遵循指导,因此工作流程是首选。

我感觉到我们将要采用自定义插件,尤其是在显示它们以鼓励可发现性方面,这必须是整体的主要设计目标。

我同意关于人类的观点。

我认为可发现性/搜索部分最好通过标签来处理,因为这很自然,并且可以由原生讨论强制执行。如果您还没有看过,请查看标签组。您可以强制人们在其中一组标签中进行选择。

1 个赞

这很有用。
我希望达到的最佳示例(但显然要在可用性/现代界面方面超越它)可能是 Forgehub - 从插件的角度来看,构建类似的东西是否特别困难/冗长?

1 个赞

是否有标准的地图存储库?

如果有,您可以在两个平台上构建一个插件来创建发布/订阅关系,并为提交到存储库的每个新地图自动发布一个新主题。

参见:PubSubHubbub Core 0.4 -- Working Draft

我以前构建过这样的东西,但不幸的是它不是开源的。

这需要相当多的工作(如果您不拥有地图存储库,还需要获得支持),但非常实用。

1 个赞

那么我的理解是正确的吗?地图存储库将是所有通过 Forge 保存/发布的、并生成了用于在 HaloWaypoint 上共享的 URL 的地图(假设他们会这样做吗?

根据我对 Forge 工作原理的理解,这可能不可行——这只适用于在我们的论坛上分享他们特定创作的人。希望我说得通!

1 个赞

您可以:

  • 接收每个新地图的消息
  • 过滤掉那些不代表您用户地图的消息(使用某种关键关系,例如您 Discourse 上的某个自定义属性,该属性链接他们的“forge 作者 ID”?)。
  • 创建这些主题。

完成。

另一种方法可能是调查他们的 API 并实现某种间歇性轮询(但轮询通常成本很高,如果您需要非常频繁地执行此操作,您可能会很容易用完配额)。但同样,您需要知道要查找什么,并且了解您用户的外部 ID 在这里也很关键。如果他们没有专门的公共 API,您也可以抓取他们现有的网页以获取信息。

1 个赞