Here are five game development prompts stripped of the usual fluff. These are designed to test actual engineering skills—performance optimization, state management, and physics logic—rather than just visual flair. They cover 2D and 3D scenarios using standard web technologies.
1. Infinite Runner with Object Pooling (Phaser 3)
Build a side-scrolling infinite runner where the player character stays fixed on the X-axis while the world moves left. The core technical requirement is strict memory management. You must implement an object pool for obstacles and ground tiles. Do not create or destroy sprites during gameplay; instead, recycle them when they leave the viewport. Use Arcade Physics for gravity and collision detection. The game should increase speed over time. If the frame rate drops below 50 FPS due to garbage collection spikes, the implementation is considered failed. Use simple geometric shapes for assets to keep the focus on code structure.
2. 3D Voxel Editor with Raycasting (Three.js)
Create a browser-based voxel editor similar to a simplified Minecraft creative mode. The scene should render a grid of cubes. Implement raycasting from the camera center to detect which face of which cube the user is pointing at. Left-click adds a cube, right-click removes it. The challenge is performance: the scene must handle at least 5,000 active cubes without lag. Use InstancedMesh for rendering identical geometries efficiently. Do not use individual Mesh objects for each block. Include a basic undo/redo stack that stores only the delta changes (add/remove coordinates) rather than cloning the entire scene state.
3. Real-Time Multiplayer Snake (Socket.io + Canvas API)
Develop a multiplayer Snake game where multiple players compete in the same arena. The server must be authoritative: it calculates positions, collisions, and food spawning. Clients only send input directions (up, down, left, right). Implement client-side prediction to smooth out movement between server ticks, preventing jitter. If the server says you died, you die, even if the client predicted otherwise. Use WebSockets for communication. The visual layer should be a raw HTML5 Canvas implementation, no game engines allowed. Handle disconnections gracefully by removing the snake from the board without crashing the room.
4. Physics-Based Puzzle Solver (Matter.js)
Build a puzzle game where users draw lines to guide a ball into a target zone. Use Matter.js for the 2D physics engine. The user can draw static bodies (lines/polygons) that become part of the simulation upon mouse release. The ball must react to gravity and bounce off user-drawn structures. The technical hurdle is constraint stability: ensure that complex structures drawn by users do not explode or glitch out due to overlapping colliders. Implement a "reset" function that clears dynamic bodies but keeps the static environment. Add a step-by-step solver hint system that highlights the optimal path using a simple A* algorithm on a hidden grid.
5. Rhythm Game with Audio Synchronization (Web Audio API + React)
Create a vertical scrolling rhythm game where notes fall towards a hit line. The critical requirement is precise audio-visual synchronization. Use the Web Audio API schedule events ahead of time rather than relying on requestAnimationFrame timestamps alone, as rendering can drift. Notes must appear exactly on the beat. Implement a scoring system based on timing accuracy (Perfect, Good, Miss). The game must handle background tab throttling: when the user switches tabs and returns, the audio and visuals must resync automatically without skipping beats. Use generated sine waves for audio to avoid external asset dependencies.
These prompts force you to deal with the hard parts of game dev: memory leaks, network latency, physics stability, and timing precision. No particle effects or shiny shaders required—just solid, working mechanics.