I want you to build a complete, highly polished, and fully playable game in Three.js using Codex with GPT-5.6 Sol Ultra.
This must be a real game, not a static 3D showcase, a model viewer, a technical demo, a video, or a scripted animation pretending to be gameplay.
The game must be an interactive 3D experience centered around a functional Game Boy Advance, a physical game box, a removable cartridge, and a playable recreation of Super Mario Bros running directly inside the Game Boy Advance screen.
Use the provided reference images as the main visual targets:
- Image 1: the Game Boy Advance
- Image 2: the game box
- Image 3: the game cartridge
- Image 4: the visual and gameplay reference for the playable Super Mario Bros game
Use $img2threejs to recreate the Game Boy Advance from image 1, the game box from image 2, and the cartridge from image 3 as faithfully as possible.
The proportions, silhouettes, colors, materials, textures, buttons, screen, seams, labels, cartridge slot, box artwork, cartridge shape, and all visible details must closely match their respective references.
Do not create generic approximations.
The final result must feel like a complete interactive game built around the physical console.
At the beginning of the game, the powered-off Game Boy Advance and the closed game box must be placed inside a polished 3D environment.
When the player presses the ON button located at the bottom-left of the console, the button must physically move, the console must turn on, and an animated startup sequence must play directly inside the Game Boy Advance screen.
If no cartridge is inserted, the screen must display a clear message indicating that no game cartridge has been detected.
The message must appear inside the physical console screen, not as an external HTML notification.
To obtain the cartridge, the player must click the game box.
The game box must physically open using a proper hinge animation. Do not simply hide part of the model or instantly replace the closed box with an opened version.
Once the box has opened, the cartridge must be revealed and then appear on the surface directly in front of the box using a believable physical animation.
The player must then be able to manually pick up the cartridge, move it through the 3D scene, bring it toward the Game Boy Advance, align it with the cartridge slot, and insert it into the console.
Do not automatically teleport the cartridge into the console.
The player must genuinely pick it up, move it, orient it, align it, and release it in the correct insertion area.
The cartridge interaction must include:
- Mouse and touch manipulation
- Hover and selection feedback
- Proper collisions
- The ability to drop and pick it up again
- A clearly defined insertion zone
- Subtle orientation assistance near the slot
- Precise snapping
- A convincing insertion animation
- No visible clipping through the console
- A clear state showing whether the cartridge is inserted
Once the cartridge has been correctly inserted and the console is powered on, the startup animation must play and the playable Super Mario Bros game must launch directly inside the physical Game Boy Advance screen.
The Game Boy Advance screen must be a real dynamic render surface integrated into the 3D model.
Do not place a floating HTML canvas over the console.
The game must remain correctly aligned with the screen while the camera moves, rotates, or zooms.
Build a genuine playable recreation of Super Mario Bros using image 4 as the main visual and gameplay reference.
Do not use image 4 as a static background.
Do not use a prerecorded video.
Do not fake the gameplay with scripted animations.
The game inside the console must contain real controls, movement, collisions, enemies, blocks, scrolling, scoring, death, restarting, and level progression.
Reproduce the visual presentation and gameplay as faithfully as possible, including:
- Pixel-perfect rendering
- Mario’s appearance
- Idle animation
- Running animation
- Jumping animation
- Falling animation
- Death animation
- Responsive horizontal movement
- Acceleration and deceleration
- Running
- Jump height and duration
- Gravity
- Air control
- Ground collisions
- Platform collisions
- Brick blocks
- Question blocks
- Pipes
- Coins
- Goombas
- Enemy movement
- Enemy collisions
- Stomping enemies
- Damage and death
- Side-scrolling camera
- Clouds
- Hills
- Bushes
- Ground tiles
- Gaps and pits
- Level layout
- HUD
- Score
- Coin counter
- World indicator
- Timer
- Lives
- Death and restart behavior
- Level completion
- Retro sound effects
- Retro music
- The overall responsiveness and game feel of Super Mario Bros
Use image 4 as the main visual quality target for the level, tiles, sprites, proportions, palette, composition, and screen presentation.
Use $generate2dmap, $generate2dsprite, and any other relevant available skills to create the level map, tiles, characters, animations, enemies, blocks, backgrounds, interface…