Skip to content

Arcade › Blade Duel

Blade Duel

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

5 plays

How to play

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

Discussion

Nobody has said anything about Blade Duel yet. Play it, then tell María what you would add next.

Make your own game

Blade Duel was built by María 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 Blade 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 Blade 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 responsive browser-based 2D side-view fighting game titled "Blade Duel" using a full-screen pixel-art canvas with crisp, non-smoothed rendering. The game is a local two-player duel, not an AI-vs-player game: both fighters are controlled simultaneously by keyboard or touch controls.

CAMERA AND STAGE: Use a fixed orthographic side-view camera showing the entire 960x540 logical arena, scaled to fill the browser window while preserving the simple 2D composition. The canvas should resize with the viewport and use pixelated/crisp edges. The background is a stylized sunset mountain scene: a vertical gradient from deep purple (#26164b) at the top through violet (#57328f) to warm orange near the bottom, with three faint translucent rectangular cloud shapes in the upper/middle sky. Along the lower background, draw a dark purple layered mountain silhouette with angular peaks. The playable ground begins below the fighters, as a muted olive-green platform/ground strip with a lighter green top edge and small repeating dark-green rectangular texture marks. Keep both fighters inside invisible left and right arena walls with roughly 28 logical pixels of padding; there is no scrolling.

FIGHTERS: Place Player 1 at about x=250 and Player 2 at about x=710 on the 960-wide stage. Each is a small, blocky pixel warrior rendered from a compact pixel sprite rather than smooth vector art. Use dark navy/near-black outlines, a pale face/skin accent, colored armor, light gray blade/weapon-like central detailing, brown boots/legs, and yellow accent pixels. Player 1 uses cyan/blue armor (#4dc5ff) with bright cyan trim (#62f4ff); Player 2 uses coral/red armor (#ff6c61) with orange trim (#ffb36a). Each character is approximately 54 logical pixels wide and 112 high, stands on a small dark translucent rectangular shadow, and constantly turns to face the other player. Mirror the pixel sprite horizontally based on the opponent's position. Add subtle idle/movement bobbing, and make the lower light-gray sprite pixels subtly move while running. During an attack, animate the weapon/arm reach and briefly draw a translucent colored square slash effect beside the attacking fighter. When hit, flash the fighter white/alternating white pixels for a short moment.

PLAYER MOVEMENT AND PHYSICS: Each player has 100 health, horizontal movement speed about 290 logical pixels/second, jump velocity about -760, and gravity about 1900. Holding the movement key sets horizontal velocity; releasing it stops horizontal movement immediately. Jump only when grounded. Apply gravity, clamp each player to the invisible stage walls, and land them on groundY=430 (the sprite extends down to the visible ground strip). Players cannot pass through each other: when their bodies overlap, separate them with about 8 logical pixels between them. Both fighters automatically face the opponent at all times, including after movement or separation.

COMBAT: An attack is triggered once per key press (not continuously every frame while held), if the fighter is not already attacking and the attack cooldown is over. An attack lasts about 0.18 seconds and has a cooldown of about 0.38 seconds. Check the attack hit only during the narrow active interval when the attack timer is greater than 0.08 and less than 0.15 seconds. The melee hitbox is a 34x28 logical rectangle positioned just in front of the fighter (starting around the fighter's forward edge, with the correct mirrored position); the opponent's hurtbox is their body rectangle inset about 8 pixels horizontally and 10 pixels vertically. A successful hit removes 12 health, only if the opponent is not already in a 0.28-second hit-stun/invulnerability window. Apply a small forward knockback of about 160 velocity units and push the opponent 16 pixels away, still clamped inside the walls. There are no projectiles, pickups, special moves, blocking, combos, or AI enemies.

CONTROLS: Player 1 uses A to move left, D to move right, W to jump, and F to strike. Player 2 uses Left Arrow and Right Arrow to move, Up Arrow to jump, and / (slash) to strike. Also provide touch controls on small/coarse-pointer screens: two bottom corner control clusters, one for each player, with left/right arrow buttons on the upper row and JUMP/HIT buttons on the lower row. Touch buttons should press and release the same virtual keys, prevent scrolling, and show HIT in a warm yellow accent.

HUD: Overlay a dark translucent rectangular panel with a thin semi-transparent light border near the top center, spanning most of the width. Use a monospace font throughout. Show PLAYER 1 on the left and PLAYER 2 right-aligned on the right, each above a bordered 16-pixel-high health bar. Player 1's bar fills cyan from the left; Player 2's coral bar fills from the right. Put a large yellow timer centered between the bars, starting at 60 seconds and counting down using the ceiling of the remaining time. At the bottom center, show a dark translucent bordered instructions panel reading exactly: "P1: A/D move, W jump, F strike  •  P2: ←/→ move, ↑ jump, / strike" followed by a line explaining that invisible walls keep both fighters on-screen and they auto-face each other. On touch layouts the instruction text can be slightly smaller.

WIN CONDITIONS AND RESTART: The round ends immediately when a fighter reaches zero health, displaying a centered dark translucent winner card with a light border and uppercase result such as "PLAYER 1 WINS" or "PLAYER 2 WINS", plus "Press R to restart" underneath. When the 60-second timer reaches zero, declare the player with more remaining health the winner; if health is equal, display "DRAW". Freeze gameplay after the result. Press R or r to reset the round, restoring both fighters to full health, their starting positions, the 60-second timer, and hiding the winner card. Maintain the minimalist arcade presentation with no menus, no sound requirement, and no extra gameplay systems.

More free browser games

Browse the whole Arcade →