Top
Best
New

Posted by vbtechguy 4/7/2025

Show HN: Atari Missile Command Game Built Using AI Gemini 2.5 Pro(missile-command-game.centminmod.com)
A modern HTML5 canvas remake of the classic Atari game from 1980. Defend your cities and missile bases from incoming enemy attacks using your missile launchers. Initially built using the Google Gemini 2.5 Pro AI LLM model.
136 points | 140 commentspage 2
Oras 4/11/2025|
Using `Tab` out of all the keyboard keys is such a weird option!

What was the idea behind this choice?

nottorp 4/11/2025||
Curious... if anyone can read the source fast...

Are the game state updates and input coupled with the frame rate, as in most beginner game development tutorials out there, or did the "AI" do the right thing and decouple them?

vbtechguy 4/12/2025|
Currently it's coupled. But thanks to your question, will look at decoupling it at a later time :)
kenjackson 4/11/2025||
What prompt did you use and how much did you have to code on your own?
kbouck 4/11/2025||
Probably quite a few prompts.

Should we be checking in our prompt history into version control as a kind of source code or requirements spec? Seems prompt revision and improvement would be valuable to keep a history of.

hnfong 4/11/2025||
It's not even that. Those showcasing the power of LLMs to code up a whole project should be disclosing their prompts. Otherwise it's quite meaningless.
ryao 4/11/2025||
The responses to those prompts are not independently reproducible without the weights, the seed and software used to run the LLM, and in many cases, none of those are available.
cbm-vic-20 4/11/2025||
So that's all part of the "source code" for projects like this.

It's amusing that on one hand, there's been a push for "reproduceable builds", where we try to make sure that for some set of input (source code files, configuration, libraries), that we can get an identical output. On the other hand, we have what we see here where, without a huge amount of external context, no two "builds" will ever be identical.

tpmoney 4/11/2025||
Unless the ai model is being run at build time to generate inputs to the build I disagree that the model, its prompts or its weights and seeds constitute part of “the build” for reproducibility purposes. Static source files generated by an AI and committed to source control are indistinguishable from a build perspective by source files generated by a human and committed to that same source control. We (reasonably) dont consider the IDE, the auto-complete tools or the reference manuals consulted to be requirements for a “reproducible” build and I don’t think the AI models or prompts are any different in that respect. They might be interesting pieces of information, and they might be useful for documenting intent of a given piece of code but if you can take the same source files and run them through the same compile process and get the same outputs, that’s “reproducible”.
0xEF 4/11/2025|||
Not OP, but if you are asking for your own reference or projects, I've found this "prompt flow" to be very effective:

https://harper.blog/2025/02/16/my-llm-codegen-workflow-atm/

The reasoning models seem to respond quite well to the "ask me one question at a time, building on my previous answer" for the sake of coming up with a solid blueprint for the project, then build from there. I used this method to make a nice little inventory/rma tracker for my job using Rails 8, and it got me MVP in a matter of hours, with most delays being just me refining the code on my own since some of it was a bit clunky. I used o3 mini to generate the initial prompts, then fed those to Claude.

The hallucinations/forgetfulness was relatively minor, but if I did not have prior Ruby/JS knowledge, I doubt I would have caught some of the mistakes, so as much as I was impressed by the method outlined in the blog post, I am not at all saying that someone with no knowledge of the language(s) they wish to use is going to create a great piece of software with it. You still have to pay attention and course correct, which requires a working understanding of the dev process.

pkaye 4/11/2025||
Not the OP but I did something similar for a breakout style game. I just interactively provided details specifications like there is a ball, paddle, bricks, powerups, what they look like and behave, how collision is handled, etc. For example, if you get a multi-ball powerup, it will add additional two balls in flight. If you get a shooter power up, the paddle will be able to shoot bullets for 10s. I didn't even have to write any code to get exactly what I thought up.
kbouck 4/11/2025||
Did same but for Asteroids. Had a working wireframe version after only a couple of prompts! I think using the term "Asteroids" in my original prompt was a bit of cheat/shortcut.

My lessons learned for prompting were to have project broken down into clearly defined modules (duh...), and to constantly feed the latest module source back in as context along with the prompts. This helps ground the responses to only adjust the code related to the prompt, and to not break stuff that was already working.

jansan 4/11/2025||
> Initially built using the Google Gemini 2.5 Pro AI LLM model.

What does this mean?

vbtechguy 4/12/2025||
Used https://gemini.google.com Gemini 2.5 Pro canvas mode for Gemini Advanced subscription account to ask it to build Atari missile command game in HTML5. Tweeted about it at https://x.com/George_SLiu/status/1906236287931318747 almost one shotted but after I passed level 1, it jumped to level 182 and pulverised my cities and bases LOL
icf80 4/11/2025||
my guess: they started with some code generated by Gemini, but they had to modify it in order to get what they wanted.
m3kw9 4/11/2025||
Is a lossy compressed game extracted with lossy error correction
Tistron 4/11/2025||
After some levels I could just press sonic wave 3 times and win without even doing the clicking. Had enough money to replenish. After winning level 29 nothing more happened.
echoangle 4/11/2025||
Does missile command not have friendly fire? Can you really detonate missiles directly over your own bases? Currently, it seems pretty easy.
Arisaka1 4/11/2025|
As someone who grew up with an Atari, the difficulty was coming from you having to rotate the turret for target priority. Turning it into a touch and shoot (I only tested it on my phone) removes that portion of the game.
kookamamie 4/11/2025||
The background is animating far too fast and is very noisy to look at. Win/Chrome/9950x3D/RTX5090.
vbtechguy 4/12/2025|
fixed :)
indigodaddy 4/11/2025||
How/why are random sites/apps hosted on the centminmod.com domain?
vbtechguy 4/12/2025|
Because the game is hosted on Cloudflare Pages/KV/Workers and domain is already using paid Cloudflare Workers so no additional subscription costs :)
indigodaddy 4/12/2025||
Ok sure, but/so you are the centminmod dude then? Eg the WordPress cli stack thingy? I guess I'm just confused lol
vbtechguy 4/13/2025||
Yes, same dude. I develop the Centmin Mod LEMP stack :)
indigodaddy 4/13/2025||
Got it! Ok makes sense now, I thought it was just some random person using your domain to publish a webpage:)
jrvarela56 4/11/2025|
That was fun, thank you!
More comments...