Appearance
Arcade › Royale Storm
Click the game above and it runs right here in your browser. No download, no installer, no account needed. conrado sandoval built it with Cinevva, so it works on a phone or a tablet too.
Nobody has said anything about Royale Storm yet. Play it, then tell conrado sandoval what you would add next.
Royale Storm was built by conrado sandoval with the Cinevva game creator: describe the game you want in chat, watch it get built, and play it in your browser minutes later.
Remix Royale Storm opens the real game in the creator and forks its actual files, chat and design doc, so you start from the code rather than from a description.
Cinevva's analyzer read this game's design doc and its source, then wrote the brief below. "Make your own" hands it to the game creator as your opening message, so you start from a real spec rather than a one-line idea.
Create a browser-based 3D first-person battle-royale game titled “Royale Storm,” using Three.js. The game starts immediately in a 200x200 green island arena surrounded by a large blue water plane. Use a bright sky-blue background with matching distant fog, soft ambient/hemi lighting, a warm directional sun, shadows, and simple low-poly/procedural scenery: about 300 small brown-trunk/green-canopy trees distributed across the island (leaving the central spawn clear) and about 80 gray low-poly rocks. The camera is a 70-degree perspective FPS camera positioned at the player’s eye height (1.6 units), with mouse-look through pointer lock; the player has no visible body in first person and a small white “+” crosshair at screen center. Make this a last-player-standing match with 100 total contestants: one player and 99 simple AI bots. Spawn the player at the center and bots at random positions across the island away from the center. Bots are simple low-poly humanoids made from a rectangular torso and spherical head, with varied muted colors. They wander within the map, avoid trees, chase and shoot the player when within 50 units, flee toward the storm center if outside the safe zone, open nearby loot crates, and remain within map bounds. Bots can be eliminated by player fire or the storm. When eliminated, remove them and show a brief red burst of eight small flying cube particles. The player wins when only the player remains; loses when health reaches zero. On match end, show a dark translucent full-screen overlay with either a gold “🎉 VITÓRIA REAL! 🎉” win title or red “💀 Eliminado” loss title, elimination statistics, and a “Jogar Novamente” button that resets the match. Implement player movement with WASD or arrow keys relative to view yaw, at about 5.5 units/second, jumping with Space using simple gravity and ground detection. Keep the player inside roughly 90 units from the map center and push the player and bots away from nearby trees. Mouse movement controls yaw and clamped pitch while pointer-locked; clicking the canvas requests pointer lock unless building. Left mouse held fires continuously, and right mouse is tracked/prevented as context menu. Include mobile support: show left and right virtual joysticks, a red fire button, jump button, and build button on touch devices. The left joystick moves, right joystick looks, fire shoots/builds, and jump jumps. Add four weapons with these exact gameplay characteristics: Pistol (15 damage, range 80, 300 ms fire rate, spread 0.04, 1 pellet), Shotgun (12 damage, range 30, 700 ms fire rate, spread 0.12, 6 pellets), Rifle (22 damage, range 120, 150 ms fire rate, spread 0.015, 1 pellet), and Sniper (80 damage, range 200, 1100 ms fire rate, spread 0.002, 1 pellet). Begin with only the Pistol available and 15 ammunition; use number keys 1–4 to select an owned weapon. Press R for reload (the original game exposes this control but has no separate reload behavior). Weapons use hitscan with distance falloff, directional random spread, and pellet damage divided across shotgun pellets. Player shots produce a brief yellow muzzle flash and semitransparent yellow tracer to the hit point; bot shots use a brief orange muzzle flash. Shots can be blocked by placed build pieces. The implementation should mirror the original’s practical behavior: ammo is displayed and loot grants ammo, but firing itself does not need a visible reload/ammo-consumption mechanic. Scatter 50 glowing yellow loot crates across the island, avoiding the immediate spawn. Each crate is a yellow cube with dark straps and a faint yellow glow. When the player is within 3 units, show the Portuguese hint “🎁 Pressione E para abrir baú”; press E to open the nearest unopened crate. Opening randomly grants one of the four weapons, adds 20–29 ammo for it, selects it, turns the crate gray, and removes its glow, with a temporary Portuguese notification such as “🎁 Rifle + munição!”. Bots within 2 units can also open crates and receive a random weapon. Implement the storm as a circular safe-zone system centered at the origin. Begin with a radius of 140 and wait 10 seconds before the first phase. Use these successive target radii and damage values: 140 radius/1 damage, 100/2, 60/3, 30/5, and 10/8. Each phase has a wait period and shrink period: 30-second wait plus 40-second shrink for phase 1, 25+35, 20+30, 15+25, and 10+20 for the final phase. During shrinking, interpolate the storm radius toward its target; every second, damage the player and bots outside the current radius. Display a temporary centered red warning “⚠ ZONA DE TORMENTA ⚠” at each phase transition. The minimap must show the storm circle in translucent red. Include a building mode toggled with B on desktop or the hammer mobile button. Building exits pointer lock while active. Show a bottom-center build panel with three selectable slots: 🧱 Parede (1), ⬜ Piso (2), and ⬆ Rampa (3); number keys select them while building. Hide the ordinary crosshair and show a small centered square build crosshair/placement indicator. Raycast from the camera center up to 20 units onto the ground, snap placement to a 1.5-unit grid, and show a translucent yellow blueprint preview that changes to green-valid or red-invalid feedback. Left click/touch fire places one piece if it does not overlap an existing piece and is not directly under the player. Walls are greenish wooden-looking 1.4 x 1.8 x 0.2 blocks, floors are brown/tan 1.4 x 0.15 x 1.4 slabs, and ramps are simple greenish 1.4 x 0.3 x 1.4 pieces. Placed pieces cast/receive shadows and block hitscan shots. Design the HUD as a clean, minimal Portuguese overlay on top of the 3D view. At the top center, show a dark rounded panel reading “☠ 0 | Vivos: 100,” with the kill count and alive count updated as contestants die. At top right, show a 120x120 bordered minimap with dark green translucent background: the player is a green center square with facing direction, living bots are tiny red squares, unopened crates are tiny yellow squares, and the storm boundary is a red circle. At bottom center, show a rounded health bar about 220x20 pixels with a red-to-green gradient and centered numeric health, starting at 100/100; health slowly regenerates at 0.5 per second when damaged but alive, while storm and weapon damage reduce it. At lower right show the selected weapon name and ammo text like “15 munição.” Use dark text shadows, translucent black panels, rounded corners, and responsive smaller HUD sizing on mobile. Use Portuguese labels and notifications throughout, while retaining the title “Royale Storm.”