Arcade › Sword Duel
Click the game above and it runs right here in your browser. No download, no installer, no account needed. It was built with Cinevva, so it works on a phone or a tablet too.
Nobody has said anything about Sword Duel yet. Play it, then tell the creator what you would add next.
Sword Duel was built 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 Sword 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.
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-based 3D action game titled “Sword Duel.” Use a Three.js-style third-person camera following the player in a small square arena. The visual style should be simple, dark, and low-poly: a nearly black/navy background with fog, a tiled floor, plain dark gray perimeter walls, soft directional shadows, and basic cool ambient/hemisphere lighting. Populate the arena with two humanoid 3D characters holding swords: the player is a knight/adventurer starting at the south side of the arena (position approximately z=+3), facing north, and the opponent is a warrior starting opposite at z=-3, facing the player. Use distinct knight and warrior models if available, with a sword attached to each character’s right hand; provide a simple primitive-character/sword fallback if external assets fail. The player can move around the arena with WASD using third-person controls and mouse look; there is no jumping. Keep both fighters constrained to the square arena, approximately 9 by 9 world units, with low walls around its edges. The camera should follow the player from behind at a raised angle, with a perspective view and the opponent visible ahead when the duel begins. Implement a real-time melee duel with health values starting at 100 for both fighters. Add a player ATTACK action with a visible one-handed melee/chop animation. Attack has a roughly 1.1-second cooldown and resolves its hit about 480 ms after activation. It only damages the opponent when within about 2.7 world units and when the player is facing the opponent (forward-direction dot product greater than 0.4). A normal hit deals 20 damage; if the player has successfully blocked the enemy’s previous strike and is in the temporary counter window, the next player hit deals 32 damage instead, then consumes the counter opportunity. Play hit/receive-hit animations and a short synthesized hit sound. Implement holding BLOCK: while active, play a looping blocking animation and prevent the player from attacking. The enemy is AI-controlled: it approaches the player until within about 2.3 units, turns to face the player, and attacks when within about 3 units, with approximately a 1.8-second cooldown. Its sword attack resolves after about 520 ms and only hits if it is close enough and facing the player. An enemy hit deals 15 damage. If the player is blocking at the moment of impact, negate the damage, play a block-hit animation and a sharper block sound, and enable a counter window lasting about 1.7 seconds. Otherwise play the player hit animation and reduce player health. The enemy should stop moving while attacking, and both actors should return to idle/walking animations as appropriate. Provide both desktop and touch controls. On desktop, show the instruction text “WASD move • SPACE / Q attack • E or SHIFT block • Mouse look” along the bottom center. SPACE or Q attacks; E or left Shift starts blocking and releasing the key stops blocking; clicking the canvas while pointer-locked also attacks. On mobile/touch, place two fixed buttons at the lower right: a red ATTACK button that triggers a single attack and a blue BLOCK button that blocks while pressed and stops on release. Make the buttons prominent, rounded, and usable over the canvas. Add a fixed HUD at the top-left in a translucent black rounded panel. It should contain the label “YOU” above a 180px-wide, 16px-high health bar filled green, and the label “ENEMY” above a matching health bar filled red/coral. Smoothly update each bar’s width from 100% to 0% as health changes. Keep the UI minimal and readable against the dark scene. When either health value reaches zero, stop gameplay and show a centered dark translucent result dialog. For player victory, display “VICTORY!” and the line “You countered and struck down the enemy!”; for player defeat, display “DEFEAT” and “The warrior overpowered you.” Include a PLAY AGAIN button that resets both health values to 100, clears attack/block/counter/game-over state, returns the player and enemy to their starting positions and orientations, resets cooldowns, and resumes idle animations and play. Use simple generated oscillator sounds for ordinary hits and blocked hits, and ensure all gameplay, HUD, animation, cooldown, facing, range, AI, and reset rules work even if the visual assets are replaced by primitives.