🏠 Home πŸ‡΅πŸ‡± Polski πŸ‡¬πŸ‡§ English

πŸš€ "GEMINI SHOOTER" by AI

or: how the GitHub AI Agent got jealous of its colleague Gemini

← Back to homepage

If you had asked me, "what happened on Friday, November 28th?" β€” I wouldn't be able to tell you β€” just one of those days when I found time to sit with my projects, maybe relax a bit after work while listening to a "freetalk" on Zoom of AtariOnline β€” and that's it.

Well, maybe one thing was worth noting...

A few days earlier (on Wednesday, 11/26/2025), Nosty's article "AI wrote an Atari game" appeared on AOL β€” a hot topic, probably interesting (more or less) for each of us, hotly discussed on Zoom, especially in the context of "what productions await us soon?".

It was interesting to me too β€” very much so. Because for at least a few months I've been "training" different "AyaYes" with threads about Atari and writing code for it... unfortunately, still without success. To the point that I don't remember how many times I shouted some unflattering epithets at the screen.

And then suddenly Nosty shows something "written" by AI that works.

I delved into the article β€” the deeper into the forest, the more trees...

Aha. Gemini kept making mistakes. But it was already doing better than in previous versions.

Aha. The code was β€” to put it simply β€” just "stupid". If it weren't for Nosty, nothing would have come of it...

Aha. There were more corrections than actual code writing by AI... But here it is β€” the first working (after many corrections) proof that AI-assisted programming on the Atari platform β€” works.

And such a big thorn in... my head: "damn, you've been sitting with this AI for so long, you have all these configurations written out, so many different approaches practiced β€” and still nothing has come of it!*" (* β€” which would be publishable, of course).

When after a few hours of sitting on Zoom fatigue made itself known, and my body began to demand sleep, with my last strength I typed a simple prompt to my Agent:

https://atarionline.pl/v01/index.php?ct=nowinki&ucat=1&subaction=showfull&id=1764173674

Read the article content β€” it is located in an HTML table, starting from the line containing: "AI napisaΕ‚o grΔ™ Atari", and ending with the line containing "2025-11-26 17:14 by Kaz". Analyze all materials contained in this description β€” including graphics, screenshots and the final result saved in a YouTube video. Create an equivalent of this game development, generated by user Nosty with Gemini 3 Pro β€” in MadPascal. You must operate using MadPascal and the knowledge of Atari 8-bit infrastructure as a professional developer for the 800XL/65XE platform. Rely on literature "De re Atari", "Altirra Hardware Manual", "Atari Programmer's Guide by Wojciech Zientara" and available MadPascal examples and sources on GitHub, e.g. https://github.com/tebe6502/Mad-Pascal The end result must be a game for Atari 8-bit as described in this article. Do not limit yourself; use any possible resources to accomplish this task correctly. Create a method of code control and verification by comparison with other Atari 8-bit programs.

I knew β€” I was sure that "for sure" β€” NOTHING.WILL.COME.OF.IT.

Zrzut ekranu konwersacji z AI

I went to sleep, and the agent started grinding...

"Yeah, yeah... think away β€” think away. Sooner a flower will grow on my forehead than you'll give birth to something working..." β€” And I forgot about that prompt for a good few days β€” actually for the whole next week...

December 3rd came. I found some time to fire up my personal computer and I don't even remember what I was checking on GitHub... accidentally I noticed a "strange" title in the AI agent's task column: "Gemini Shooter" β€” "Lord of what the heck" β€” I thought, intrigued, opening the thread... "Oh! There is even an XEX! Heh, heh, heh"

Agent thinking...

I opened it. Loaded the XEX into Altirra. I was about to deep laugh, because my eyes saw garbage:

Title screen

"He screwed up, for sure!" β€” I thought β€” "But wait! IT RESPONDS!" β€” I pressed fire and the game started working!

Before my eyes appeared a screen with aliens rushing at my ship, moving stars...

Game screen

After losing, what I assumed was the final screen loaded. After pressing fire again, you could play from the beginning again... I understood that these "streaks" β€” which I initially took as program launch garbage β€” were nothing else but ATASCII text rendered on ANTIC: the agent didn't know it had to remap the character set to ANTIC to display them correctly!

I spent the next two hours picking my jaw up off the floor.

On the PTODT chat, there remained a trace of this in the form of files that the Agent spat out and a short note:

{here the screenshot you see above}

Gentlemen β€” I'm in shock. I'll admit, I typed in the prompt, watched for a bit as the agent started working β€” thought to myself: "nothing working will come of it anyway". Today, after a few days, I dig myself out of the backlog, I launch the fork, I laugh "heh, heh heh - he even generated XEX" - I launch it... and my jaw drops...

my prompt was:

{and here the content of the prompt you already know}

[..]

this is the result of the first iteration β€” without me touching the keyboard...

On St. Nicholas Day I sat down with the code that the AI spat out β€” clean code, like a dream β€” maybe it could use a bit of optimization, but for a prototype β€” really nicely written!

The corrections boiled down to what I thought β€” that ATASCII character strings needed to be converted to ANTIC (TeBe, the "tilde" in MadPascal is brilliant!) plus displaying results on screen (also shifting in the screen codes) and correcting the left-right direction response (it was reversed, also I added "screen wrapping").

You can see the result (in the corrected version) here: https://mrcin-maw.github.io/GeminiShooter/index-en.html (yes, this webpage, along with the instructions, was also generated by the same agent).

Final game

Finally, I might add that the AI Agent that generated this game is the commercial GitHub AI β€” as Galu checked: "it's Sonnet, the default model in Claude Code" β€” on the screenshot he added, you could read:

"Currently, Copilot coding agent uses Claude Sonnet 4.5".

Informacja o modelu AI

Why is this event so amazing?

Aside from the fact that the Agent wrote a working application, it also:

and all this without any supervision or operator guidance!

It would be appropriate to summarize at the end β€” yes, this is derivative work.

Yes, it's gathering X (N) elements into a pile and putting them together β€” but already so free of errors that β€” as you can see β€” it's suitable for "direct use".

I wish you pleasant AI assistance β€” keep your fingers crossed, it worked once β€” you feel like more.

This time already under control and with operator support :-).

PS. In a 128KB emulator, because... something is being created ;).

And for dessert β€” the course of the Agent's "thinking" β€” in the file "geminiShooter_deduction.rtf".

Author: MrCin/MaW

(No AI was used to write this story)