Skip to content

Latest commit

ย 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿฅ• Warren Wars

A cute, chaotic 1โ€“2 player bunny arena survivor for the browser.

The garden warren is under attack! Beetles munch the lettuce, crows dive-bomb the carrot patch, robo-gnomes patrol the flower beds โ€” and something big and clanky is coming on wave 10. Grab a bunny, team up with a friend, and survive 20 waves to drive the pests out for good.

Weapons fire automatically at the nearest pest โ€” you just hop. That makes it easy for young players and perfect on a controller, while build-crafting in the shop keeps it deep for experienced players.

vanilla JS no dependencies players


โ–ถ๏ธ Play it right now

No install needed: ๐Ÿ‘‰ https://redmeatboy.github.io/Warren_Wars/ ๐Ÿ‘ˆ

๐ŸŽฎ Running it locally instead

No build step, no dependencies โ€” it just needs to be served over HTTP (ES modules won't load from file://).

git clone https://github.com/RedMeatBoy/Warren_Wars.git
cd Warren_Wars

# then either:
npx serve
# or:
python -m http.server 8000

Open the printed URL (e.g. http://localhost:3000 or http://localhost:8000) in Chrome or Edge (best gamepad support). That's it.

๐Ÿ”Š Browsers only unlock sound after a mouse click or key press โ€” click the title screen once if you're playing on controllers.

๐Ÿ•น๏ธ How to play

  1. Title screen โ†’ press any key or controller button.
  2. Character select โ†’ each player presses a button/key to claim a slot (WASD side, arrows side, or any Xbox controller โ€” any combination works). Pick your bunny, optionally toggle Little Bunny Mode, ready up, choose a danger level, and go!
  3. Survive the wave. You only move โ€” your weapons aim and fire themselves. Grab the carrots that pests drop: they're both the team's money and your personal XP.
  4. Between waves: spend level-ups (pick 1 of 4 upgrades) and hit the shop โ€” buy weapons and items, reroll offers, lock ones you're saving up for. Both players browse at the same time on their own panel.
  5. Waves 10 and 20 are boss fights. Watch the orange telegraphs!

Controls

Action Keyboard P1 Keyboard P2 Xbox controller
Move WASD โ† โ†‘ โ†’ โ†“ Left stick / d-pad
Confirm / buy E or Space Enter A
Back Q Backspace B
Reroll shop R . X
Lock offer / Little Bunny F / Y
Pause Esc Esc Start
Mute M M View

Supported player combos: keyboard+keyboard, keyboard+controller, controller+controller (Xbox Series X pads over USB or Bluetooth). If a controller disconnects mid-wave, the game pauses automatically.

Co-op rules

  • Carrots are shared โ€” one team wallet, no squabbling. XP goes to whoever picks the carrot up.
  • Downed bunny? They sit dazed with stars. Stand inside their dashed circle for 3 seconds to revive them. The run only ends if both bunnies are down.
  • Drop-in anytime: a second player can join at character select or between waves in the shop.
  • Little Bunny Mode (toggle per player): +50% HP, bigger carrot magnet, longer protection after a hit, and farther auto-aim โ€” lets a younger player genuinely carry their weight. No score penalty, just a little ๐Ÿ€ by their name.

๐Ÿฐ The bunnies

Bunny Style
Clover Balanced all-rounder โ€” great first pick
Stomper Lop-eared tank: tough and armored, but slow
Zippy Jackrabbit: blazing fast, dodgy, fragile
Tinker Engineer: only 4 weapon slots, but mighty turrets
Lucky Angora: lucky finds and rich harvests, softer hits
Shadow Night hopper: huge crits, thin fur
Chonk Bruiser: melee weapons only, and proud of it
Sprout Baby bun: weak, but learns twice per level-up

๐ŸŒป The arsenal (a taste)

Carrot Launcher ยท Turnip Mortar ยท Dandelion Boomerang ยท Thorn Whip ยท Garden Hose (piercing water jet) ยท Clover Wand (homing sparkles) ยท Sunflower Turret ยท Radish Mines ยท Bramble Aura ยท Pinecone Shotgun ยท Snow Pea Shooter (slows!) ยท Zucchini Bat ยท Berry Bombsโ€ฆ 15 weapons in 4 tiers โ€” buy two identical ones and they combine into the next tier.

Plus 28 passive items with real tradeoffs ("Cast-Iron Watering Can: +3 Armor, โˆ’5% Speed") and a 15-stat build system.

โš™๏ธ Danger levels

Danger 0 (Sunny Day) is beatable on your first good run. Win it to unlock Danger 1, up through Danger 3 (Full Moon) โ€” 2.25ร— enemy HP and a proper swarm. Records and unlocks save automatically in your browser.

๐Ÿ› ๏ธ Tech

Vanilla JavaScript (ES modules) + HTML5 Canvas. All art is drawn in code, all audio is synthesized with WebAudio โ€” the repo contains zero binary assets. Fixed 60 Hz simulation with interpolated rendering, object pooling, and a spatial grid keep it at 60 fps with 200+ enemies on screen.

Developer docs (architecture, data formats for adding weapons/enemies/items, headless test harness) live in CLAUDE.md. Quick check:

node tests/mechanics.mjs .   # 29 gameplay assertions
node tests/smoke.mjs .       # full simulated 2-player run

No blood, no gore โ€” defeated pests pop into leaves, petals, and sparkles. Made for a family garden defense squad. ๐Ÿ‡๐Ÿ‡

About

๐Ÿฅ• Warren Wars โ€” cute 1โ€“2 player bunny arena survivor for the browser. Local co-op (keyboard + Xbox controllers), auto-firing garden weapons, 20 waves, zero dependencies.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages