Skip to content

Arcade › Virus Defense

Virus Defense

  • 3d
  • tower-defense
  • neon
  • cyberpunk
  • strategy
  • wave-survival
0
Remix it Discord

9 plays

How to play

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

Discussion

Nobody has said anything about Virus Defense yet. Play it, then tell Bray Martin what you would add next.

Make your own game

Virus Defense was built by Bray Martin 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 Virus Defense 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 Virus Defense

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.

Recreate a playable Three.js-style 3D tower-defense game titled “Virus Defense.” Use a dark cyber/neon visual style with a nearly black navy background and a large square dark grid arena viewed from a fixed elevated perspective camera (camera around x=0, y=18, z=18, looking at the origin), so the grid recedes toward the top of the screen. The arena is a 13-by-13-cell grid with cell spacing about 1.6 units, outlined by dim blue-violet grid lines. Add subtle fog, ambient lighting, a white directional light, and a cyan rim light for a bloom-like emissive appearance without requiring postprocessing.

At the exact center of the grid, place the protected Core: a wide dark blue cylindrical base with a smaller tall glowing cyan cylinder rising from it. The cyan inner cylinder slowly rotates around its vertical axis. Viruses spawn randomly along the four outer edges of the square arena and move directly toward the Core. Normal viruses are small bright pink/red emissive spheres; tank viruses are larger orange/red emissive spheres. They should hover/wobble slightly above the grid while moving. A normal virus has 8 base HP plus floor(wave*1.2), moves at 1.5 + wave*0.07 units/second, and damages the Core for 6 on contact. Tank viruses have 16 base HP plus floor(wave*2.5), move at 1.15 + wave*0.07, and damage the Core for 9. When a virus reaches roughly 1.15 units from the center, remove it and subtract its damage from Core HP. Start with Core HP 100; when it reaches zero, show GAME OVER and stop gameplay with the message “Core compromised. Refresh to try again.”

The player starts with 60 Bytes, Core HP 100, and Wave 0 in a placement phase. The main objective is to survive as many waves as possible. During the placement phase, let the player place towers on unoccupied grid cells, excluding the central Core cell. Left click places an Antivirus Node for 25 Bytes. Right click, or Shift+click, places a Slow Node for 40 Bytes. Reject placement when the cell is occupied, is the Core cell, the player lacks enough Bytes, the game is not between waves, or the game is over; show “Can’t place there (blocked or not enough Bytes).” on invalid placement. Use a grid-snapped hover preview at the cursor, with a colored circular ring and translucent tower: cyan for an allowed Antivirus Node, purple for an allowed Slow Node, and a pink/red denied ring for invalid placement. Press R to rotate the preview and placed tower by 90 degrees; this rotation is cosmetic.

Antivirus Nodes should be small teal/dark-cyan glowing cylindrical bases topped by a bright cyan rectangular head and a short horizontal barrel. They automatically target the nearest living virus within 6 units and fire every 0.18 seconds. Their cyan glowing spherical pellets travel toward the target at 10.5 units/second, expire after 1 second, and deal 4 damage on collision. Slow Nodes should have a dark purple glowing cylindrical base and a pale lavender/purple glowing orb on top. They automatically target the nearest living virus within 5 units and fire every 0.85 seconds. Their larger purple glowing pellets travel at 7.2 units/second, expire after 1 second, deal 1 damage, and apply a 0.45 speed multiplier for 1.25 seconds. Destroying a normal virus awards 6 Bytes; destroying a tank awards 10 Bytes. Clearing a wave awards an additional 12 + floor(wave*1.5) Bytes.

Implement wave progression exactly as a simple timed defense loop. Press Space during the placement phase to start the next wave. Wave number increases by one, the state changes to defending, and show “Wave N started — defend the Core.” Spawn 7 + floor(wave*2.2) total ordinary viruses, staggered over about 1.9 seconds from random arena edges. Every fifth wave also adds max(1, floor(wave/5)) tank viruses, spawning them as the first entries in the staggered sequence. Towers operate automatically during defense. When no living viruses remain, return to placement state and show “Wave cleared — place towers, then press Space.” Allow more towers to accumulate between waves, but do not allow placement while a wave is active. Press Escape to pause/unpause; paused gameplay must stop updating and show PAUSED. The game state pill should show PLACEMENT, DEFENDING, PAUSED, or GAME OVER as appropriate.

Create a fixed HUD in the upper-left using rounded translucent dark panels with thin blue-violet borders and light text. Display four pills: “Bytes” with the current integer Bytes, “Core HP” with current HP, “Wave” with the wave number, and the state pill. Underneath, display the help text: “Left click: Antivirus (25) | Right click / Shift+click: Slow (40) | Space: Next wave | Esc: Pause”. Include a small temporary message line for placement, wave, invalid-action, pause, and game-over messages. Add a subtle crosshair circle fixed at the center of the screen. Use responsive full-screen rendering, prevent the browser context menu for right-click placement, and use simple synthesized electronic beeps for placement, firing, kills, Core hits, wave starts, and game over if audio is available. Keep the presentation minimalist: no menus, scenery, textures, or extra abilities beyond the grid, Core, viruses, nodes, projectiles, HUD, placement preview, waves, pause, and the specified controls.

More free browser games

Browse the whole Arcade →