Appearance
Arcade › Beastline Duel
Click the game above and it runs right here in your browser. No download, no installer, no account needed. Grisel Rivera built it with Cinevva, so it works on a phone or a tablet too.
Nobody has said anything about Beastline Duel yet. Play it, then tell Grisel Rivera what you would add next.
Beastline Duel was built by Grisel Rivera 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 Beastline 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 responsive browser game titled "Beastline Duel", an original turn-based 6v6 creature battler. The entire game is a single-screen tactical duel: the player defeats a rival squad of six by choosing attacks, exploiting elemental type matchups, and swapping creatures. Use a dark, atmospheric visual style with a radial purple/navy background, translucent near-black panels, rounded 16–18px corners, subtle white borders, blur/glass effect, and strong soft shadows. Use a clean system sans-serif font, white primary text, muted lavender-gray secondary text, bright blue attack buttons, teal squad-swap buttons, green HP bars, and an orange "Rematch" button. Layout: make the page fill the viewport without scrolling, with safe-area-aware padding. At the top, show a glass panel containing the large title "Beastline Duel", the subtitle "Original 6v6 creature battler — beat the rival squad by smart swaps and type matchups.", and a pill status badge reading "Choose a move", changing to "Choose a replacement", "Victory", or "Defeat". The central arena has three stacked regions: an enemy team row, a center battle log, and a player team row. Each team row is a responsive panel containing a creature stage with a large rounded-square creature portrait/orb and a stat panel. On desktop, the enemy stage is left and its info is right, while the player info is left and stage is right; on narrower screens stack the stage and info. Each stat panel shows the creature name, a label such as "Rival Active" or "Your Active", a horizontal HP bar, and pills for elemental type, HP current/max, SPD, ATK, and DEF. Show active portraits as colorful gradient-backed rounded cards with a large creature emoji, the creature's two-letter initials, and a small type emoji; when fainted, make the portrait grayscale and partially transparent. Portrait art can be generated as inline SVG using gradients and the creature emoji, not external assets. The center log panel shows a turn badge such as "TURN 1" and a sentence describing the latest actions. Begin with: "Your captain steps forward. Pick a move or swap to another ally." Below the arena, show a glass control panel with two sections: "MOVES" and "SWAP SQUAD MEMBER". Display four move buttons in a 2-column grid on desktop, one column on mobile. Each blue move button contains the move name and a second line with its type emoji, lowercase type, and "Power N". Display the six player creatures as teal buttons with small portrait thumbnails, creature name, type, and HP current/max in a 3-column grid on desktop and one column on mobile. Highlight the active squad member with a white outline and outer glow; disable the active member and fainted members. At the footer, show colored squad dots and labels "Your squad X/6" and "Rival squad X/6" (green for living, red for fainted), plus a rounded orange "Rematch" button. Gameplay rules: on reset, randomly shuffle the following 12-creature library, give the player six random creatures and the rival six random creatures, clone them with full HP, and make the first living member active for each side. Each creature has a name, type, max HP, attack, defense, speed, and exactly four moves. The library is: - Emberlynx, flame, 112 HP, ATK 32, DEF 20, SPD 24; Cinder Pounce flame 25, Blaze Fang flame 22, Quick Swipe shade 18, Heat Crash stone 30 (self slow 3). - Reefdrake, tide, 120 HP, ATK 30, DEF 23, SPD 18; Riptide Rush tide 26, Brine Burst tide 21, Mist Veil shade 17 (self guard 4), Shell Slam stone 28. - Thornhorn, bloom, 118 HP, ATK 29, DEF 24, SPD 19; Vine Lash bloom 25, Pollen Pop bloom 19, Root Guard stone 16 (self guard 5), Bloom Burst storm 27. - Voltfin, storm, 101 HP, ATK 31, DEF 18, SPD 29; Spark Lance storm 24, Jet Snap tide 20, Surge Dash storm 26, Static Bite shade 18 (self fast 3). - Boulderback, stone, 132 HP, ATK 28, DEF 28, SPD 14; Granite Roll stone 27, Dust Ram stone 23, Magma Shard flame 20, Ward Stomp bloom 17 (self guard 6). - Gloomoth, shade, 104 HP, ATK 30, DEF 19, SPD 27; Night Flutter shade 23, Moon Dart shade 21, Hex Wink storm 18, Fade Step shade 16 (self fast 5). - Sunram, flame, 108 HP, ATK 33, DEF 18, SPD 22; Solar Horn flame 26, Scorch Kick flame 24, Dust Bolt stone 18, Wild Charge storm 20 (self slow 2). - Lotushell, tide, 124 HP, ATK 27, DEF 25, SPD 16; Lotus Spray tide 22, Harbor Bash stone 25, Cool Current tide 18 (self guard 4), Tide Bloom bloom 23. - Mossimp, bloom, 98 HP, ATK 27, DEF 17, SPD 31; Leaf Flick bloom 21, Spore Zip bloom 19 (self fast 4), Sneak Claw shade 19, Canopy Crash storm 25. - Cloudleap, storm, 103 HP, ATK 28, DEF 18, SPD 30; Volt Vault storm 24, Sky Jab storm 21, Downpour Tap tide 19, Feint Burst shade 18. - Ironmole, stone, 126 HP, ATK 29, DEF 26, SPD 15; Tunnel Crush stone 26, Pebble Burst stone 20, Coal Spit flame 21, Burrow Brace stone 16 (self guard 7). - Duskhound, shade, 110 HP, ATK 31, DEF 20, SPD 25; Shadow Howl shade 24, Lurk Strike shade 22, Night Spark storm 20, Ghost Feint shade 18 (self fast 4). Use creature emojis matching the originals: Emberlynx 🦁, Reefdrake 🐉, Thornhorn 🦌, Voltfin 🦈, Boulderback 🐢, Gloomoth 🦇, Sunram 🐏, Lotushell 🐚, Mossimp 🐒, Cloudleap 🐇, Ironmole 🐗, Duskhound 🐺. Types are flame, tide, bloom, storm, stone, and shade, each with an icon: 🔥, 💧, 🌿, ⚡, 🪨, 🌙. Apply this exact effectiveness chart, defaulting to 1.0 when no relationship is listed: flame attacks do 1.3x to bloom, 0.8x to stone, 0.75x to tide; tide does 1.3x to flame, 1.2x to stone, 0.8x to storm; bloom does 1.3x to tide, 1.15x to stone, 0.8x to flame; storm does 1.25x to tide, 1.1x to shade, 0.8x to stone; stone does 1.25x to storm, 1.1x to flame, 0.8x to bloom; shade does 1.15x to storm, 1.1x to bloom, 0.9x to flame. A same-type move gets a 1.12x bonus. Damage is at least 8 and is calculated approximately as round((move power + attacker ATK - defender DEF*0.45) * same-type bonus * type multiplier * guard multiplier * random factor), where random factor is 0.92–1.08 and guard multiplier is max(0.72, 1 - defender guard/40). After being hit, defender guard decreases by 4. A move's self guard adds its listed amount to the attacker, self fast adds to speed buff, and self slow subtracts from speed buff. Guard and speed buffs persist on that creature during the duel, including while swapped out. Each turn the player either chooses one of the four attacks or swaps to a living bench member. The rival acts automatically. Resolve actions in priority order: swaps have priority over attacks; otherwise higher effective speed (base SPD plus speed buff) acts first, with a random tie break. The enemy AI should usually choose the highest-scoring move, scoring move power times its matchup multiplier, with a small random 0–4 bonus and a 1.12 preference for same-type moves. If the active player is above 35% HP, the opponent has a favorable matchup against it, and the rival has a healthy bench creature with a favorable matchup, the AI has a 42% chance to swap to the best such bench member instead. Animate each action with a short delay: attack portrait briefly scales/translates and brightens, update HP and stats, wait about 420ms; swaps wait about 280ms. Disable controls during resolution. When a creature reaches zero HP, mark it fainted, append "X faints!" to the battle log, and automatically send out the first living creature on that side. If the player's active creature faints, require the player to choose a replacement before allowing another attack; show "Choose a replacement" and only enable living non-active bench members. If all six on one side faint, end the match and show Victory or Defeat, with log text equivalent to "Rival squad is down. You win the duel!" or "Your squad is down. Rival wins the duel." Increase the turn number after each non-final round. Add a Rematch button that completely resets both randomly generated squads, HP, active units, turn counter, buffs, log, and winner state. Preserve the polished responsive UI and make touch/pointer interaction work on buttons.