Panchathanthiram - The Comedy Riot
If you are a Tamil movie buff, you would have definitely heard of Panchathanthiram. It’s a 2002 cult classic - comedy riot about a group of friends and their chain of lies; Can even be said as a masterclass in chaos - everything that can possibly go wrong, goes wrong for the group but it all ends well for them.
It’s a constant in our household - my wife’s a huge fan and we watch it once every few months. The thing about good comedies is that they’re usually comedies because the characters are fundamentally decent but absolutely terrible at deception. They’re not bad guys. They’re just in a situation that keeps getting worse.
Then I saw Simsaram, a simulation game built on another Tamil cult classic and I thought - why not build something similar for Panchathanthiram? And so I did. Because you can just build stuff now with AI.
The Game is Simple (in theory)
Seven scenes. You’re Ram. You made a promise to your wife Mythili that you’d changed — no more fooling around with your friends. But fate has other plans. After a string of being in the wrong-place-at-the-wrong-time and misunderstandings, your tower of lies is about to crash.
The lies get bigger. Your friends panic. Mythili notices things. At the bridge, at the end, the truth comes out. The question isn’t whether the truth comes out. It’s how badly you’ve dug yourself in by then.
There’s a single number tracking her suspicion. It goes up when you make risky choices. It goes down when you’re honest or careful. By the end, that number determines which of four endings you see - from “somehow you pulled it off” to “you’re lucky she didn’t throw you off the bridge.”
The Hard Part: Cascade
The hardest part was building the choice-driven chaos system while staying true to the movie. I lost my head with Claude and Gemini multiple times while building this. We redid the whole implementation a few times.
Eventually, we landed on a system where specific choices unlock or lock specific options later. If you promised Mythili something in the flight, you can’t break that promise later without a cost. If you panicked your friends in the birthday party, they’re more likely to leak information later. It’s not algorithmic chaos — it’s just: the choices you made earlier matter because they constrain what you can credibly do now.
That felt right. It felt like how lying actually works.
What Actually Matters
I made a lot of technical choices. Zustand for state because it’s small and doesn’t require a lot of ceremony. Framer Motion for subtle animations that respect reduced motion. Tailwind CSS v4 with a warm, editorial aesthetic - serif fonts, paper colors, no neon. The whole thing is client-side (no backend), lives on GitHub Pages, and ships at 405KB JavaScript.
But honestly? None of that matters if the writing and the game design don’t work.
The writing is the whole thing. Each character has a voice. Mythili speaks directly, without filter. Your friends banter and panic in different ways. The smuggler is matter-of-fact. And you - the player - have to navigate conversations where you’re trying to manage the truth without telling it.
The game design is: what’s the minimum I need to track to make this feel real? One suspicion meter. Friend panic levels. Choice history so previous decisions matter. That’s it. I avoided the trap of making a game about mechanics and instead made one about consequence.
What I Learned
Early on, I tried to make every detail configurable. Different friend personalities affecting panic differently. Weighted randomness on information leaks. It was all just noise.
What worked was constraint. One metric. Four endings. Seven scenes. Clear rules that don’t change. Make the game narrow and deep instead of wide and shallow.
I also learned that “player choice” doesn’t mean “infinite branching.” It means: you make a choice, something real happens, and you have to live with it. That’s smaller than it sounds. It’s actually harder to design well than open-ended branching.
Why Panchathanthiram
I think films like Panchatanthiram don’t get enough credit for understanding human nature. The genius of the movie is that you like these guys even though they’re lying. You understand the impulse. You see how the lie becomes necessary. And you watch it spiral not because they’re stupid, but because they’re human.
I wanted to extend that - to make people feel that tension from the inside.
Whether I did that is up to the people who play it. But I’m proud of the thing we (Claude, Gemini, and I) made. It’s small, it’s focused, and it has a point of view.
You can play it here: https://glnarayanan.github.io/vai-raja-vai/
If you’ve seen the film, you’ll recognize the beats. If not, you’ll just experience a story about what happens when the web of a lie finally breaks.