我逆向工程了恐怖游戏的逻辑,构建了一个开源结局计算器(Astro + Tailwind)

发布: (2026年1月19日 GMT+8 21:05)
4 min read
原文: Dev.to

Source: Dev.to

问题:隐藏的游戏机制 🕵️‍♂️

我最近沉迷于独立恐怖 RPG Dead Plate(作者 RachelDrawsThis)。这是一款关于为食人厨师工作的服务员的精彩游戏,但它有一个主要的挫折感:不透明的随机数。
游戏依赖于隐藏的属性,如 Suspicion(怀疑)和 Affinity(亲和)。在前 10 分钟里做出一次错误的对话选择,随后一个小时内你就会被锁定在真实结局之外。

我厌倦了 Alt‑Tab 去阅读 50 页的文字攻略,这些攻略会剧透剧情。我想要一个能够实时追踪我的属性的工具。于是,我自己做了一个。

HorrorHub – 交互式结局计算器 & 角色数据库

我逆向工程了游戏的决策树,并构建了 HorrorHub,一个交互式结局计算器和角色数据库。

UI 采用与游戏暗黑、粗糙的美术风格相匹配的设计,并针对在 PC 上玩游戏时的移动端使用进行了优化。

技术栈

框架 – Astro

我选择 Astro 是因为它的 Island Architecture(岛屿架构)。站点的大部分内容(剧情页面、角色简介)都是静态 HTML(零 JS),因此性能极佳。

样式 – Tailwind CSS v4

Tailwind 让我们能够快速原型化 “机密档案” 的美学,支持复杂的渐变和暗模式逻辑。

状态管理

在计算器部分,我仅在需要的地方注入了简单的原生 JS 逻辑。

数据结构

我没有对每条路径进行硬编码,而是将游戏逻辑映射为 JSON 结构。下面是一个简化的片段:

{
  "event_id": "day_3_fridge",
  "choices": [
    {
      "text": "Check the freezer",
      "effect": { "suspicion": +10, "item": "key_fragment" }
    },
    {
      "text": "Ignore it",
      "effect": { "suspicion": -5 }
    }
  ]
}

计算器遍历此 JSON 树,累计怀疑值,以预测玩家将获得的四种结局中的哪一种。

开源数据 🤝

我相信游戏数据应该是可获取的。Dead Plate 的完整 JSON 数据集已在 GitHub 上开源。欢迎将其用于维基、AI 代理或其他项目。

接下来计划?

我计划将其扩展为其他机制繁重的恐怖游戏的中心(例如 The Freak Circus)。

如果你是 Astro 开发者或独立恐怖游戏的粉丝,欢迎就 UI 或代码结构提供反馈。

感谢阅读! 💀

如果您发现结局计算中的错误,请在 GitHub 上打开 issue。

Tags: #astro #javascript #opensource #gamedev

Back to Blog

相关文章

阅读更多 »

逃离后室

Escape the Backrooms 是一款第一人称恐怖冒险游戏,由 Fancy Games 开发,Secret Mode 发行。它包含超过 28 个主要可玩关卡,…

理解网络设备

封面图片:Understanding Network Devices https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2F...