A verbatim author-posted prompt for building a complete playable Three.js browser arcade with separate GLB hardware assets, interactive 3D transitions, three cartridge-based games, responsive controls, and accessible fallback behavior.
A starting brief based on the creator's public project, not a verbatim original prompt. Your result will vary.
Creator notes
Build a complete, playable browser arcade called “Playroom,” with a nostalgic late-1980s hardware aesthetic and a restrained, contemporary editorial interface.
3D arcadeThree.jsbrowser gameGLB assetsinteractive 3D sceneSnakeBreakoutBlocks
The prompt
Build a complete, playable browser arcade called “Playroom,” with a nostalgic late-1980s hardware aesthetic and a restrained, contemporary editorial interface. Use Three.js for rendering and load separate GLB assets for the CRT monitor, console unit, controller, and game cartridges. Deliver a working experience, not a static mockup.
Art direction: use a warm off-white background, aged ivory plastic, charcoal details, muted sage green, dusty terracotta, and faded blue. Combine Space Grotesk headings with small DM Mono labels. Add thin dividing lines, generous whitespace, subtle technical annotations, and compact navigation. Avoid neon cyberpunk styling, glossy dashboard cards, and excessive gradients.
The homepage should resemble a carefully arranged product photograph. Place the CRT prominently toward the right, the console toward the left, an upright cartridge seated securely on the console, and a controller in front. Connect the devices with curved cables that meet their actual sockets. Use soft directional lighting, believable contact shadows, rounded edges, and slightly rough plastic materials. Prevent intersections between objects.
Give the homepage a slow, cinematic side-to-side orbit. Allow users to drag to rotate the view, then smoothly resume the idle movement. Add restrained, slowly traveling data pulses around selected hardware details. The CRT should display a looping pixel-art standby scene with a small mascot, subtle scanlines, and “PLAYER ONE” typography. Use the supplied yellow T and white V logo accurately on mascot faces.
A prominent “POWER ON” button, or clicking the console scene, should begin one continuous transition. Ease the camera toward the CRT screen, introduce an animated data stream, and gradually expand the scene to cover the entire viewport. Cover the top and bottom edges throughout. Reveal the cartridge collection through a smooth dark-to-light transition, without a suddenly appearing overlay or abrupt camera jump.
The collection contains three distinct upright cartridges: sage Snake, terracotta Breakout, and blue Blocks. Each has crisp cover typography and a small animated mascot perched above it. Use subtle bobbing, hover lift, and gentle tilt. Support both clicking the 3D cartridges and accessible text buttons below them.
Each selection opens a playable game interface. Snake includes food chains and timed bonus fruit. Breakout includes multiple brick layouts and paddle or multiball power-ups. Blocks includes a next-piece preview, landing ghost, and line-clear scoring. Provide clear instructions, scores, pause, restart, and return navigation. Support keyboard controls and touch buttons, with local best-score persistence.
Keep screen content and cartridge labels as separate runtime textures so text remains sharp. Preserve named model parts for interaction and mascot animation. Include loading feedback, a usable fallback if 3D assets fail, responsive layouts, visible keyboard focus, and reduced-motion support. Organize the project cleanly, verify all three games and transitions, and make it ready for GitHub and Vercel deployment.
How to use this prompt
01
Start with the right workspace
Open your preferred coding assistant or 3D tool. Use the model shown on the example as a starting point, and check any linked project for setup instructions.
02
Choose one thing to change
Swap the subject, art style or setting. Keep the camera and interaction clear. Build a small version first, then refine one detail at a time.
03
Give the scene its own assets
For a custom character or prop, create a 3D model from a short object description or reference image, then bring it into your project.
Previews belong to their respective creators. Check the original source and project license before reusing code or assets.