Skip to content

Arcade › Nightfall Holdout

Nightfall Holdout

  • 2d
  • top-down
  • arcade
  • survival
  • shooter
  • zombies
  • mobile-friendly
0
Remix it Discord

0 plays

How to play

Click the game above and it runs right here in your browser. No download, no installer, no account needed. Al Mubarmij built it with Cinevva, so it works on a phone or a tablet too.

Discussion

Nobody has said anything about Nightfall Holdout yet. Play it, then tell Al Mubarmij what you would add next.

Make your own game

Nightfall Holdout was built by Al Mubarmij 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 Nightfall Holdout 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.

Read the build brief for Nightfall Holdout

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 fullscreen 2D top-down arcade survival shooter titled “Nightfall Holdout.” The playfield fills the browser viewport on a very dark navy-black background (#0a0f15) with a subtle 48px blue-gray grid. Keep the camera fixed to the entire screen; there is no scrolling. Place seven randomly generated dark rectangular obstacles around the arena at startup, each roughly 34–89px wide/high, avoiding the player’s starting area. Obstacles are solid, muted charcoal-blue blocks with a slightly lighter outline, and both the player and enemies must collide with them while remaining clamped inside the screen.

The player is a small cyan-blue circular survivor at the center, radius about 15px, with a pale rectangular gun barrel pointing toward the aim direction and a small dark visor/detail. Start with 100 HP and 12 ammunition. Move with WASD or the arrow keys; normalize diagonal movement and use a movement speed around 185 pixels/second. Aim with the mouse cursor and fire with a mouse click or the Space key. Include mobile controls: a translucent circular virtual joystick in the bottom-left for movement and a large red circular FIRE button beside it. Dragging the joystick should move the player and tapping FIRE should shoot. On desktop the touch controls can appear faded, but they remain visible.

The defining visual mechanic is darkness and a flashlight: after drawing the arena, cover the whole playfield with a very opaque black overlay (about 86%). Cut out a soft circular glow centered on the player, approximately 105px radius, plus a forward flashlight cone extending about 270px in the player’s aim direction with a roughly 48-degree spread. This should make most of the arena nearly invisible except around and ahead of the player. Draw the player on top of the lighting effect. Use a brief pale muzzle-flash tint across the screen when firing.

Spawn green zombie-like enemies continuously from random points just outside one of the four screen edges. Each zombie is a circular muted green creature, radius 14–19px, with a dark green body detail/eyes and a darker rectangular arm-like detail. Zombies automatically chase the player while navigating around the rectangular walls. Their speed is roughly 35–57 pixels/second plus a small increase with the current wave. Spawn the first zombie after about 0.7 seconds, then spawn approximately every max(0.35, 1.2 - wave*0.045) seconds, sometimes spawning a second zombie. Zombies have one hit point. If one reaches the player, deal 10 damage, then grant about 0.65 seconds of invulnerability so contact does not drain health instantly; briefly draw the player white while invulnerable. At 0 HP, stop gameplay and show a centered dark translucent panel with the title “The dark got in,” text “You held out for [kills] kills.” and a yellow Restart button.

Each shot consumes one ammo and has a 0.28-second cooldown. If ammo is zero, firing does nothing; there is no reload mechanic. Create a small golden bullet traveling rapidly (about 620px/second) in the aim direction with slight random spread, and remove it when it leaves the screen or after about 0.8 seconds. A bullet hitting a zombie kills it, increments KILLS, and awards 100 internal score points. Add a small burst of lime-green square particles on zombie death and golden muzzle particles when firing. Enemies should briefly flash white on impact if implementing the existing hit-timer visual. Every 12 kills, increase the wave/spawn difficulty.

Add a fixed HUD over the canvas. In the upper-left, show a rounded translucent black panel with a thin blue-gray border, the bold spaced title “NIGHTFALL HOLDOUT,” and subtitle “Keep the dark at bay.” In the upper-right, show another rounded panel with inline counters exactly in the style “HP 100   AMMO 12   KILLS 0,” with the numeric values in warm yellow. Update HP, ammo, and kills live. In the lower-right, show the small instructional text “WASD / arrows to move · mouse to aim · click to fire” and “On mobile: drag the pad and tap FIRE.” Use a restrained neon-night palette: near-black background, blue-gray UI, cyan player, green enemies, gold ammunition and stats, and red fire button. Use rounded translucent panels, subtle borders/shadows, responsive safe-area spacing, and a system sans-serif font. Include a Restart button on the defeat panel that resets the arena, player, enemies, bullets, particles, obstacles, HP, ammo, kills, and wave.

More free browser games

Browse the whole Arcade →