cd /news/generative-ai/i-built-an-ai-powered-interactive-fi… · home topics generative-ai article
[ARTICLE · art-113003] src=blog.devgenius.io ↗ pub= topic=generative-ai verified=true sentiment=· neutral

I built an AI-powered interactive fiction game and got banned from my own hosting two weeks later

A developer built an AI-powered interactive fiction game called Aventuras at aventurasapp.com, using Ink for branching narratives and AI-generated art via Higgsfield, and was banned from their own hosting two weeks after launch. The game features nine stories, a real Stripe-based paywall, and optimized images reduced from over 100 MB to just over 4 MB.

read7 min views1 publishedAug 27, 2026

It all started with a question I ask myself too often: “what if I built…?”. This time the end of that sentence was “a choose-your-own-adventure game, with distinct stories, AI-generated art, and maybe — just maybe — someone other than me actually playing it someday.”

That “someday” has already happened. It’s called Aventuras, it lives at aventurasapp.com, and this is the chronicle (stumbles included) of how it got built — from the first line of a story to the dumbest bug that cost me an entire afternoon.

Before writing a single word, I had to decide how the stories would branch. I didn’t want a menu of choices disguised as a decision — the kind we’ve all played, where it doesn’t matter what you pick because the path merges back together three screens later. I wanted the choices to actually matter.

I ended up using Ink, the narrative language behind games like 80 Days and Heaven’s Vault. Each story is a tree: text knots connected by choices, with internal variables that remember what you’ve done — whether you trusted a character, which side you backed, what secret you kept — and that determine which of several endings you reach. Everything compiles directly in the browser, no server round-trip, so the game responds instantly.

Ink has its own syntax, and like any syntax, its own traps. There’s one in particular that bit me so many times I can spot it with my eyes closed: if you write a conditional block with multiple branches and put the first condition on the same line as the opening brace, Ink throws an error that makes no sense whatsoever (“expected an ‘- else:’ clause here”). The fix is to put that first condition on its own line. I learned it the hard way on the very first story, and I’ve avoided it almost superstitiously ever since — like someone who won’t step on sidewalk cracks.

Every scene has its own image, and in the fully completed stories, its own music too — all generated with AI through Higgsfield. The process itself is simple: describe the scene, generate, check it matches the story’s tone, repeat. What wasn’t so simple was file size: the first images I generated were massive, so I built a small script that converts them to WebP and resizes them automatically. That alone brought the total weight down from over 100 MB to just over 4 — the difference between a site that loads fine and one that makes people wait long enough to leave.

What no script can fix is running out of generation credits mid-project. That happened right when I had four new stories written and ready, and my Higgsfield account basically said “no.” The fix was to publish those stories with just a cover image (no per-scene illustration yet) instead of hiding them indefinitely — genuinely playable, just visually more sparse for now. The per-scene art will arrive when more credits do.

With the narrative engine running smoothly, it was time to write more stories, and across very different genres: epic fantasy, horror in an isolated lighthouse, a corporate-whistleblower drama that can spiral out of your control, a comedy set in a supermarket at 4am, a noir mystery in the rain, survival fourteen months after a collapse, science fiction — a space station with an AI that might not be telling the whole truth —, a heist where the trust you build with your crew decides whether you walk out with the score or with nothing, and a time-loop mystery with five different endings depending on what you uncover before midnight. Nine stories total right now, most free, one a paid one-time unlock.

This is where I built the part I’m proudest of: a real paywall, not a cosmetic one. None of that “if you inspect the source you can read the premium story for free” — the text of that story doesn’t even reach the browser until Stripe confirms you’ve paid. The first time I tested it with a test card and watched the unlock work end to end, I felt prouder of those hundred lines of token verification than of any dramatic ending I’d written myself.

All of this lived happily on Vercel. Until I read the fine print: Vercel’s free tier doesn’t allow commercial use. And it turns out “charging for a story” counts as commercial use. Who would’ve guessed.

So I had to migrate everything to Cloudflare Workers — which sounded simple until Cloudflare decided, without warning, that my account had to use their new “Workers” model instead of the classic “Pages” setup I’d planned around, meaning I had to rewrite three whole serverless functions in a single weekend. And just when everything finally worked… I bought my own domain, and Cloudflare quietly slapped an invisible “parking page” on it that no dashboard button could turn off. Three days of DNS investigation later (yes, including querying the authoritative server by hand, like in the old days), it turned out to be a known bug that only support could fix.

Moral of the story: nobody warns you that “deploying your app” is only 30% of the work. The other 70% is discovering exactly which platform’s fine print you’ve unknowingly walked into.

Like any self-respecting indie dev, I tried promoting the project on Reddit. Like any rookie indie dev, I did it wrong: I posted the same link to multiple subreddits the same day, with zero history on the account. The result was fast and final: permanently banned, for spam patterns.

Lesson learned (the hard way, which is how it sticks best): on Reddit you have to actually participate before selling anything — comment, contribute, be a person before being an ad. I’m in that phase right now, with a new account and a much more patient pace. I’ll let you know how it goes.

To be fully transparent: this is nowhere near finished, even though the catalog has moved faster than I expected. All nine stories now have complete scene-by-scene illustration, including the premium one — when I ran out of Higgsfield credits, I built a semi-automatic pipeline with Gemini (Nano Banana) to generate the remaining missing images, and along the way I learned you have to check every single image by hand: a couple of generations accidentally slipped in a NASA-badge-style patch on a spacesuit, and I had to regenerate them. And the English pilot stopped being a pilot: all nine stories now have their full narrative translated, not just the title and description. The two most recent additions, on top of that, are the first to break from the “a handful of choices with a variable ending” pattern: one tracks how much each character trusts you across the entire week leading up to the heist, and the other turns the time loop itself into a game mechanic — the clues you gather (and the risk you’re willing to take to get the one you’re missing) decide which of its five endings you reach.

What’s genuinely still pending is more boring and more honest: there still hasn’t been a single real purchase of the premium story, and marketing (Twitter, Reddit, this very article) is still more of a promise than an established routine.

None of this is a secret or something to hide — it’s simply the real state of a project that’s still moving forward.

More stories, maybe more languages if the English catalog shows there’s real interest, and probably someday I’ll have to write another article titled “how I almost broke it again with [thing I don’t know about yet].” If I’ve learned anything building this, it’s that “writing the game” is, by far, the easiest part of the whole process.

If you want to play any of the stories for free (or buy the premium one once it’s genuinely proven itself), it’s all at aventurasapp.com. I built an AI-powered interactive fiction game and got banned from my own hosting two weeks later was originally published in Dev Genius on Medium, where people are continuing the conversation by highlighting and responding to this story.

── more in #generative-ai 4 stories · sorted by recency
── more on @aventuras 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/i-built-an-ai-powere…] indexed:0 read:7min 2026-08-27 ·