Tooling: The Underestimated Beast

I lurk on /r/gamedev regularly. One piece of advice keeps coming up: “I underestimated tooling.” Let’s be honest, that’s scary. So we decided to tackle this head-on while Hytale keeps us waiting.

Result: two homemade tools that change everything.

The Shared Data Problem

Before talking about tools, let’s address the real problem. We have game data: roles, items, spawn points, balance parameters… This data needs to be identical across three different projects: the website, the editing tool, and the future game.

We considered several solutions:

  • Maintain the same files across three repositories? Nightmare guaranteed.
  • Create a centralized database? Too heavy for our use case.

The real good idea: a Git submodule containing all our game design JSON files. One single source of truth, three projects pulling from it. Simple, effective, version-controlled.

Tools: The Data Editor

Our first tool is simply called “Tools”. It’s a web application that lets us modify our data repository transparently.

In practice, the tool understands our JSON file structure and knows how to commit changes. No need to touch code to modify:

  • Available roles on the website
  • Starting items for each character
  • Spawn points
  • Balance parameters

But Tools goes further. It generates curves and diagrams for our complex systems: role assignment, narrative arc management throughout a session. We can simulate and calculate scenarios without launching anything.

The tool is intentionally “vibe coded”. Translation: it’s throwaway code, built to be effective now. Devs and game designers spin up the site locally, make their changes, and done. The goal is still to enable long-term project management.

Automation then pushes freshly modified data to the website and game. Zero friction.

CLI: The Fake Hytale

It’s great to have a data editor. But how do you test complex systems without the actual game?

We’re a bit crazy: we recreated Hytale. Well, a CLI version of our game mode. In a few evenings of vibe coding.

It’s a command-line interface that simulates complete sessions: player connections, disconnections, kills, item pickups… The next devlog will cover the domain and hexagonal architecture that makes this possible. For now, just know that this CLI will become our final game mode.

The benefit? Running dozens of accelerated sessions to spot imbalances.

For example, during our first tests, I had an unpleasant surprise: way too many werewolves, zero lumberjacks, zero miners. Our game design had gaps. We fixed it quickly, without waiting for a real playtest with actual players.

What’s Next?

Our two little tools are preparing us for the game’s release. We still have so much left to build. We haven’t shown everything either… our ticket manager is waiting for its moment.

We can’t wait to see if our approach holds up when Hytale finally launches. Until then, we keep building in the shadows.

Have a great day!

— Prakkmak