Giving Liars a Voice
When I started building Everybody Lies, I told myself I was making a small mystery game.
That was a lie, naturally.
The idea is simple enough: every town, every citizen, every secret, and every crime is generated by AI. You open the game on your phone, arrive in a strange town, and start investigating. There is a board, there are suspects, and everyone is hiding something.
The original plan was sensible. Keep it local on the device. Keep the first version small. Use stylized monogram avatars instead of trying to make everything fancy. Get the core loop working first.
That was the grown-up plan.
Then I became obsessed with one design decision: should these citizens have voices?
Not just text on a screen. Not just little initials in a circle. Actual spoken lines, with a different voice for each person.
On paper, this was not the practical choice. I am 50, not a programmer, and I am building this with an AI app builder. Every time I add something that feels magical, I also seem to invite three new ways for the whole thing to fall over.
And it did fall over.
The town generation broke at one point because the rules for what the AI was supposed to produce were too strict. In plain English, I had made the form too fussy, and the AI could not always fill it in correctly. So that had to be loosened.
Then the voices did not work properly, because there needed to be backup logic for when a particular voice was missing or unavailable. Then autoplay became a fight, because browsers are protective about sound. They do not usually let a web page start talking until the person has tapped something first. Fair enough, honestly. Nobody wants a surprise murder suspect yelling from their pocket in a waiting room.
So I had to work around that too, with the builder helping me make the audio behave more like one shared player instead of a bunch of separate little sound machines.
Then storage became a problem. Since the app is local-only for now, it saves things in the browser on the device. I managed to exceed the storage limit because I was saving too much image data. The fix was to stop storing the heavy image version once it was not needed.
All of this for voices.
There were moments where I thought, why am I doing this to myself? The game already has secrets. It already has crimes. It already has an investigation board. Surely text is enough.
But every time I stripped it back in my head, the town felt flatter.
A mystery game is not only about clues. It is about suspicion. It is about reading people. It is about wondering whether someone is nervous, evasive, charming, tired, or just plain odd. Even if the AI is generating the citizens, I wanted them to feel like more than database entries.
That phrase alone would have made me roll my eyes a year ago. Database entries. Who do I think I am?
But this is what happens when you start building. You begin with a feature list, and then one small choice starts to carry the whole feeling of the thing.
The voices mattered to me because I am building this for a phone. On a small screen, every bit of personality has to earn its space. A voice can do a lot of work. It can make a citizen feel distinct without adding a wall of text. It can make the town feel less like a menu and more like a place.
I also asked for smoother page transitions, because the same thing bothered me there. If the game jumps around too harshly, the spell breaks. I do not need it to be flashy. I just need it to feel calm enough that a person can stay inside the mystery.
I am not at the finish line. There is still a gap between a working version and something ready for the App Store. But this decision taught me something useful.
Sometimes the feature that looks unnecessary is actually where the soul is hiding.
Small takeaway: if a detail keeps nagging at you, it may be worth listening to.
Keep reading
When It Started Breathing
For a while my AI mystery game was just screens and errors. Then the towns, faces, and voices began to feel like a place.
The Day I Stopped Saving Everything
I wanted my AI mystery game to remember every detail. Then the browser basically told me: absolutely not.
My First Real Wall
I thought the hard part would be the idea. Then the town generator broke, and I met the less charming side of building with AI.
My First Big Ask
I asked the AI to help me build an entire mystery game. What came back was exciting, imperfect, and a little dangerous.