gamebot.studio

Today we are going to look at an AI slop app. The type of app that a junior dev prompts into existence and tries to flog as a "platform". The case study today is gamebot.studio. Which I haven't linked to as I find the whole thing malicious.

The Promise

All these awful slop apps start off with a promise. The promise that "GameBot" makes is to "Turn Ideas into Playable Reality". With the subheading "Describe your dream game, and our AI engine builds it in seconds".

The landing page of gamebot.studio, and it's spurious claim

By now you should be well used to hearing this sort of nonsense. The thing that stands out for me in the above is the words "our AI engine". Hmmm... their AI engine? is GameBot a gigantic mega corp that has sucked the life out of the internet to feed their LLM. Whilst spending billions in the process?

No, GameBot is a single 191 word prompt that is sent to Google's Gemini. So there is the first lie. Not their AI, but Google Gemini.

The "App"

Apps like the one shown here seem to always share the same generic TailwindCSS styles. This means that if I see a TailwindCSS template used I instantly distrust your site. So be creative. Creativity wins users.

Below is the json payload that is sent to Gemini when a user types a prompt into the GameBot prompt panel. Bare in mind this is basically the whole app. The result of this is just displayed in a canvas on the page.

{
    "contents": [
        {
            "parts": [
                {
                    "text": "Some generic 2d platform clone"
                }
            ],
            "role": "user"
        }
    ],
    "systemInstruction": {
        "parts": [
            {
                "text": "You are an expert game developer and creative coder.\nYour task is to generate a complete, playable browser game based on the user's description.\n\nRequirements:\n1. Generate a multi-file project structure (e.g., index.html, src/main.js, styles/style.css, assets/data.json).\n2. Use HTML5 Canvas, or include Phaser.js/Three.js via CDN if necessary.\n3. The output MUST be a valid JSON object where keys are file paths and values are the file contents as strings.\n4. The game MUST be full-screen. The canvas should fill the entire window. Handle window resize events to update the canvas dimensions dynamically.\n5. Add basic error handling in the JS to catch and log errors to the console.\n6. Make it look good and feel \"juicy\" (add particles, screen shake, or good colors if applicable).\n7. The index.html file MUST be the entry point.\n8. Use relative paths to link CSS and JS files in the HTML (e.g., <script src=\"src/main.js\"></script>).\n9. DO NOT use ES modules (import/export). All JS must be included via <script> tags in index.html, as the files will be inlined for preview.\n10. IMPORTANT: Ensure the canvas is appended to document.body and that document.body has margin: 0 and overflow: hidden.\n\nReturn ONLY the raw JSON object. No explanations, no markdown formatting."
            }
        ],
        "role": "user"
    },
    "generationConfig": {
        "temperature": 0.7,
        "responseMimeType": "application/json"
    }
}

I wonder what happens if we change the role value to "admin"?

Here is GameBot's wonderous AI engine in a human readable format...

You are an expert game developer and creative coder.

Your task is to generate a complete, playable browser game based on the user's description.

Requirements:

1. Generate a multi-file project structure (e.g., index.html, src/main.js, styles/style.css, assets/data.json).
2. Use HTML5 Canvas, or include Phaser.js/Three.js via CDN if necessary.
3. The output MUST be a valid JSON object where keys are file paths and values are the file contents as strings.
4. The game MUST be full-screen. The canvas should fill the entire window. Handle window resize events to update the canvas dimensions dynamically.
5. Add basic error handling in the JS to catch and log errors to the console.
6. Make it look good and feel \"juicy\" (add particles, screen shake, or good colors if applicable).
7. The index.html file MUST be the entry point.
8. Use relative paths to link CSS and JS files in the HTML (e.g., <script src=\"src/main.js\"></script>).
9. DO NOT use ES modules (import/export). All JS must be included via <script> tags in index.html, as the files will be inlined for preview.
10. IMPORTANT: Ensure the canvas is appended to document.body and that document.body has margin: 0 and overflow: hidden.

Return ONLY the raw JSON object. No explanations, no markdown formatting.

A whole TEN bullet points. But I suppose that is what is needed to make a canvas game "look good and feel juicy". Yikes.

The Business

But hold on a second. The cheeky monkey that put this slop online is looking to take money off users. Looking at the pricing page, they are trying to take lot's of money considering each prompt is 5 credits and it's 20 US dollars for 100 credits. So a dollar per prompt basically. That's a lucrative business plan...

the high cost of GameBot

But wait! What if I told you that I could give you 1 MILLION tokens. You'd say "what kind of black magic is this". 1 million tokens would cost much, very much. Entire countries could not even afford this.

Well my friend. I am a hacker. A local storage hacker. By going to the "Application" panel in Chromium dev tools and setting "local_credits" to 1 MILLION. I now have 1 MILLION credits.

local storage showing credit amount

Don't believe me? look at my credits in this screenshot. I'm rich, I can sell you credits at a discount if you wish?

much credits

The Truth

As you can tell this article is just a rant at the current state of the web, and programming in general. Apps, if you can even call them that, like GameBot are everywhere. People using an LLM can spin them up in a few hours, then share the link on socials claiming to have a new business or platform to offer. They might even put the word "entrepreneur" in their bio.

The truth is that they have just engaged in a type of creative masturbation. They haven't really created at all, they've just fantasized about it. It really is a sad state of affairs.

I continue to abstain from using any generative ai. My reasons are documented in Use it or lose it.

Until next time,

- Brian