Skip to content

Arcade › Patchwork Punch

Patchwork Punch

  • 2d
  • fighting
  • arcade
  • pixel-art
  • three.js
  • 1v1
  • character-select
0
Remix it Discord

11 plays

How to play

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

Discussion

Nobody has said anything about Patchwork Punch yet. Play it, then tell ps2163cc what you would add next.

Make your own game

Patchwork Punch was built by ps2163cc 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 Patchwork Punch 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 Patchwork Punch

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.

Rebuild a browser-based 2D arcade fighting game titled “Patchwork Punch” using an orthographic Three.js scene with canvas-rendered sprite-like fighters. The game should open on a dark, warm, festival-themed character-select screen: a large uppercase gold title, a grid of four selectable fighter cards, pixel-art-style portrait previews, each fighter’s archetype tag, signature move, speed/jump and power/reach information, plus a larger detail panel showing the selected fighter’s portrait, description, named moves, and horizontal stat bars for Speed, Power, Reach, and Defense. The initial selected fighter is Hayseed, labeled “Patchwork rushdown.” Do not claim a ten-fighter roster; implement the four fighters actually defined: Hayseed, Plumbrawl, Thorncap, and Starstitch. Let the player start a fight or launch a CPU demo; the CPU opponent should be randomly chosen from the other fighters.

The fight is a side-view 1v1 arena with a fixed orthographic camera, a 24-by-13.5 world framing, dark brown/red background, and a warm rural night festival stage. Include a large glowing pale moon and halo at upper left, a subtle amber sky glow, a string of small alternating yellow/orange lantern bulbs across the top, four hanging red/brown banners, rows of dark crowd silhouettes with circular heads in the background, plant/stalk props, a broad brown floor, a thin bright cream floor line, and slowly drifting dust motes. Use a chunky colorful hand-drawn/pixel-art-inspired visual style: fighters are drawn into 128x128 canvases and displayed as nearest-filtered Three.js sprites, with thick outlines, simple rounded limbs, expressive eyes and mouths, hats, bright clothing, hit flashes, aura rings, and small starburst impact particles.

Implement a 65-second round with 100 HP per fighter. The player is the fighter on the left, starting around x=-3.8, and the CPU is on the right around x=3.8. Fighters face each other, are constrained to roughly x=-8.6..8.6, cannot overlap closer than about 1.22 world units, and use gravity and jumps. End the round when one HP reaches zero or the timer expires; on timeout, the fighter with greater or equal HP wins. Show a result overlay naming the winner and offering Rematch and Character Select.

Use these exact controls: keyboard A/D or on-screen left/right arrows to move, W or an up button to jump, J for jab, K for kick, I for special, and L for block. On mobile, show large pointer-safe touch buttons at the bottom: left, right, jump, Jab, Kick, Blk, and Sp. During play show a top HUD with two health panels, fighter names and numeric HP, left green/yellow health and right orange/red enemy health, and a centered pill showing “Round 1 — Fight!”, countdown seconds, move/block messages, “Time up,” or the winner. Also show a bottom hint strip listing the keyboard controls.

Implement three attacks with distinct timing and hitboxes: jab (0.08s windup, 0.10s active, 0.12s recovery, 1.4 range, 7-ish height, 7 base damage), kick (0.14s windup, 0.14s active, 0.18s recovery, 1.75 range, 11-ish height, 11–13 base damage), and special (0.18s windup, 0.22s active, 0.28s recovery, 2.15 range, 1.25-ish height, 17–20 base damage). Apply the character’s reach scaling, directional facing check, vertical distance check, pushback, brief hit stun, hit flash, hit-stop, and a gold impact spark; blocked hits should do about 35% damage and create a blue spark. Blocking only works while grounded and facing the attacker. Include animation states idle, walk, jump, block, jab, kick, special, hurt, KO, and win, with visibly distinct poses: walking arm/leg swing, jump pose, defensive raised arms, extending jab, kicking leg, spinning/charged special with aura, hurt squish, fallen KO, and arms-raised victory.

Make the four fighters mechanically and visually distinct using these exact data. Hayseed: fast rushdown; speed 5.4, jump 12.2, jab 7, kick 12, special 18, reach 3, defense 2, power 3; turquoise shirt, brown pants, golden hat, leaf-crown detail, and a large tan patchwork sack body/mount; moves “Burlap Jab,” “Cartwheel Kick,” “Harvest Halo.” Plumbrawl: retro all-rounder; speed 4.8, jump 11.3, jab 8, kick 11, special 17, reach 3, defense 3, power 3; blue shirt, red pants, red hat, moustache and suspender emblem; moves “Pipe Pop,” “Boot Arc,” “Brick Breaker.” Thorncap: keep-away bruiser; speed 4.35, jump 10.9, jab 9, kick 13, special 20, reach 5, defense 4, power 4; green clothing, brown pants, green hat, orange scarf, thorn/spike shoulder and crown details; moves “Prickle Press,” “Bramble Boot,” “Crown Crash.” Starstitch: aerial trickster; speed 5.2, jump 12.8, jab 6, kick 10, special 19, reach 4, defense 2, power 3; purple/blue clothing, pink scarf and cape, golden hat, floating/flashy aura and star particles during special; moves “Needle Tap,” “Comet Heel,” “Star Drop.” Give each fighter idle/walk/attack expressions and the corresponding colored aura. The CPU should approach, retreat, sometimes block when the player attacks nearby, occasionally jump, and choose attacks based on distance and cooldown. Include a CPU demo mode where both sides are AI-controlled.

Use responsive UI styling with dark translucent panels, cream/gold text, rounded borders, warm gradients, mobile layout changes, safe-area spacing, and touch-action disabled for reliable pointer controls. Preserve the game’s basic debug integration by exposing window.getGameState() with scene state, selected and CPU IDs, timer, round-over/winner, and each fighter’s position, velocity, HP, state, and facing, plus window.setGameState(patch) for updating those fields.

More free browser games

Browse the whole Arcade →