Skip to content

Arcade › Naughty Duck

Naughty Duck

  • 3d
  • turn-based
  • roguelike
  • grid
  • dungeon-crawler
  • arcade
  • cartoon
0
Remix it Discord

0 plays

How to play

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

Discussion

Nobody has said anything about Naughty Duck yet. Play it, then tell AIA Officiel what you would add next.

Make your own game

Naughty Duck was built by AIA Officiel 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 Naughty Duck 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 Naughty Duck

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, turn-based grid roguelike called “Naughty Duck,” using a colorful low-poly/cartoon style. Use Three.js (or an equivalent 3D engine), with a perspective camera looking down from above and slightly behind the player, following the player as it moves. The scene should have soft ambient lighting, a warm directional light, shadows, and light blue fog in the distance.

The play area is an 11x11 tile grid generated procedurally for each level. Begin with every tile blocked by a wall, then carve 4 or more randomly sized rectangular rooms (2–4 tiles wide and 2–4 tiles deep) and connect the rooms with simple horizontal/vertical corridors. Walkable tiles are pale mint-green, almost grass-like square tiles with dark grid seams. Non-walkable tiles are chunky, solid dusty-pink rectangular blocks about 2.8 units tall, creating an irregular maze-like dungeon around the floor. Keep the playable tiles and walls aligned to a 3D grid, with each tile about 3 world units across.

The player is a homemade cute but “naughty” yellow duck assembled from simple primitives: a large round yellow body, smaller yellow head, orange cone-like beak, big white eyes with black pupils, orange angular wings on either side, and two small orange feet. Place it centered on one walkable tile and make it cast a shadow. The duck can move exactly one grid tile at a time in the four cardinal directions, never diagonally, using Arrow keys or WASD. Also provide four large on-screen touch buttons in a bottom-center cross layout: up, left, right, and down. Ignore movement into walls or outside the grid. Movement is turn-based: after each valid move, or after bumping/attacking an enemy, the enemies take their turn, then the player may act again.

At the farthest walkable tile from the random starting tile, place the exit. Render it as a bright yellow rectangular platform/base with a glowing-looking yellow-orange material and an orange cone/arrow marker hovering above it, pointing down. Stepping onto the exit displays a short message and advances to the next level. Each new level regenerates the rooms, corridors, start, exit, enemies, and items. The level number increases, and on advancing the duck regains one health point up to its maximum.

Spawn 3 plus roughly 0.7 times the level number enemies, capped at 7, on separate walkable tiles that are not the player or exit. Randomly choose between two low-poly animal models loaded as bunny and beaver GLB assets. Scale them to about 65% of their source size, animate their idle animation if available, and make them cast shadows. Each enemy has health equal to 2 plus the current level. If the player attempts to move into an enemy, do not move into that tile; instead deal the duck’s current damage to that enemy and end the player turn. Start duck damage at 1. When an enemy reaches zero health, remove it, add 12 plus twice the current level to the score, show a humorous combat message, leave a dark red blood pool on the tile for several seconds, and burst 7 small red spherical gore particles upward and outward with gravity before they fade away.

On each enemy turn, every living enemy checks its Manhattan distance to the duck. If adjacent, it attacks for 1 health and stays in place. If farther than 6 tiles, it does nothing. Otherwise it tries to move one cardinal step closer to the duck, respecting walls, grid bounds, and occupied enemy tiles; if its preferred direction is blocked, try an alternate axis/direction. Enemies should turn roughly toward the duck when moving. Enemy turns should happen with a short delay of about 260–280 milliseconds, and attacks should produce a brief red screen flash and a damage message.

Place two collectible items on unused walkable tiles each level. A heart item is a bright pink/red floating sphere; collecting it restores 2 health, capped at 6. A malice item is a small glowing blue orb with a yellow torus ring around it; collecting it increases duck damage by 1, capped at 4. Items disappear when collected and show a brief message. The player begins with 6 health and the HUD displays up to six heart icons; if health reaches zero, show a game-over message, then after a short delay reset health to 6, damage to 1, score to 0, and restart from level 1.

Create a fixed HUD over the 3D scene. At the top, use a dark translucent gradient bar with playful bold lettering: yellow “NAUGHTY DUCK” on the left, then “Niv. [number]”, then six-or-fewer red heart icons. On the top right show “Score: [number]”. Use a fun rounded/comic font style with a subtle dark text shadow. At the bottom left, show temporary pale-yellow/orange French status messages such as “Niveau 1 - Le canard est prêt !”, “SORTIE ! Niveau suivant...”, health/item messages, attack exclamations, and “GAME OVER - Le canard est mort !”. Also show combat quips like “SPLAT !”, “BOOM DE PELUCHE !”, “EXPLOSION !”, “Le canard est VICIEUX !”, “PELLE ROUGE !”, “Haha !”, “Happy... Tree... OUPS !”, or “CANARD MÉCHANT !”; exact random selection is fine. The status area should be a dark translucent rounded rectangle spanning most of the lower width, positioned above the controls.

Use a high, close-following camera: keep it centered on the duck’s current tile, around 16 units above the floor and about 9.5 units behind it, gently bobbing vertically, and look toward the duck at approximately head height. Preserve the deliberately occluded, maze-like view where nearby pink walls can fill large portions of the screen while the mint floor corridors and characters remain visible. The overall presentation should be playful, colorful, slightly mischievous, and cartoonishly violent rather than realistic. Include an R-key restart that resets health, damage, score, and level, and make the layout responsive for desktop keyboard and mobile touch play.

More free browser games

Browse the whole Arcade →