Skip to content

Arcade › Bernie's Whistle

Bernie's Whistle

  • 3d
  • casual
  • clicker
  • fetch
  • low-poly
  • browser
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. njdewitt13 built it with Cinevva, so it works on a phone or a tablet too.

Discussion

Nobody has said anything about Bernie's Whistle yet. Play it, then tell njdewitt13 what you would add next.

Make your own game

Bernie's Whistle was built by njdewitt13 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 Bernie's Whistle 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 Bernie's Whistle

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 clicker/fetch game titled "Bernie's Whistle" using Three.js-style rendering and a fixed third-person perspective. Show a small wooden plank deck floating against a dark/black background, with a warm brown wood floor made from repeated planks, soft shadows, and foggy muted lighting. Use a perspective camera positioned approximately at (0, 2.8, 5.5), looking toward the center of the deck around the dog's height. Use ambient hemisphere light plus a warm directional key light, enable antialiasing and soft cast/receive shadows.

The main character is a stylized low-poly/blocky dog named Bernie, centered on the deck on a rounded pink bath mat/rug. Load/use an animated low-poly dog model with Idle, Run, and Walk animations. Bernie begins in the Idle animation at the origin, facing generally toward the camera/front area. Place a red ball on the deck in front-right of him, around world position (1.3, 0.04, 0.7), and keep it resting on the ground when not flying or being carried. The dog is the only character and there are no enemies, hazards, timer, lives, or failure state.

Create a handmade red whistle as a visible clickable 3D object on a small wooden table at the left/back side of the deck. The whistle should be composed of a red cylindrical main body and red mouthpiece, a black ring on the rear, and a small yellow/orange loop; make its whole group clickable. Put the table around (-3.6, 0, 1.4), rotated about 0.6 radians, and put the whistle around (-3.2, 0.42, 1.55), rotated about 1.8 radians. Also decorate the deck with a wooden chair toward the left/back or left side around (-2.6, 0, -2.1), rotated about 2.8 radians, with a small red rectangular UNO-like box with a white label resting on its seat. Put the pink rounded mat near the center at roughly (0.1, 0.05, -0.1), rotated slightly (about 0.2 radians). These props are scenery except for the whistle.

Core interaction: the player can click the red whistle in the 3D scene or press a prominent red "Blow Whistle" button. Blowing plays a whistle sound, and only if Bernie is idle and the ball exists and is not currently attached does Bernie respond: switch to the Run animation and run toward the ball. When he comes within roughly 0.65 world units of the ball, switch to the Walk animation and mark the ball as attached. Bernie then walks back toward home/origin. While returning, visually carry the ball near his side/front using an offset of approximately (0.55, 0.65, 0) rotated with his heading. When he comes within roughly 0.5 units of home, return to Idle, release the ball, place it in front of him using a forward offset based on his rotation (approximately (1.4, 0.04, 0.6)), and increment the score by 1. The dog should rotate to face its movement direction and move at about 4.2 units/second while running to the ball and 3.8 units/second while returning. Do not allow repeated whistle responses while Bernie is already fetching or returning.

The player can throw the ball by clicking any point on the wooden deck or by pressing a red "Throw Ball" button. Use raycasting from the camera to detect clicks: clicking the whistle blows it; clicking the ground/deck throws the ball to the clicked 3D location. A throw should animate the ball along a smooth 0.6-second parabolic arc from its current position to the target, with ground-level target y about 0.04 and vertical arc lift around 1.1 units using a sine curve. The button throw should choose a random target in front of the dog, with x approximately between -1.75 and 1.75 and z approximately between -0.25 and 2.25. The player must blow the whistle separately after throwing; do not automatically call Bernie when the ball lands. While the ball is flying, do not force it down to the ground; once landed, keep it at y=0.04 unless attached to the dog.

Overlay UI: place a translucent dark HUD panel at the top-left reading exactly "Score: 0" initially, updating after successful fetch-and-return cycles. At the bottom center, show an instruction line in a translucent dark rounded panel reading "Click the red whistle to blow • Click deck to throw the ball". Beneath it, show two red rounded buttons with white text: "Blow Whistle" and "Throw Ball". Buttons should have padding, subtle shadow, and a darker red hover state. Keep the canvas full-screen, body margin zero, with overflow hidden. Make the scene resize responsively with the window. The overall visual style should be a charming low-poly toy-like 3D diorama with warm wooden furnishings, subdued fog, visible shadows, and simple clean system-font UI.

More free browser games

Browse the whole Arcade →