DevLog 20261007: A Detective Story - First Satisfying Full Playable Build

DevLog 20261007: A Detective Story - First Satisfying Full Playable Build

●7 ●110 ●181
calendar_today ago • schedule3 min read
— Originally published at dev.to

Overview

I've always wanted to develop a video game — in fact, many of them. A Detective Story is far from the first attempt at Methodox; several earlier projects stalled along the way (you can still catch a glimpse of one in Codename Wayhome).

As we set out to build Divooka — a general-purpose visual programming system — the ability to create even a simple 2D game became an essential touchstone. So the game was never just a game.

Motivation

The idea for A Detective Story grew out of our work on Methodox ChatGateway, a RAG-based knowledge engine we were running as an online service. Behind the scenes we were also spending a lot of time with locally hosted LLMs and general knowledge-base applications. The underlying technology isn't new, but none of the existing solutions quite met my requirements. Most are poorly organized and extremely heavy in (Python) dependencies. I could talk about my complicated relationship with Python for hours — the love and, mostly, the hate — but one principle I value above almost everything else is portability and compactness in local software.

A complete RAG knowledge-base solution shouldn't be much larger than the knowledge source itself. That's the bottom line.

As with so many other things we build for Divooka, the best way to prove what the platform can deliver is to find a real application for ourselves and push it as far as we can. That led us to the idea of Crime Engine.

On a Reusable, Configuration-Based Detective Story Game Engine

Crime Engine is a 2D detective-story game engine with fully configurable maps and characters. Players interrogate suspects using natural language, powered by locally hosted models through llama.cpp.

The setup is deliberately lightweight. It supports the major flavours of GGUF-based SLMs and includes built-in RAG. On the gameplay side we have map navigation, fully functional menus, story backgrounds, interrogation rooms, and a verdict screen for concluding a case. There are also interactions with NPCs on the streets in map view, item discovery, and item exchange.

The item-exchange system turned out to be the trickiest piece. It may simply be a limitation of current local models, but I still don't find locally hosted LLMs reliable enough for consistent tool use.

The Development of A Detective Story

We announced the Steam “Coming Soon” page with a trailer back on 6 March, yet we never felt confident enough to release. Three main challenges kept holding us back:

  1. Graphics quality — Much of the art was AI-generated with manual adjustments, but the overall integration still fell short of the standard we wanted.
  2. NPC behaviour and tool use — The item-exchange mechanic is genuinely interesting, but relying on an LLM for reliable outcomes proved difficult. We eventually solved this by scouting a stronger SLM.
  3. Plot completeness — Closely related to the point above: because LLM responses are hard to control tightly, it was tricky to guarantee that players could smoothly finish the game with all the necessary clues. Of course, Divooka remained our primary focus, so we couldn't pour unlimited effort into fine-tuning the plots.

Plot Work

This is still an experimental game and a tech demo for the engine, yet we wanted it to feel like a coherent little story we could build on later — expansions, a series, that sort of thing. As we kept working, the characters became more polished: Ronan, Jack, Lady Garba, Helen, and the rest. It turns out it's simply fun to dwell in fiction once in a while.

Even though it's a small 2D title, we ended up planning a surprisingly large set of graphics assets and subplots worth exploring. We originally sketched a gigantic cast of almost 500 NPCs, then deliberately shifted toward fewer, more personalized characters instead of a generic population.

Release

Major improvements since the earlier builds include:

  1. Significant engine work — better NPC stability, improved tool use, and far more thorough internal (automated) testing.
  2. Noticeable graphics upgrades.
  3. A full GUI overhaul using our proprietary framework ShadowGUI. All Divooka users will benefit from this soon enough.

I did a final playtest today and, for the first time, the game felt genuinely enjoyable, smooth, and fun. It's almost ready to go.

We plan to release A Detective Story first while we continue polishing Crime Engine itself. It will be a while before CE is generally available.

References

🔥 Join developers growing publicly
Share your knowledge, build in public, and grow your developer presence with a global community.

More Posts

Your Tech Stack Isn’t Your Ceiling. Your Story Is

Karol Modelski - Apr 9

Local-First: The Browser as the Vault

Pocket Portfolio - Apr 20

Architecting a Local-First Hybrid RAG for Finance

Pocket Portfolio - Feb 25

How to Build a Portfolio Website That Actually Gets You Hired

muhammadfarhan.dev - Aug 21

DevLog 20260919: Upcoming Fantasy Planet Painter 2.0 and the Making of It

Methodox - Sep 19
chevron_left
7.7k Points • 298 Badges
Toronto • methodox.io
89Posts
72Comments
6Connections
We are a vibrant start-up dedicated to revolutionizing personal computing for creators and professio... Show more

Related Jobs

View all jobs →

Commenters (This Week)

1 comment
1 comment
1 comment

Contribute meaningful comments to climb the leaderboard and earn badges!