Skip to content

Arcade › Ring Duel

Ring Duel

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

9 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 Ring Duel yet. Play it, then tell bathroomtile09 what you would add next.

Make your own game

Ring Duel 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 Ring Duel 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 Ring Duel

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 local two-player 3D arena fighting game titled “Ring Duel,” using Three.js with no build step. The game is viewed from a third-person elevated perspective behind and above the arena, with a perspective camera that continuously frames both fighters: center the view between them, zoom farther out and raise the camera as their separation increases, and add subtle camera shake on impacts. Use a dark cinematic sunset look with fog, a warm directional sun, cool hemisphere fill light, and a sunset sky/environment. The arena is a raised circular stone-colored platform with radius 9, a dark brown outer rim, and a dark circular marking at the center; beyond it is a dark void. Place a ring of 12 evenly spaced castle-style pillar columns around the outside, each made of three stacked stone pillar sections. Shadows should be enabled.

This is a best-of-three local fighting match. The title/menu screen uses a nearly black/navy radial-gradient background, large centered gold-to-cream “RING DUEL” text, an explanatory paragraph, two player control columns, and a gold “FIGHT” button. The instructions explain: free movement; attack direction depends on the direction being held; neutral is a jab, forward is a heavy thrust, sideways is a spin slash, and backward is a retreating counter; holding block protects from the front, tapping block just as a hit lands parries; knocking an opponent out of the ring wins instantly. Start each round with a short centered “ROUND 1 / READY” overlay and a bell-like sound, then show “FIGHT!”. A round lasts 60 seconds. Win by reducing the opponent to zero HP, knocking them outside the circular arena, or having more HP when time expires. First player to win two rounds wins the match; show the winner and offer a rematch.

Use two stylized low-poly procedural stick fighters rather than realistic human models. Each fighter has dark charcoal/black cylindrical limbs and torso, spherical joints, a colored spherical head with tiny dark eye dots indicating facing direction, colored fists/forearms, and a glowing colored marker ring beneath them. Player 1 is cyan/light blue and Player 2 is orange/amber. The fighters stand on a horizontal plane, can move freely in all eight directions, automatically turn toward each other while idle or moving, and lock their facing direction while blocking or attacking. Add subtle idle breathing and visibly different procedural poses for walking, running, blocking, each attack, hit stun, guard break, dashing, falling, and death.

Controls: Player 1 uses WASD to move, V to attack, B to hold block, and C to dash. Player 2 uses the arrow keys to move, Period (.) to attack, Slash (/) to hold block, and Comma (,) to dash. Also support coarse-pointer/touch devices with one virtual analog stick and HIT, BLOCK, and DASH buttons for each player, arranged at the lower left and lower right. The sticks should be translucent circular controls with draggable knobs; each player’s button group is on their side of the screen.

Movement speed is 4.6, blocking movement speed is 1.7, and dash speed is 13.5. A dash lasts 0.3 seconds, costs 22 stamina, and grants 0.17 seconds of invulnerability. Fighters push apart when closer than 1 unit. Stamina regenerates at 20 per second when idle/moving and 5 per second while blocking.

The attack button reads the movement direction at the instant it is pressed, relative to the fighter’s current facing. With little/no movement input, perform a JAB: 6 damage, 0.11 second startup, 0.08 active time, 0.17 recovery, range 2.0, narrow 80-degree arc, 3.5 knockback, small forward lunge. With input toward the opponent/facing direction, perform a heavy THRUST: 17 damage, 0.28 startup, 0.11 active, 0.40 recovery, range 2.6, 65-degree arc, 12 knockback, strong forward lunge. With sideways input, perform a 360-degree SPIN SLASH: 11 damage, 0.19 startup, 0.15 active, 0.30 recovery, range 2.4, 7 knockback, and hit all around the attacker. With input away from the opponent, perform a retreating COUNTER: 9 damage, 0.09 startup, 0.09 active, 0.26 recovery, range 2.2, 90-degree arc, 6 knockback, and a backward lunge. Each swing may hit a target only once and should have startup, active, and recovery phases. The procedural fighter pose should clearly telegraph the thrust, spinning arms, retreating counter, or jab.

Blocking absorbs attacks only inside a 70-degree frontal cone. Blocked attacks deal chip damage and drain stamina according to the move: jab 1.2 chip/12 stamina, thrust 4.0/42, spin 2.6/26, counter 2.0/20. A block causes a blue-white spark burst and block sound. If stamina reaches zero while guarding, trigger GUARD BREAK: the defender becomes fully open and stunned for 1.0 second. If the defender began blocking within 0.22 seconds before the hit lands, trigger PARRY instead: take no damage, restore 25 stamina to the defender, stun and knock back the attacker for 0.85 seconds, display “PARRY!”, briefly slow the game to about 25% speed, and use bright white sparks. Hits landing more than 110 degrees behind the defender’s facing are BACKSTABS: multiply damage by 1.35 and increase knockback by 25%, with a “BACKSTAB / +35% damage” message. Normal hits cause hit stun, colored/gold impact sparks, knockback, and stronger shake; heavy knockbacks can briefly slow the action. When HP reaches zero, play a falling/death pose and show K.O. Ring-outs should make the fighter fall off the platform and rotate as they drop, immediately awarding the round.

HUD overlays the 3D scene. At the top left show “P1 · CYAN,” a cyan-blue horizontal HP bar, a thin yellow stamina bar, and two round-win pips. At the top right show “AMBER · P2,” mirrored orange-red HP and yellow stamina bars, and two pips. Center the large countdown timer at the top, starting at 60, with “ROUND 1” below it. Use bold condensed display typography similar to Bebas Neue for headings and a condensed sans-serif for instructions. Centered temporary announcements should include ROUND/READY, FIGHT!, PARRY!, GUARD BREAK, BACKSTAB, TIME UP, K.O., RING OUT, and player win messages, with a smaller explanatory subtitle. Use gold/yellow for round pips and announcements. Add tiny synthesized WebAudio sound effects only (no external audio files): swing, impact, block, parry, guard break, K.O., bell, and dash sounds. Add small particle bursts for hit, block, and parry effects.

More free browser games

Browse the whole Arcade →