🛒 Cartastrophe
An 8-player, first-person shopping-cart race through destructible parody grocery stores.
Grab everything on your list, then hit the checkout. Shelves tip over, eggs smash into
slippery yolk, and oil slicks spin you out.
Play: https://fanaustinca.github.io/cartastrophe/
Gameplay
- Quick Race: you against 7 bots. Host / Join: online P2P lobbies of up to 8 players. Share the 5-letter code or the invite link, and empty slots fill with bots.
- Each race gives everyone the same randomized shopping list of 8 kinds. Drive past a listed item to grab it.
- Finding things:
- Each list entry shows a picture of the actual product and where the nearest ones are ("Aisle 4", "Produce", "Pallet display").
- Big signs hang from the ceiling over every aisle, with product pictures.
- Floating badges mark where your items are, and you can see them through shelves.
- An arrow at the top of the screen points to the nearest item.
- The minimap turns with you (up is the way you're facing); M opens the full store map.
- Products look like products: every kind has printed packaging. The toilet paper is a pack of rolls in a "SOFT-EE 36 MEGA ROLLS" sleeve, the soup is a red-and-white can, and so on.
- Once your list is complete, drive through any checkout lane to finish. The nitro strips in the lanes are the finish line.
- Collected items weigh your cart down, and a hard hit can knock one out of the basket.
- Shelves restock themselves. A minute after a shelf (or pallet, produce bin or dairy case) gets wrecked, staff stand it back up, put every product back (smashed and grabbed ones too) and mop up its puddles. They wait until no cart is in the way.
The comedy layer
- Store PA: a "ding-dong" and an announcement whenever something happens: shelves going down ("{name}, that shelf was load-bearing"), eggs on the floor, spin-outs, restocks, the last 30 seconds, the first checkout, plus idle chatter ("Lost child at customer service. He says his name is Doug and he is forty-one"). Your browser reads them aloud (turn that off in Settings). Every store has its own announcer, with their own voice, jingle and opinions: Gary (Cost-Plenty, deep, slow, nineteen years on the warehouse floor), Brittany (Bullseye, high-pitched, over-caffeinated), Juniper (Whole Farm, soft and mindful), Unit-7 (Best Buyout, a robot with a modem bleep) and Hal (Safely Market, a grocery grandpa with a ding-dong). Each store's announcer picks the closest matching voice your browser has installed.
- Trash talk: bots shout in comic speech bubbles when bumped, honked at, spun out or finishing. Each named bot has its own lines (Karen 3000 wants to speak to your manager; BOGO Bob says "bump one, get one free"). In multiplayer the host sends them to everyone.
- Chaos meter: everything you break is priced: a $3.49 egg carton, an $899.99 TV, a $1,299 shelf, $49.99 of "emotional damage" per shopper you bump. Floating price tags pop up, and chaining damage within 3 s builds a CHAOS ×N combo that multiplies it. A toppled shelf's stock is credited to whoever rammed it.
- Horns (H): bike bell, clown honk, screaming goat, air horn, sad trombone, La Cucaracha and more. A bot right in front of a honk jumps and yells. Bots honk when you block them.
- Leave early: once you check out, press Enter (or the 🧾 button) to go straight to the results and collect your coupons. Your place is already final, because everyone still shopping finishes after you. Online, the race keeps running for the others, and the lobby opens when it ends. Each race pays out only once.
- Damage receipt: the results screen prints an itemised receipt (combo surcharge, an 8.25% chaos tax, "YOU SAVED $0.00"). Your damages pay a chaos bonus of up to 150 coupons. Awards go to the Wrecking Ball, Floor Omelette Chef, Butter Wheels, Road Rage, Human Bowling Pin and others.
- Daily challenges: three a day, the same for everyone on that date (e.g. "Flatten 5 shelves", "Hit a ×5 chaos combo"). Progress adds up across races, and each one pays coupons once.
- Shopper rank: XP from every race moves you from Bag Boy to Cart Deity, with a coupon bonus at each promotion.
| Key | Action |
|---|
| W/S or ↑/↓ | push / brake & reverse |
| A/D or ←/→ | steer |
| Shift | sprint (uses stamina) |
| E | nitro (burns the tank; refills slowly, and from boost tiles) |
| Q | use your add-on (Oil Dropper) |
| H | horn |
| Space | hop on and ride (low grip, so you drift) |
| C | first-person / chase camera |
| R | reset the cart upright |
| M / Tab | full store map |
| Esc | pause (solo only) |
| ` (backtick) | dev console |
Gamepads work too (RT/LT, left stick, A = ride, X = sprint, B/RB = nitro, Y/LB = add-on, D-pad up/R3 = horn).
The five stores
| Store | Flavor |
|---|
| Cost-Plenty | Warehouse racks 3 m tall, pallets of toilet paper and dog food, a forklift |
| Bullseye Store | Red and white, glossy tile, egg tables, headphones and games |
| Whole Farm | Wood shelving, produce bins, kombucha and free-range eggs everywhere |
| Best Buyout | Dark carpet, a wall of animated TVs, TV boxes and energy drinks |
| Safely Market | Checkerboard floor, classic grocery aisles, dairy wall |
Dev console
Press **** (backtick) anywhere and type help`.
This is the beginning of the README. Read the rest at the original. Read the full README ↗