Appearance
Arcade › Grey Range
Click the game above and it runs right here in your browser. No download, no installer, no account needed. zdixon321 built it with Cinevva, so it works on a phone or a tablet too.
Nobody has said anything about Grey Range yet. Play it, then tell zdixon321 what you would add next.
Grey Range was built by zdixon321 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 Grey Range 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.
Rebuild a browser-based first-person arena shooter titled “Grey Range” using Three.js. Render from a 75-degree perspective camera at eye height (player position starts around x=0, y=1.7, z=18), with mouse-look controlled by pointer lock: horizontal mouse movement rotates yaw and vertical movement rotates pitch, clamped to roughly +/-1.35 radians. The game should begin with a centered dark translucent instruction panel reading “Grey Range FPS,” explaining “WASD move, mouse look. H Pistol, J Shotgun, I Knife, O Grenade, hold B Laser Cannon,” and a light button labeled “Click to lock mouse and start.” Clicking the button or canvas starts the game and requests pointer lock, but gameplay should still start if pointer lock is refused. Create a compact, flat, grey training arena. Use a medium grey background with distance fog, a large roughly 92-by-92 grey floor, and four dark grey perimeter walls about 4 units tall. Add subtle lighter-grey grid/crosshair-like floor stripes at regular 15-unit intervals. Keep the environment deliberately sparse and low-poly, with neutral grey materials, basic lighting, shadows, and no decorative scenery. Show a small weapon model in the lower-right first-person view: a dark blocky pistol-like body with a lighter metal barrel, scaled down for the knife and enlarged for the laser cannon. The core loop is survival and target destruction. Start with 8 red targets, and continuously add more roughly every 2.4 seconds while active, capped at 14 simultaneous enemies; killing one has a 75% chance to spawn a replacement. Targets are simple red capsule-shaped humanoid/dummies with a small horizontal white eye/visor near the front. Each has 55 health, moves directly toward the player at about 2.0–2.8 units per second, faces the player, and damages the player continuously for 14 health per second when within roughly 1.35 units. The player starts with 100 health. Destroyed targets award 100 score, disappear, and emit bright red/yellow spark particles; hits briefly flash the target yellow and create yellow impact sparks. End the game at zero health with a centered message “Game over — score [value]” and a Restart button that reloads the game. Movement must be view-relative on the flat X/Z plane. W or Up moves in the direction the player is facing, S/Down moves backward, A/Left strafes left, and D/Right strafes right; clamp the player inside the arena boundary. Normal speed is about 10.5, and double-tapping W or Up within about 420 ms enables forward sprinting for about 1.8 seconds at 1.75x speed. Include a centered white plus-shaped crosshair with a subtle black shadow at all times. Implement these weapons and exact keyboard controls: - H selects/fires the Pistol. It is an accurate hitscan shot with 34 damage, range about 62, very low spread, and a 0.28-second cooldown. Add a short pale-yellow tracer and small muzzle kick. - J selects/fires the Shotgun. It fires 9 hitscan pellets, each doing 18 damage, range about 38, with visibly wider spread, and has a 0.8-second cooldown. Use multiple pale yellow/orange tracers and stronger muzzle kick. - I selects/uses the Knife. It is a very short-range hitscan swing with 70 damage, range about 3.2, and a 0.42-second cooldown. Animate a brief weapon tilt/swing; if it misses, show “Knife missed — get closer.” - O selects/throws a Grenade. Spawn a small dark green sphere in the aim direction with forward velocity, upward arc, gravity, ground bounce, and a 1.25-second fuse; cooldown is 1.05 seconds. On explosion, emit orange sparks and damage all targets within radius 9, with damage falling off by distance and an added base amount. It can also hurt the player within radius 6. - Holding B selects the Laser Cannon and fires a continuous cyan beam from the camera toward the aim direction, with 12 damage per hit and a small spread, up to range 75. The beam increases heat by about 0.25 per second, becomes invisible and stops firing at heat 100%, and displays “Laser overheated — release B”; releasing B cools it at about 0.55 per second. While the laser is active, show heat percentage in the weapon HUD instead of the normal key hint. Award a small amount of score (2) for a laser hit. All weapons should use cooldowns, short tracer/particle effects, and aim from the center crosshair. Place a fixed HUD over the 3D view. In the upper-left, use a dark translucent rounded panel showing three lines: “Health: 100,” “Score: 0,” and “Targets: 8,” updating live with current values. In the upper-right, show another dark rounded panel reading “Weapon: Pistol” and a smaller hint such as “Press H”; update it to Shotgun/Knife/Grenade/Laser Cannon and the relevant control, or “Heat N%” while the laser is active. Preserve the grey, black, and white visual palette, with red enemies and bright cyan/yellow/orange effects. For touch devices, display bottom controls: a directional pad with up, left, down, and right buttons plus a FIRE button, and weapon buttons labeled H Pistol, J Shot, I Knife, O Nade, and Hold Laser, along with a Turn button. Touch buttons should behave like held movement/laser controls where appropriate; FIRE should fire the pistol, and Turn should rotate the view by about 22.5 degrees. Support arrow keys in addition to WASD. Expose optional inspection functions window.getGameState() and window.setGameState(patch) containing/updating player position, view angles, health, laser heat, sprinting, weapon, score, target count, grenade count, started, and game-over state.