Slippi项目公开发布

下载

如果您只是在寻找下载链接,请 加入Discord 有关启动功能的演示,请观看 此视频 如果您有兴趣了解有关该项目的更多信息,请继续阅读!

这是一场悲剧,到目前为止,我们已经失去了近17年的近战竞赛数据。 我们热爱的经典游戏可能无法从视频中推断出来,而无法重新创建或分析。 此外,带视频的游戏是幸运的游戏,因为许多重要的游戏从来没有这么多。 这篇文章的目的是讨论我们如何更好地保存和利用未来的近战数据,以及我们作为一个社区和一项运动将从中受益的内容。

为了解释通过保存数据可以实现的目标,研究另一项体面的运动可能会有所帮助。 象棋游戏通常使用称为PGN的文件存储。 PGN描述了国际象棋中的每一步。 当您只有一个PGN时,这意味着您可以允许任何国际象棋爱好者一步步进行游戏的所有动作,其中保罗·莫菲(Paul Morphy)早在1858年就主导了一些可怜的灵魂。

当您拥有数百个Morphy游戏的PGN时,事情会变得更加有趣。 您可以显示他最喜欢的开口。 您可以用两种颜色显示他的胜率。 也许您到目前为止可以分析出Morphy在哪个位置最强,他最不可思议的举动是什么? 他最严重的失误是什么?

那么,如果我们有来自各种国际象棋大师的数百万个PGN,该怎么办? 所有这些数据都可以用来创建工具,以丰富运动的各个方面。

这正是项目的任务。

  1. 为近战创建易于解析,数据丰富的重播文件
  2. 使其非常容易获取,上传和共享
  3. 使用重播文件来增强粉丝/竞争对手/播客的体验

有增强用户体验的无限可能,我根本没有时间亲自追求所有体验。 这就是为什么该项目中的所有内容都将完全开源的原因

到目前为止,我的重点是奠定使其他人参与所需的基础。 就是说,让人们参与其中的部分原因是使人们对可能性产生了兴奋。 除了奠定基础之外,我还构建了一些功能来展示拥有重播文件的功能。 这些将在文章的其余部分中讨论,我希望一些读者会受到足够的启发以成为贡献者。

重播文件

我已经定义了.slp重放文件的规范,可以在这里找到。 重放文件实际上是整个项目的核心。 包含的数据包括:

  1. 游戏设置
    一种。 字符,颜色,端口
    b。 阶段
    C。 股票,团队攻击等
  2. 字符逐帧信息
    一种。 控制器输入
    b。 动作状态,位置,百分比
  3. 元数据
    一种。 时间和日期的游戏
    b。 在海豚或游戏机上玩过的平台
    C。 还有更多

产生重播

开始创建重放的最简单的地方是Dolphin。 处理控制台更具挑战性,我认为可以在以后添加。 该版本包括经过修改的Faster Melee构建,其中包括用于将Slippi设备“插入”端口B的切换开关。通过在Port B中选择Slippi并启用了记录代码,重放将自动保存到目录中的Slippi文件夹中。仿真器。

回放

与数据丰富的重播文件相关的最明显的事情是具有播放它的能力。 我想使它尽可能简单,所以我决定制作一个跨平台启动器应用程序。 您可以像Spotify那样考虑一下,但要进行近战重播。 当前,它的功能集非常有限,但是将来可以添加许多功能,以共享,发现和组织重播。

要使用启动器,只需设置根重播文件夹和近战ISO的位置,然后继续浏览并启动重播。

您可以使用Dolphin的工具(设置快捷方式以进行快速控制)暂停,播放和推进回放。 当前,除了使用Dolphin的保存状态功能外,无法向前或向后跳过。 这是将来非常明显的改进之处。

总的来说,我希望将来的播放功能尽可能像视频播放器。 理想情况下,Dolphin的显示器将直接内置到应用程序中。 然后可能会有直接用于播放器的快进跳过工具。 它甚至可以利用Achilles,Dan Salvato和UnclePunch之类的人的大量出色工作来切换DI绘制,控制器输入,动作指示器等功能。

统计资料

在2017年,我的统计系统被Yahoo Esports用来在Summit和Smash Rivalries上叠加流。

我认为这是成功的,但是有一个问题。 游戏进行实时统计后,将其发送到服务器。 统计信息所依据的源数据完全丢失。 这意味着,如果统计数据计算算法得到改进,则旧的统计数据将变得过时。 我意识到真正需要存储的是用于统计数据计算的基础数据,即重放数据。

在此版本中,现在存在重播文件。 统计信息计算当前嵌入到启动器应用程序中。 计算所有统计信息的实际库在一个单独的项目中维护,有兴趣以其他方式使用它的任何人都可以使用。

这里有大量工作可以使数据变得更有趣,更易消化和更相关。 当前,该应用程序仅支持显示单个游戏的统计信息。 未来的另一项工作可能是允许按角色,玩家,技能水平等查看和比较统计数据。

上面详细介绍了到目前为止存在的所有内容。 如已经描述的,有许多改进的途径。 对我来说,这些途径可归为四个主要方面:

  1. 集合-使从模拟器和控制台获取重播数据更加容易
  2. 回放-改善回放回放的体验
  3. 统计-增强统计视图和计算
  4. 组织/共享-创建组织,共享和分发重放的新方法

如果您对以上任何内容感兴趣,请加入Discord并进行自我介绍! 我的希望是,对任何事情感兴趣的人都可以在正确的Discord频道发布信息,找出其他人是否在从事类似的事情,并自发组织团队来从事项目的不同部分。 梦想是我们所有人都可以作为一个团队一起工作,并共同开发具有凝聚力的产品。

在早期阶段,我可能会亲自审查项目的任何更改。 尽管我鼓励人们按自己的意愿做出贡献,但仍需要某种形式的控制以防止项目变得混乱。 使用GitHub的请求请求功能可能会控制代码更改。 我希望这对我来说是一次学习的经历,我当然愿意适应和改变以使事情正常进行。

对于非程序员

您不必成为程序员即可做出贡献。 还有许多其他重要途径可以帮助项目发展。 这些包括:

  1. 艺术—可以为应用程序或其他图形/图标使用更好的图标
  2. 不和谐的管理员/领导者-帮助人们关注话题并开始有趣的讨论
  3. 设计-改进的统计信息显示或任何屏幕的常规改进。 在新的屏幕和流程后面也可能有想法/概念
  4. 内容-有关项目各个部分的更好文档
  5. 统计信息的爱好者-提出有关统计信息的通用语言。 定义我们谈论近战状态和情况的方式。

如果您有上述任何兴趣,或有其他想法,请加入Discord,让我知道!

当前,无法从控制台上的游戏中获取重播文件。 我认为这是一个主要问题,希望看到比赛开始收集重播。 这是我要解决的下一件事。

使用类似于我过去使用的硬件解决方案,可以实现控制台重放提取。 但是,这样做的问题是它不容易访问。 我最近有一个不同的想法,我认为可能会有一些潜力。

Nintendont具有允许游戏使用虚拟存储卡的功能……这是与Wii硬件通信的Gamecube游戏。 Wii具有存储和提取回放所需的所有硬件组件,即SD卡插槽和WiFi /以太网连接功能。 可以创建专门设计用于加载Slippi代码并通过WiFi自动提取数据的Nintendont的修改版本。 这样一来,任何人都可以生成重播,并通过扩展来查看其游戏的统计信息。

我计划追求这个想法。 如果有人有兴趣帮助我,请在不和谐中让我知道。

有很多人帮助Slippi项目发展到今天。 我想在这里大喊一些。 如果我在这里忘记了一些人,我深表歉意。 我非常感谢在此过程中对我有帮助的每个人!

Achilles1515 —用于帮助使原始统计系统正常运行并提供有关混战内部运作的令人难以置信的深刻见识

UnclePunch —当我对改装有随机的问题时,非常敏感并乐于助人

丹·萨尔瓦托(Dan Salvato)-寻求灵感,为此类项目铺平道路

Milktea —用于设计和社交媒体输入

汉尼斯曼—为了帮助我解决海豚问题