Super Glop Arcade by loveapplegames

[raw]
made by loveapplegames for Ludum Dare 59 (JAM)

* TRIGGER WARNING: AI content ahead! Not recommended for AI haters or the faint hearted!*

UPDATE: I made a second game with 100% AI generated code called "Generative Gungeon" (see the "cooldown game" link below).

UPDATE: a postcompo version is now available! It features: gameplay fixes, (AI generated) particles, (non-AI generated) sounds.

In the super glop arcade, all game code is 100% AI generated, while the graphics are 100% hand drawn!

Controls: - W,S,A,D - move player - Cursors or L - shoot

This is an experiment to create games with 100% AI generated code, using a special AI based software development method. You have precise control over the result than with the usual vibe coding approach, but without requiring you to write code. This involves splitting the software into components, then using the AI as a "compiler" to generate code for each component, from prompts structured like source code. See also my VSCode Webcogs plugin.

To create the games, I used two types of components: map generators and entities. A map generator defines where tiles and entities are placed, then you can generate behaviour for each entity type placed on the map separately.

I tried creating minigames with a variety of game mechanics, to see how far I can go with this method.

Map generator prompt example:

"Create a function that generates a cave with enemies and a player. Each tile is either: wall (&), empty (.), enemy (C), player (Q). Each empty tile should be reachable. The player should be placed in an empty space. The enemies should be placed along the cave walls."

Entity prompt example:

"Create a player that moves in all directions with the left stick, and shoots in all directions with the right stick. A bullet disappears when it hits a wall, and removes the wall tile. Player movement is inertial. Dies when it hits an enemy or a wall."

I spent most of my time adapting and documenting my game library for use with AI, while also enjoying my vacation in Seville! So I didn't get round to particles, backgrounds, or sound.

During development, I did 392 requests to GPT 5.4, totaling 260408 output tokens and 636280 input tokens, with a total cost of Eur 4.59 (51 cent per game on average).

image-grid.png

Ratings

Overall 853th 1.786⭐ 30🧑‍⚖️
Fun 849th 1.667⭐ 29🧑‍⚖️
Innovation 851th 1.722⭐ 29🧑‍⚖️
Graphics 778th 2.074⭐ 29🧑‍⚖️
Humor 670th 1.477⭐ 24🧑‍⚖️
Mood 836th 1.696⭐ 25🧑‍⚖️
Given 10🗳️ 11🗨️

Feedback

udfblr
Apr 21st · 12:04 UTC
A lot of text in the description...

What a game! It looks like an old website collection of arcade web games. Fun! Good practice of using AI
bobanko
Apr 21st · 13:45 UTC
Interesting game. But gameplay a little bit hard to understand. But this is a solid work! Wait fow new part
fabelay
Apr 25th · 10:13 UTC
Thats a nice base for an arcade game. The mechanics were somewhat clunky and often I didnt understand why I die or the starting conditions were weirdly all over the place (in the digger i often died within the first split second and other times I was disconnected from the other caves and I could take my time or the space invaders one where the ship shooted without me clicking at the beginning or the first shot being directly in my face without much time to start playing). The pixel art is very nice and with giving more love to every games mechanics it could become a great arcade compilation! And its 9 games for 1 jam! Thank you for your entry!

Also thank you for talking about your AI prompting strategy.
exofrenon
Apr 25th · 10:16 UTC
I guess this is more of a test-drive for your AI tools than an actual LD game submission, so I will leave some critique on that.

The games are relatively well-coded, in a sense that I did not notice any weird behavior or any bugs, so the pipeline you have built is quite-solid, I would imagine, based on the fact that you were able to generate 9 minigames in 2 days.

But the biggest problem is that they are extremely unbalanced. Every game I tested was simply too fast and hectic, to the point you couldn't really control the player to do what you wanted, and that felt quite frustrating. And for that I think a human in the loop is the solution. While the mechanics are there, the actual speed / acceleration / whatever you call it needs to be carefully finetuned by trial-and-error by a human to maximize fun, and while you are at it, you might realize that another extra mechanic might need to be implemented by A. For example, the AI might have modeled just the speed of the character and throught testing you find out that you also need to model acceleration into your equations, so you will have to go back to the AI do that and then test it again, and so on and so on...

Cheers, I hope to see another entry that is a little bit more polished.
Pavel Goncharov
Apr 25th · 11:11 UTC
Ok, I understand the game, but what about jam theme "Signal"?
🎤 loveapplegames
Apr 25th · 15:16 UTC
@exofrenon @fabelay thanks for your extensive feedback. The games were iteratively designed, though balancing takes a long time and the AI cannot help with that! Sorry you thought the games were too difficult / quirky, I think they are not worse than the last time I did something like this (8 games in one weekend without AI). I prompted each map and entity separately so they can be refined individually, and also gave the AI directions to parametrize each function so I could easily tweak them manually. There are still bugs/quirks in it (the player can be placed next to an enemy in the cave shooter and digdug, for example), but these are mostly not the AI's fault.

@pavel-goncharov I opted out of the theme because I didn't care for it.
Discomorphine
Apr 26th · 19:12 UTC
Opposite to the others, I believe, difficulty level is quite optimal (for arcades, that must be difficult (to demand coins from scholars))))

I had a lovely experience playing these games, but also it IS raw and, honestly, unindividual.

Good job with trying to optimize using of AI. It`s great if you have quality code architecture, but overall it still looks and plays like slop...

Have a good rest in Seville! ;)
digital bacon
Apr 27th · 06:17 UTC
A very basic collection of games. It would have been better if you'd focussed on just one game, and iterated over that.
woona
Apr 27th · 08:07 UTC
Good job! I tried out all of the games but didn't complete all of them because I think I already played all of them 25+ years ago. 😅

In some shooting games I couldn't figure out how to shoot, displaying control scheme would be nice, or just using the exact same control scheme in all of the games.
VenomousMouse
May 06th · 15:01 UTC
Cool idea for an arcade game. Nice work.
TheLastSlowpoke
May 08th · 11:10 UTC
Dude. You've got some insane projects in the oven. The Webcogs readme was a really fun read. This test ride was a success I think. The games didn't crash, bug out, they had a working victory condition etc. But strictly from a player perspective... they are honestly not much fun. Like two of the 9 games are somewhat playable - they're an actual test of skill, but simple and frustrating anyway. And like five of them I consider impossible, even with good rng. The Generative Gungeon is doing somewhat better - still frustrating, instant deaths on spawn etc., but has some interesting qualities like the map layouts and interactive elements. That out of the way... I still consider this a success for the framework. I'm thinking about how I was once trying to force an LLM to make a valid 4x4 sudoku grid and gave up. This is really impressive and it may lead somewhere very useful. I haven't a clue how on earth to think about this, but you may try to include some organized feedback input to the project, so you could playtest and complain about balance? I don't intuit well how it works, I'd love to see the "codebase" for these games. My biggest personal feedback for all of these games - I would love to be able to consistently move one cell at a time. I'm zooming past doors like crazy. I don't know if the generated code had to do anything with this, maybe it's a thing to consider in the cellular game engine of yours. That and/or slow everything down. Maybe it has variable speeds on different setups and I am just in a disadvantage? Crazy stuff from you again, glad I managed to check this out before the deadline ^^
🎤 loveapplegames
May 08th · 14:51 UTC
@thelastslowpoke Thanks for your extensive comment! As regards the gameplay balance, the AI generated code provides parameters like entity speed that allow easy tweaking. It does a reasonable stab at providing defaults, but balancing is something that only a human can do. Player movement is tile based, it moves one tile at a time. But the keypress handling is done in such a way that it reacts to a short tap, so it should be pretty precise. I guess the solution is to just slow down the player. BTW Gungeon was balanced according to my own tastes, while the arcade games are not so well balanced, because that takes a lot of time (the postcompo is better in that respect). Gungeon still has some rough edges, like enemies appearing too close to the player (that's actually a bug in the AI code), but the end result is not so much different from hand coded games in my experience. For a game made in one day, I am pretty happy with it. To get a better idea what the "source code" looks like, here are the prompt buildfiles for Gungeon:

http://tmtg.nl/ludumdare/ld59-cooldown/jgame-games/mazegame/webcogs/promptbuild_entities.json

http://tmtg.nl/ludumdare/ld59-cooldown/jgame-games/mazegame/webcogs/promptbuild_maps.json

http://tmtg.nl/ludumdare/ld59-cooldown/jgame-games/mazegame/webcogs/promptbuild_particles.json

If you install and enable the webcogs extension in VS code, you will see build buttons appear when you edit these files.