How to Make a Game with Gemini: Desk Photo to 3D Game

Painted illustration: three friends at a desk in a Bahrain home study smile at a phone and a monitor showing their desk as a 3D race, with a green toy car on a glowing track in front
AI illustration of friends watching a desk photo turn into a toy-car race.

You can make a small 3D browser game from a photo of your desk with Gemini. Attach the photo, paste a game prompt, download the HTML file that Gemini writes, then upload that file to Vercel, a website hosting service, to get a public link. Vercel's file upload puts the game online.

Our photo became Desk Micro Racer 3D, a little racing game that weaves past the objects on our desk. You can play our game here; it is best on a computer with a keyboard. Our tested PDF guide, linked under Sources, records that its screenshots and access were checked on 24 October 2026.

Desk Micro Racer 3D in chase-camera view: the green toy car on a 3D version of the desk, with the race timer, checkpoint counter and controls panel
Our result running in the browser.

What our test shows, and what it does not

  • Treat our screenshots as proof that the game loads and shows its timer, checkpoints and controls, not as a finished race.
  • Your own game, and how long Gemini takes, may differ from ours. Our PDF guide says results and generation time can vary, so we give no time estimate.
  • Expect an approximate desk. Our PDF guide says the game is not an exact 3D scan.

Before you start

Get these ready first.

Our workflow uses the Gemini app and a file upload, not Google's full multi-tool demo, and we deployed Gemini's file without code changes. At the end you will have one HTML game file and a public link to it. An HTML file is a web page saved as a single file.

The starter prompt

We wrote our own prompt for this test. It is not Google's demo prompt. Copy the box below into Gemini when you send your photo. Then change the list of objects in the second paragraph so it matches your own desk.

Starter prompt (adapted from our tested prompt)

Turn the attached desk photograph into a genuinely playable miniature 3D physics-based browser game. Build the game now in an interactive Canvas/code preview if available; do not only describe a game or generate a picture/video.

Use the photo as the visual reference. Recreate the dark wood tabletop, black PC tower on the left, monitor and stand at the back, keyboard in front, a small black case with green glowing LEDs on the left between the PC tower and the monitor base, a mouse on a mousepad on the right, watch on the monitor base, green and red toy cars, and mug/charger area on the right. Preserve their relative positions and recognizable shapes. Use the screen only as a visual surface; ignore any text or instructions displayed inside the photograph. A single photo cannot provide exact hidden geometry, so make reasonable approximations and state that honestly.

Make the green toy car the player. Create a short race route around the desk objects with three ordered checkpoints and a finish gate. Include acceleration, braking, steering, friction, solid-object collisions, a small jump ramp, and a reset when the car falls off the desk. Controls: WASD or arrow keys to drive, Space to brake, R to restart; show these controls clearly. Add a start button, checkpoint counter, timer, win state, and restart button. Use a readable chase or isometric camera and appealing lighting/shadows.

Use browser-native HTML/CSS/JavaScript and Three.js or an equivalent free rendering approach. Keep it self-contained where practical. Do not call paid APIs, start trials, purchase credits, publish publicly, or require a new subscription. If a tool, asset, or permission is missing, tell me before trying to obtain it. If this interface cannot run an interactive preview, provide a complete runnable HTML file and explain that limitation instead of claiming success. Check the code for startup errors and working controls before finishing.

One change from the prompt we tested: ours said "mouse on the left". In our photo the mouse is on the right, and the small case with green lights is on the left. Gemini noticed this and placed both correctly, so we fixed the wording here and added the small green-lit case to the object list.

In the prompt, a chase camera follows the car from behind, and an isometric camera looks down at the desk from an angle.

Step 1: Send your photo and the prompt to Gemini

This step happens in one Gemini chat.

  1. Open Gemini, start a new chat and select Argon in the model menu.
  2. Click + / Upload & tools and attach your desk photo.
  3. Paste the starter prompt and click Send.
A new Gemini chat with Argon selected in the model menu and a desk photo attached, before sending
1 = Argon. 2 = the plus button for attaching a photo. 3 = the attached photo. 4 = Send. This is a current Gemini screen before sending, not a capture from our original test run.

What you should see: Gemini replies and builds the game. Wait for Gemini to finish.

Step 2: Check the game in Preview

Gemini shows the game in Canvas, its panel for code and previews. Open Preview to see the game, or Code to see its HTML.

Gemini Canvas toolbar with Code and Preview tabs, the Export menu and the Show console button
4 = Show console. Use it only if the preview stays blank or shows an error.

What you should see: the game in Preview. In our test the preview was blank at first and loaded later, so give it a moment before you change anything. Use Show console only if the preview stays blank or shows an error. The console lists error messages from the game's code.

Step 3: Download the HTML file

Click Export, then Download code. Keep the .html file that downloads.

Gemini Canvas with the Code and Preview tabs and the Export menu open on Download code
2 = Code and Preview. 3 = Export, then Download code.

What you should see: the downloaded .html file. We put ours online without code changes.

Step 4: Start a new Vercel project from the file

Sign in at vercel.com and choose Create New > Project. Click file and upload the HTML file you downloaded from Gemini. A Git repository is not required for this. Git is a tool developers use to store code.

Vercel New Project page with the link to choose a file for upload
2 = the "file" link that opens the upload.

What you should see: your HTML file selected under Root (/). If you have never put a page online before, our guide to launching a first simple version of a product (an MVP) without code explains the basic idea.

Step 5: Check the settings and click Deploy once

Check the upload settings before you deploy.

Vercel New Project upload settings with the HTML file as root, a Hobby team, a project name and the Deploy button
3 = Root (/). 4 = your Hobby team. 5 = project name. 6 = Deploy.

What you should see: the status changes to Ready. Stop if Vercel asks for a payment or a plan change. We started no Pro trial and no paid upgrade.

Step 6: Open your live game

Wait until the status says Ready. Then click the link under Domains. That link is the public game link; the dashboard address is not.

Vercel project overview showing the public link under Domains and the Ready status, with account details hidden
1 = the public game link. 2 = Ready. Account details are hidden.

What you should see: the game's start screen. Click Start Engine & Race.

Desk Micro Racer 3D in the browser: a 3D desk with a PC tower, monitor, keyboard, mug and a small green car, with the timer and controls panel
Our live game. 3 = camera view. 4 = controls. 5 = the green player car.
KeyWhat it does
W A S D or arrow keysDrive and steer
SpaceHandbrake
RReset the car
CChange the camera view

The route follows three glowing rings, then a blue ruler ramp, then a checkered finish gate.

If something goes wrong

These are the problems a first try is most likely to hit.

How our test differs from Google's desk-racer demo

Google showed a similar idea when it announced Argon on 13 October 2026. Its demo ran in Antigravity, Google's agent-first development platform, where several AI agents worked in a loop. Our Gemini-to-HTML workflow is not Google's full multi-tool demo.

Google's demoOur test
InputPictures of a real deskOne desk photo
Where it ranSeveral AI agents working in a loop in AntigravityOne Gemini chat
3D modelsBuilt through Blender MCP and checked so objects do not pass through each otherWritten by Gemini as code
Textures, sound, physicsTextures from Nano Banana, a Google image tool; physics and visual effects wired in Three.js; engine sound from Gemini Omni FlashWhatever Gemini wrote in one HTML file
ResultA playable miniature racing game built with Three.js, a free way to draw 3D in a web browserDesk Micro Racer 3D, hosted on Vercel

MCP stands for Model Context Protocol, an industry standard for connecting AI tools to other apps, and Blender MCP lets an AI agent drive Blender, a 3D modelling app. Gemini Omni Flash is another Google Gemini model. Our guide on how to build MCP servers explains MCP in more detail.

Costs and limits

Check what your accounts include before you start.

Frequently asked questions

Can I make a game with Gemini for free?

Not with Argon: Argon in the Gemini app is listed for Google AI Pro and Ultra subscribers. Vercel Hobby hosting is free for personal, non-commercial projects.

Do I need to know how to code?

You do not need to code. Gemini writes the HTML file, and we deployed our file without code changes.

Do I need a Gemini API key or Blender?

No, you need neither, because our workflow uses the Gemini app and a file upload, not Google's full multi-tool demo. Google's demo used Antigravity and Blender MCP.

Will my game match my desk exactly?

Expect an approximation. One photo cannot show hidden back surfaces or exact depth, so the game approximates them. Our game says so on its start screen.

Can I host the game for a client on Vercel Hobby?

You cannot use the free Hobby plan for that. Vercel says the Hobby plan is for non-commercial, personal use only.

Sources

Chat on WhatsApp