Appearance
Arcade › Graveyard Shift
Click the game above and it runs right here in your browser. No download, no installer, no account needed. whats_goody built it with Cinevva, so it works on a phone or a tablet too.
Nobody has said anything about Graveyard Shift yet. Play it, then tell whats_goody what you would add next.
Graveyard Shift was built by whats_goody 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 Graveyard Shift 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-playable top-down 2D survival shooter titled “Graveyard Shift.” Use a Three.js orthographic camera looking straight down at a fixed rectangular arena approximately 36 world units wide by 20 high, with the whole playfield fitting the viewport responsively. Render a very dark navy-black background (#05070b) with a subtle blue-gray square grid across the arena and a soft black vignette around the screen edges. Keep the visual style minimal, clean, neon-on-dark, and geometric: all entities are simple flat rectangular planes in the XY plane rather than detailed character art. At the center, place the player as a bright cyan horizontal rectangle about 1.2 by 0.9 world units, with a faint darker teal emissive tone. Rotate the player rectangle to face the mouse cursor. Show a short pale-cyan aim line extending from the player toward the mouse, capped at roughly 4 world units. The mouse position should be converted into world coordinates for aiming, and the player should remain inside the arena boundaries. The core loop is endless survival: zombies continually enter from just outside one of the four arena edges and home toward the player. Spawn one zombie roughly every 0.85 seconds initially, with the interval decreasing as the wave increases, never below about 0.18 seconds; occasional extra zombies can spawn in small bursts. Increase the wave number every 20 seconds, and make zombies slightly faster each wave. Keep a soft maximum of about 70 zombies by removing a distant one if necessary. Each zombie is a green neon rectangle around 1.1 by 0.9, moves toward the player with mild sinusoidal steering/orbiting variation so they do not perfectly stack, and rotates to face its movement direction. Zombies have one hit point and die from one pistol hit. When they contact the player, deal 12 damage with a 0.55-second contact-damage cooldown, and slightly push them back. End the run when player HP reaches zero. Give the player 100 HP, starting with a 12-round magazine. Controls must be WASD or arrow keys to move, mouse to aim, and left mouse click or hold to fire. The pistol is hitscan: each shot instantly traces a ray from the player toward the mouse direction, has a very small random angular spread of about 0.015 radians, a range of 40 world units, and hits the closest zombie intersecting the ray. Fire at a maximum of 10 shots per second. Each shot consumes one round; if the magazine is empty, automatically begin reloading. Press R to manually reload whenever the magazine is not full. Reload takes about 1.05 seconds and refills the magazine. While sprinting with either Shift key held and movement input active, multiply movement speed by 1.55; provide a 3-second stamina resource, drain it at 1.2 per second while sprinting, and regenerate it at 0.9 per second whenever not sprinting. Normal movement speed is about 8 world units per second. Represent shots with very brief white tracer streaks from the player to the hit point or the end of the ray, fading in about 0.07 seconds. On hits and deaths, show small bright square pop effects that expand and fade quickly; use a pale green pop for zombie impact/death and a red pop on player damage. Award 10 points for every zombie killed. Track survival time from the moment the player starts, formatted as minutes and seconds. Do not advance gameplay while the start prompt, pause state, or game-over state is active. Build a fixed HUD in the upper-left with translucent dark rounded pills and thin blue borders. Show “HP 100,” “Ammo 12/12,” “Score 0,” and “Time 0:00” in a horizontal row that wraps on narrow screens. Below it, show the exact-style control hint: “WASD / Arrows move • Mouse aim • Click/hold shoot • R reload • Shift sprint • P pause”. Use light blue-white text with muted blue labels. On first load, display a centered translucent dark rounded message reading “Click to start\n(Your first click also enables audio)”; the first click hides it and begins the run, while also initializing audio. Press P to toggle pause and show “Paused\nPress P to resume.” On death, stop the game and show “You died.\nScore: [score]\nPress Enter/Space or Click to restart”; Enter, Space, or clicking resets the entire game to its initial state. Add simple Tone.js synthesizer sound effects initialized after the first click or key interaction: a short high triangle tone for shooting, a brief sine tone for hits, a triangle tone for reload, and a lower sine tone for zombie death. Keep the overall presentation sparse and crisp, with no detailed graveyard props, text labels in the arena, power-ups, multiple weapons, or additional enemy types beyond the rectangular green zombies described above.