Skip to content

Arcade › Frontline Drift

Frontline Drift

  • 2d
  • top-down
  • arcade
  • shooter
  • space-like
  • endless
  • mobile
0
Remix it Discord

3 plays

How to play

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

Discussion

Nobody has said anything about Frontline Drift yet. Play it, then tell Matthew Johnson what you would add next.

Make your own game

Frontline Drift was built by Matthew Johnson 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 Frontline Drift 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 Frontline Drift

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 playable single-screen top-down arcade shooter called “Frontline Drift.” Use a fixed Three.js-style orthographic camera looking straight down at a rectangular arena; keep the whole playfield visible and resize the camera to the browser aspect ratio. The reference presentation is a dark, nearly black battlefield/space-like backdrop with very subtle scattered specks and haze, large faceted gray polygonal hostile bodies, and a bright cyan/white player craft or soldier-like avatar near the center. Keep the art procedural and 2D/sprite-like, with high-contrast cool blue player highlights, muted gray/red-brown enemies, faint glow, and small yellow-orange tracer shots and impact sparks. The underlying theme is a stylized war zone: the implementation should support a brown terrain texture with granular debris, crater-like dark patches, curving trench/dust marks, and sparse smoke patches, while preserving the dark cinematic appearance visible in the reference.

The player starts centered slightly below the middle of the arena, with 3 lives, score 0, wave 1, zero velocity, and a short 1.8-second respawn invulnerability. The avatar has a facing angle and inertia: Left/A and Right/D rotate it, Up/W accelerates it forward in the direction it faces, velocity slowly damps, and the player wraps around each edge of the screen instead of stopping. Fire a forward-moving yellow tracer/rifle projectile with Space; allow continuous fire while held, with a 0.22-second cooldown. Projectiles inherit the player’s current velocity, travel for about 1.15 seconds, and disappear at the arena bounds or when expired. Show brief orange/yellow impact sparks and play rifle and explosion sounds after user interaction; optional looping battlefield music may begin after the first input.

Spawn wave 1 with 4 hostile patrol units at random locations at least roughly 22 world units from the player. Hostiles drift with independent random velocities, rotate slowly, and wrap around arena edges. Give each large/heavy unit a collision radius of about 7. On later waves spawn 3 + wave enemies, increase their speed by roughly 0.6 per wave, and on waves above 3 make some initial units medium-sized. When a projectile hits a hostile, remove the projectile and enemy, add points based on size (large 20, medium 50, small 100), emit an expanding burst of 8 + size*3 sparks, and split every unit larger than the smallest size into two smaller units launched in diverging directions at about 1.12 times the parent speed. Large units therefore become two medium units, and medium units become two small units. When the final fragment is destroyed, display a short “Wave N+1 moving in...” delay of about 1.1 seconds, then start the next, faster wave. There are no enemy projectiles; danger comes from drifting collisions.

A collision between the player and a hostile costs one life, triggers an explosion/spark burst, and respawns the player at the starting position with zero velocity and fresh invulnerability. At zero lives, stop gameplay, show a centered translucent mission-failed card with the final score and wave reached, and offer a “Restart mission” button. Enter and the controller menu/start button should also restart after game over. Keep a compact translucent HUD panel in the upper-left with the exact style of information “Score: 0 · Lives: 3 · Wave: 1” and a smaller blue status line such as “Wave 1 incoming — cut the patrol down.” Update it for hits, respawns, wave transitions, and game over.

Support desktop keyboard controls (Left/Right or A/D turn, Up or W move, Space fire), touch controls overlaid near the bottom (left turn button with a rotate-left icon, tall MOVE button, right turn button with a rotate-right icon, and a large round FIRE button on the lower right), and Xbox/gamepad controls (left stick or D-pad turn, A or right trigger move, X or right bumper fire, menu/start restart). Make touch buttons hold-to-use and visually highlight while pressed. Use rounded dark translucent panels with thin blue borders and blue/pink accents, ensure the HUD and controls overlay the canvas without blocking play, and make the layout responsive for mobile and desktop. Do not add features not described: the core goal is simply to survive increasingly fast drifting waves, destroy/split patrols, clear waves, and maximize score.

More free browser games

Browse the whole Arcade →