Skip to content

Arcade › Nightfall

Nightfall

  • 2d
  • top-down
  • survival
  • shooter
  • zombies
  • arcade
  • mobile
  • horror
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. Rithy Choeun chea built it with Cinevva, so it works on a phone or a tablet too.

Discussion

Nobody has said anything about Nightfall yet. Play it, then tell Rithy Choeun chea what you would add next.

Make your own game

Nightfall was built by Rithy Choeun chea 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 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

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 portrait-friendly top-down 2D survival shooter called “NIGHTFALL” on an HTML canvas, using crisp pixel-like geometric shapes and a very dark blue-green night palette. The world is a large rectangular arena (about 2200×1500) with a camera that follows the player and clamps at the world edges. Render the floor as #111d24 with evenly spaced 80-pixel teal-gray grid lines and a small number of scattered rectangular debris marks.

The player is a simple circular survivor at the center of the arena: a light gray/white circle with a small cyan rectangular detail on its upper-left side and a short yellow rectangular gun projecting in the facing direction. The player can move at roughly 190 units/second, constrained inside the arena. Use WASD (and the arrow keys as movement input) for keyboard movement. Aim with the arrow keys when not using touch aiming; on touch devices, drag in the play area to set the player’s facing angle. Fire with Space or F on keyboard, or by holding the right-side FIRE touch control. Each shot travels as a small yellow square projectile in the player’s facing direction, has a brief fire cooldown (about 0.18 seconds), and disappears after a short lifetime or at arena boundaries.

The core goal is to survive indefinitely while killing approaching zombies and earning score. Start with six zombies, then continuously spawn additional zombies from random points along the four arena edges. Spawn timing becomes faster as the wave rises, with a minimum interval around 0.45 seconds. The wave increases approximately every 25 seconds. Zombies are simple green circular creatures with two dark rectangular eye marks, move directly toward the player at around 38–56 units/second, have 2 hit points, and briefly turn pale when hit. Each zombie killed gives 10 points. When a zombie reaches the player it deals continuous contact damage of about 18 health per second, with small red impact particles. The player starts with 100 health; when it reaches zero, stop gameplay and show a dark translucent game-over overlay reading “THE NIGHT WON,” plus the score and “Tap or press Enter to try again.” Restarting resets the score, wave, ammunition, player, enemies, and timers.

Give the player a firearm with 8 rounds loaded and 32 reserve rounds. Each shot consumes one loaded round. Press R to reload, and automatically begin reloading when attempting to fire with an empty magazine. Reloading takes about one second, displays “RELOAD” in the ammunition HUD, and transfers as many reserve rounds as needed to fill the 8-round magazine. Do not allow shooting while reloading. Display a small yellow muzzle particle burst and colored hit/death particles when firing or hitting enemies.

The defining mechanic is a limited flashlight. Begin with the flashlight active and 100% energy. While active, energy drains at about 4% per second; when inactive/empty it can recover at about 8% per second, and it should switch off when energy reaches zero. The visible lighting should be dramatic: after drawing the world, apply a heavy radial darkness mask over the screen, leaving a soft transparent area around the player and most of the screen nearly black. While the flashlight is active, cut out a broad forward-facing cone from the darkness mask, approximately 420 pixels long and ±0.38 radians around the player’s angle, with a very subtle warm tint. This makes enemies and grid detail visible primarily in the flashlight beam. There is no separate flashlight toggle control in the implemented interaction; show the current active state and energy in the HUD.

Build a compact HUD over the gameplay. At the upper-left, show “NIGHTFALL,” then “SCORE [number]   WAVE [number]” and a horizontal red/pink health bar. At the upper-right, show the two-digit loaded ammo count (or “RELOAD”), “RESERVE [number],” and “FLASH [percentage]%,” with the flash readout yellow while active and muted gray while inactive. On touch-capable devices, show two large faint circular controls near the bottom: “MOVE” at lower-left and “FIRE” at lower-right. The left control is a virtual movement stick; holding the right control fires repeatedly. Allow touch dragging elsewhere to aim.

Before the game starts, show a full-screen dark teal title menu with centered “NIGHTFALL,” the subtitle “A flashlight. Eight rounds. No safe corner.”, a yellow rectangular “TAP TO START” button, and the instruction “Move: WASD / left stick   Aim: arrows   Fire: Space / FIRE.” Start on tap, Enter, or Space. Keep the presentation minimal, moody, and geometric: no detailed textures, no invented weapons, pickups, obstacles, sound, or extra menus. Use a fixed timestep cap suitable for smooth animation, crisp non-antialiased shapes, and a dark vignette/flashlight aesthetic matching a mobile portrait screenshot.

More free browser games

Browse the whole Arcade →