Skip to content

Arcade › Duel Ring

Duel Ring

  • 2d
  • fighting
  • local-multiplayer
  • arena
  • side-view
  • combo
  • best-of-three
  • directional-attacks
0
Remix it Discord

102 plays ·1 remix ·added August 20, 2026

About Duel Ring

two player fighting game with block and directional attacks

How to play

Click the game above and it runs right here in your browser. No download, no installer, no account needed. topdragon5330 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 topdragon5330 what you would add next.

Make your own game

Duel Ring was built by topdragon5330 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 2D local multiplayer fighting game with the following specifications:

CAMERA & PERSPECTIVE: Side-view 2D arena on HTML canvas, 1280x720 logical resolution, letterboxed and scaled to fit any viewport. Static camera showing the entire stage at all times.

STAGE: Single flat ground platform at y=580, spanning from x=60 to x=1220 with invisible walls at the edges that prevent fighters from falling off. Solid brown ground rendered with tiled grass block sprites from Kenney's platformer pack. A dark purple gradient background (from #221a3a at top through #3b2547 to #150f22 at bottom) with a glowing yellow moon in the upper right. Below the ground is a dark void-like pit area.

FIGHTERS: Two procedurally-drawn characters with helmeted humanoid designs:
- P1 "AZURE" (blue fighter): body #3d8de0, dark #22568c, trim #bfe2ff, spawns at x=420 facing right
- P2 "EMBER" (orange fighter): body #e0762b, dark #8c421a, trim #ffd9b0, spawns at x=860 facing left
Each fighter is drawn with: two legs with dynamic stride animation, rectangular torso with trim line, round helmeted head with plume, sword arm that rotates based on action, and a shield that appears when parrying. Character scale is 1.24x. Fighters have a subtle bob animation when grounded and cast shadow ellipses beneath them.

CONTROLS (local two-player on shared keyboard):
- P1: A/D to move, W or Space to jump, S to aim down, F to attack, G to parry
- P2: Arrow keys to move/jump/aim, L to attack, K to parry
- Touch controls available: left half of screen = P1 buttons, right half = P2 buttons
- R key or REMATCH button to restart after match ends

MOVEMENT MECHANICS:
- Dash-based movement (no walking): Holding A/D or arrows triggers rapid dashes at 760 px/s for 0.15s duration, with 0.20s cooldown between dashes. Direction inputs chain into a rhythm when held.
- Gravity: 2400 px/s² constant downward acceleration
- Jump velocity: -880 px/s on first jump, -780 px/s on double jump
- Two jumps available (refreshed on landing), 2 air dashes available
- Coyote time: 0.09s grace period after walking off platform
- Jump buffer: 0.12s input memory for jump presses
- Short hop: releasing jump button early reduces jump height
- Light air drag and ground drag based on state
- Fighters push each other apart when overlapping, creating spacing pressure

DIRECTIONAL ATTACK SYSTEM:
Six attack types selected by directional input + attack button:
1. FORWARD (neutral): horizontal slash, 11 damage, 430 horizontal + -210 vertical knockback, 78px reach
2. UP: overhead arc, 9 damage, 70 horizontal + -900 vertical knockback (strong launcher)
3. UP-DIAGONAL (forward+up): diagonal uppercut, 10 damage, 330 horizontal + -680 vertical knockback
4. DOWN-DIAGONAL (forward+down in air): angled slash, 11 damage, 400 horizontal + 200 vertical knockback
5. SWEEP (down on ground): low launcher, 10 damage, 200 horizontal + -520 vertical knockback, trips opponent
6. SPIKE (down in air): meteor strike, 13 damage, 90 horizontal + 760 downward spike, slams opponent down

Each attack has 0.46s total duration, hitbox active from 0.16s-0.30s into swing. Sword arm rotates through arc motion during swing, with colored trail effect (white/cyan/yellow) that arcs through the strike zone. One hit per swing maximum. After attack completes, 0.26s cooldown before next action.

PARRY SYSTEM (tap-based, not hold):
- Tapping parry button creates 0.20s active parry window with cyan spark effect and expanding ring indicator
- If hit connects during active window: deals 9 damage BACK to attacker, stuns attacker for 0.52s (free punish), defender stays mobile
- Whiffed parry: 0.26s vulnerable recovery animation if no hit occurs
- After parry use: 0.55s cooldown before next parry (or 0.18s if successful)
- Successful parry shows white spark burst and screen shake

COMBAT MECHANICS:
- Damage on clean hit: varies by attack type (9-13 damage)
- Knockback scaling: increases with damage taken, calculated as rage = 1 + (100-hp)/70, so low-health fighters fly much further
- Hitstun: 0.30-0.44s base stun depending on attack, keeps opponent frozen
- Juggle system: fighters launched into air remain stunned until landing, plus 0.30s additional landing stun, creating extended air combo potential
- Combo counter: consecutive hits within 0.95s window, displayed as "X HIT COMBO" in large serif font with attacker's trim color, combo scaling reduces stun by 0.035 per hit down to minimum 0.68x
- Dash canceling: dashing cancels your attack animation, key mechanic for extending combos
- Hits create white/yellow/cyan spark particle bursts, screen shake intensity 12-16 pixels
- Sparks are small squares that arc and fall with gravity

WIN CONDITIONS:
- Reduce opponent to 0 HP (KO)
- No ring-outs possible (invisible walls contain fighters)
- Best of 3 rounds format
- First to 2 round wins takes the match

HUD ELEMENTS:
- Top corners: Fighter names (P1·AZURE left, EMBER·P2 right)
- HP bars: gradient-filled bars, blue for P1, orange for P2, drain horizontally on damage
- Round pips: Star symbols (★ filled, ☆ empty) showing rounds won, ROUNDS_TO_WIN = 2
- Parry meters: Below HP, show parry availability - full bar when ready, drains/refills over cooldown, shows "PARRY READY", "PARRY!", "WHIFFED" states in different colors
- Center message: Large text showing "ROUND X", "FIGHT!", winner announcements
- Subtitle text below center: explains rules during round start
- REMATCH button appears on match end
- If fighter goes off-screen: small colored dot with "P1" or "P2" label appears at screen edge indicating direction
- Combo display: Large serif font showing "X HIT COMBO" near screen quarter positions

MATCH FLOW:
- 2.0s intro per round showing "ROUND X" then "FIGHT!"
- Active fight state with full control
- Round end on KO: 2.2s showing winner message
- Match end after 2 rounds won: shows final winner, REMATCH option appears

ART STYLE: Flat 2D vector-style procedural rendering, no sprite sheets for fighters. Clean geometric shapes with solid colors and gradients. Platformer-style environment sprites from Kenney asset pack (grass blocks, stone clouds). Retro-modern fighting game aesthetic with particle effects, color-coded UI, and dramatic screen shake. Cinzel serif font for important text, system font for labels. Purple/dark fantasy atmosphere with warm moon lighting.

PHYSICS DETAILS:
- Velocity capped at 1500 px/s vertical
- Fighter collision box: 56x94 pixels
- Attack reaches: 60-88 pixels depending on move
- Animation speed tied to movement velocity for grounded stride
- Slight random shake offset during screen shake effect
- White damage flash on hit (alternating frames)
- Ghost trail effect during dashes showing previous positions with fade
- Safety net: fighters glitched below ground are teleported back to platform

More free browser games

Browse the whole Arcade →