The Problem: Hidden Game Mechanics 🕵️♂️
I recently got obsessed with the indie horror RPG "Dead Plate" (by RachelDrawsThis). It's a fantastic game about a waiter working for a cannibalistic chef, but it has one major frustration: Opaque RNG.
The game relies on hidden stats like "Suspicion" and "Affinity." Make one wrong dialogue choice in the first 10 minutes, and you're locked out of the True Ending an hour later.
I got tired of alt-tabbing to read 50-page text walkthroughs that spoiled the story. I wanted a tool that could track my stats in real-time.
So, I built one.
The Solution: HorrorHub 🩸
I reverse-engineered the decision tree of the game and built HorrorHub, an interactive ending calculator and character database.
👉 Live Demo: https://deadplate.net
👉 Source Code: LINK_TO_YOUR_GITHUB_REPO
(The UI is styled to match the game's dark, gritty aesthetic)
The Tech Stack: Why Astro? 🚀
I needed the site to be blazing fast because most users would access it on their phones while playing the game on PC.
- Framework: Astro. I chose Astro because of its "Island Architecture." The majority of the site (lore pages, character bios) is static HTML (zero JS), making it incredibly performant.
- Styling: Tailwind CSS v4. It allowed me to rapidly prototype the "Classified Archives" aesthetic with complex gradients and dark-mode logic.
- State Management: For the calculator part, I used simple vanilla JS logic injected only where needed.
How it Works (The Logic) 🧠
Instead of hard-coding every path, I mapped the game's logic into a JSON structure. Here is a simplified snippet of how the data is structured:
json
{
"event_id": "day_3_fridge",
"choices": [
{
"text": "Check the freezer",
"effect": { "suspicion": +10, "item": "key_fragment" }
},
{
"text": "Ignore it",
"effect": { "suspicion": -5 }
}
]
}
The calculator simply traverses this JSON tree, summing up the suspicion score to predict which of the 4 endings you will get.
Open Source Data 🤝
I believe game data should be accessible. I've open-sourced the entire JSON dataset for Dead Plate on GitHub. If you are building a wiki or an AI agent for this game, feel free to use my data!
Check out the repo here: [https://github.com/Causalzap/dead-plate-interactive-matrix] (Replace with your link)
What's Next?
I plan to expand this into a hub for other mechanics-heavy horror games (like The Freak Circus).
If you are an Astro developer or just a fan of indie horror, I'd love to hear your feedback on the UI or the code structure!
Thanks for reading! 💀
PS: If you find a bug in the ending calculations, please open an issue on GitHub!
#astro #javascript #opensource #gamedev
Top comments (0)