Skip to content

Arcade › Duel Ring

Duel Ring

  • 2d
  • fighting
  • local-multiplayer
  • arena
  • arcade
0
Remix it Discord

8 plays

How to play

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

Discussion

Nobody has said anything about Duel Ring yet. Play it, then tell bathroomtile09 what you would add next.

Make your own game

Duel Ring was built by bathroomtile09 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 Duel Ring 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 Duel Ring

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 browser-playable 2D local two-player arena fighting game titled “Duel Ring,” rendered on an HTML canvas at a logical 1280×720 resolution and letterboxed/scaled to fit the viewport without scrolling. It is a best-of-three-round match: the first fighter to win two rounds wins the match. Both fighters share one keyboard, with responsive split-screen touch controls on phones.

Presentation and camera: use a fixed side-view camera with the full small arena always visible. The background is a dark stylized twilight scene: vertical gradient from deep indigo/purple at the top to very dark purple near the bottom, a large soft translucent moon halo with a bright cream center in the upper-right, and a faint repeating silhouette/illustration of distant trees along the horizon. The stage is a single wide grass-topped earth platform from approximately x=60 to x=1220 at y=580, with a green/orange tiled grass block top, dark brown soil beneath, a subtle bright rim along the top, and short translucent boundary posts/walls at each end. Fighters cannot leave the stage horizontally because the stage edges act as hard walls; falling below the floor is safely reset rather than creating a playable lower area. Use small screen shake, sparks, hit flashes, attack arcs, and dash trails for impact feedback.

Fighters: draw characters procedurally with simple clean flat shapes rather than sprites. P1 is AZURE, blue, starting around x=420 and facing right. P2 is EMBER, orange, starting around x=860 and facing left. Each is a compact helmeted humanoid with dark legs, colored rounded torso with a light horizontal trim stripe, a round skin-colored head, a dark helmet cap and vertical helmet accent. Their weapon is a large stylized gauntleted fist/arm, not a sword: dark upper arm, pale plated forearm, knuckle ridges, and a rounded fist. Scale the fighter visuals to look chunky and readable. Show shadows beneath them. During a parry, draw a bright pale-blue circular flash/ring around the fighter; during attacks, show a glowing fist and a colored sweeping attack arc. On hit, flash the defender white and emit bright square sparks. Fighters should have idle bobbing, simple leg stride while moving/dashing, airborne pose, attack animation, stagger, KO rotation, and edge/off-screen P1/P2 indicator dots if needed.

HUD: pin a top overlay over the canvas. On the left show “P1 · AZURE”; on the right show “EMBER · P2”. Each side has a large horizontal health bar (blue gradient for P1, orange gradient for P2), two round-win star pips (empty/filled gold stars), and a smaller parry meter below. Label the meter “PARRY READY” when available, “PARRY” while it cools down, “PARRY!” during its active window, and “WHIFFED” during recovery; use pale blue when ready, yellow when cooling, and red when whiffed. In the center, show round-flow banners: “ROUND 1/2/3”, then “FIGHT!”, then the winner’s “TAKES THE ROUND” message, and finally “AZURE WINS!” or “EMBER WINS!”. On match end show a gold REMATCH button and the instruction to press R or tap REMATCH. At the bottom on desktop show the controls text.

Keyboard controls: P1 uses A/D to move, W or Space to jump, S to aim downward/crouch, F to attack, and G to parry. P2 uses Left/Right arrows to move, Up to jump, Down to aim downward/crouch, L to attack, and K to parry. Movement is dash-oriented: tap a direction to burst in that direction; a direction press starts a dash, and a second press can chain another dash after cooldown. The dash cancels an active swing, has a short burst around 0.15 seconds at roughly 760 px/s, and supports limited air dashes (two). Preserve air control, gravity, short-hop behavior by releasing jump early, coyote time, jump buffering, and one double jump refreshed on landing. Use strong gravity and visible knockback so combat feels fast and kinetic. On touch devices, provide two mirrored control pads occupying the lower left and lower right halves: left/right direction buttons, up/down aim buttons, a HIT button, a JUMP button, and a GUARD button for each player.

Combat: attacks are fast committed gauntlet strikes with a roughly 0.20-second animation and a live hit window around 0.06–0.14 seconds. A normal attack hits once per swing, only in front of the facing fighter, and has directional variants selected by the held aim input: forward jab, upward strike, up-forward diagonal, grounded down sweep/launcher, airborne down-diagonal attack, and airborne downward spike. Give each variant distinct reach, damage, vertical/horizontal knockback, hit stun, and visual arc color. Normal damage is approximately 7–11. Clean hits cause hit stun, strong knockback, launch/juggle behavior for aerial strings, white flash, sparks, and screen shake. Knockback scales up as the defender loses health, creating ring-out/low-health pressure even though the stage has boundary walls.

Combo system: a hit opens a short chain window and refunds attack recovery. Repeated successful hits build a displayed “N HIT COMBO” counter, with combo scaling gradually reducing stun/damage effects but never below about 72%. After three chained hits, the next directional attack automatically becomes a named special finisher based on aim: forward “IRON BARRAGE,” up “RISING TALON,” up-diagonal “SKY BREAKER,” down-diagonal “CRUSHING ARC,” grounded sweep “TITAN UPPER,” or downward spike “METEOR DRIVE.” Specials should be visibly more powerful, emit a larger bright effect, apply heavy damage/knockback or launching force, and briefly display their name near the top-center/side of the arena.

Defense: the GUARD/PARRY input is a tap, not a hold. If the fighter is idle, off cooldown, and facing the attacker, activate a very short roughly 0.24-second parry window. A correctly timed parry does not merely block: it deals about 12 damage back to the attacker, heavily stuns and knocks back the attacker for about one second, clears the defender’s recovery, creates a bright white/pale-blue impact and sparks, and shakes the screen. A missed parry has a vulnerable recovery period around 0.34 seconds; parry then refills on a roughly 0.60-second cooldown. The current implementation’s defense is this directional timed parry rather than a continuously held shield.

Match and physics rules: fighters have 100 HP. A fighter reaches KO at zero health; also support a ring-out/death condition if physics ever carries a fighter below the kill threshold, while keeping the main stage walls and floor safety behavior. A struck airborne fighter remains in hit stun while juggled and suffers a brief helpless landing stun. Prevent fighters from overlapping by pushing them apart. Start each round with both fighters reset to full health at their spawn points, display the round banner for about two seconds, then begin the fight. After a round-ending KO, award one star pip to the opponent; if neither has two wins, begin the next round automatically after a short result pause. At match end, stop active combat and allow R or REMATCH to reset the entire match. Include punch/block/swing sound effects if available, but keep the game functional if audio or external art assets fail to load.

More free browser games

Browse the whole Arcade →