Crazy Balls

Seele01-Flash
By
Crazy Balls is an addictive physics-based ball game that combines strategic aiming with number mechanics. Launch balls to hit numbered targets and watch the satisfying physics interactions unfold.

Prompt

MODEL: Seele01-Flash
Please use Three.js to generate a **mobile-first game** with the theme "**Crazy Balls - Physics Number Breaker**". Please read the following detailed game design requirements first, and then generate the code accordingly: ### 1. Assets & Environment * **Visual Style:** "Flat 3D" or "2.5D" aesthetic using an **Orthographic Camera** to mimic the reference image's clean, vector-art look while utilizing WebGL performance. * **Color Palette:** * **Background:** Deep Navy/Dark Purple (`#1a1a2e`) to provide high contrast. * **Targets (Enemies):** Bright, saturated flat colors like Cyan (`#4db6ac`), Lime Green (`#66bb6a`), and Pastel Yellow (`#fff176`). * **Balls:** Pure White (`#ffffff`) emissive material to make them pop against the dark background. * **Trails:** Semi-transparent white trails (using a `TrailRenderer` logic or fading mesh copies) following the balls to visualize speed and trajectory, exactly like the grey swooshes in the screenshot. * **Geometry:** * **Balls:** Simple `SphereGeometry` (low poly is fine, e.g., 16 segments). Use `InstancedMesh` for rendering hundreds of balls for mobile performance. * **Targets:** `CylinderGeometry` (flat, coin-like) rotated to face the camera. Display the HP number dynamically on the face using a text texture or SDF font. * **Star:** A simple extruded Star shape for bonus items. * **Lighting:** Ambient light plus a soft directional light to create subtle rim lighting on the spheres/cylinders, giving them volume without losing the flat aesthetic. ### 2. Audio Requirements * **BGM:** A chill, minimalist "Synth-pop" or "Lo-Fi" loop. It should be non-intrusive to support the "Idle" nature of the game. * **Sound Effects (SFX):** * **Launch:** A "swoosh" or rapid-fire popping sound when the stream of balls is released. * **Impact:** A satisfying high-pitched "tink" or "pop" sound when a ball hits a target. Pitch should slightly increase with consecutive hits (combo system) to provide dopamine feedback. * **Star Collection:** A magical chime or "power-up" sound. * **Level Clear:** A short, cheerful jingle. ### 3. Gameplay Loop * **Core Mechanic:** The game is a mix of "Brick Breaker" and "Idle Physics". 1. **Aiming Phase:** The player aims a launcher from the bottom (or top) of the screen. 2. **Firing Phase:** Upon release, a stream of white balls (e.g., 50+ balls) shoots out in the aimed direction. 3. **Physics Phase:** Balls bounce efficiently (high restitution/bounciness) off walls and circular targets. Gravity should be present but low, allowing balls to bounce around the upper area for a while before falling back down. * **Damage System:** Each collision reduces the number on the target by 1. When the number reaches 0, the target explodes (particle effect) and is removed. * **Progression:** * After all balls return to the bottom, a new row of targets spawns at the top, and existing targets move down. * **Game Over:** If a target reaches the bottom "Fail Line". * **Special Items:** Hitting the **Star** object adds +1 ball to the player's total count for the next round immediately. ### 4. Mobile Controls & Interaction * **Touch Input:** * **Drag & Release (Slingshot):** The user touches anywhere on the screen, drags backward/sideways to aim a trajectory line (dotted helper line), and releases to shoot. * **Sensitivity:** ensure 1:1 tracking for precise aiming. * **Orientation:** **Portrait Mode** (Vertical) is mandatory to accommodate the "falling down" layout of the targets. * **UI Layout:** * Score and "Best Score" at the top (safe area padding required). * Ball Count display near the launcher. * UI buttons (Pause, Restart) must be at least 44x44px for hit-testing. * **Feedback:** * **Haptic:** Trigger a light vibration (`navigator.vibrate(5)`) on every wall bounce or target hit if possible, or a heavier vibration when a target is destroyed. * **Visual:** When a target is hit, it should scale down slightly and bounce back (juice/squash & stretch) to show impact. ### 5. Tech Stack Note * Please include a physics engine suitable for Three.js, such as **Cannon-es** or **Matter.js** (since it's effectively 2D physics, Matter.js might be more performant, but Cannon-es works well for the 2.5D look). Ensure collision detection is continuous to prevent fast-moving balls from tunneling through targets. Do not ask for clarification. Do not request confirmation. Directly execute the generation task based on the given instructions.

Game Introduction

About Crazy Balls

Crazy Balls is an engaging physics-based ball game that challenges your aiming skills and strategic thinking. This innovative game combines the satisfaction of ball physics with number-based gameplay mechanics, creating an addictive experience that keeps players coming back for more. The game features colorful balls with numbers, geometric obstacles, and realistic physics that make every shot feel rewarding.

Core Features

Realistic Physics Engine

Experience authentic ball physics as your shots bounce, roll, and interact with various obstacles. Every launch feels natural and responsive, making precise aiming both challenging and satisfying.

Number-Based Strategy

Each ball and target features numbers that affect gameplay mechanics. Plan your shots carefully to maximize points and achieve optimal results. The number system adds a strategic layer that goes beyond simple aiming.

Multiple Game Modes

  • Classic Mode : Traditional ball shooting with increasing difficulty
  • Idle Mode : Passive gameplay elements that progress even when you're not actively playing
  • Challenge Levels : Special scenarios with unique obstacles and objectives

Visual Design

Enjoy clean, minimalist graphics with vibrant colors against a dark background. The visual design focuses on clarity and functionality, ensuring you can easily track ball movement and plan your next shot.

Gameplay Mechanics

The core gameplay revolves around launching balls to hit numbered targets and obstacles. Each successful hit reduces target numbers, and your goal is to eliminate all targets using the available balls. The physics engine ensures that every shot behaves realistically, with balls bouncing off surfaces and interacting with other objects in the environment.

Strategic Elements

  • Angle calculations for optimal trajectories
  • Ricochet shots using walls and obstacles
  • Number management to maximize efficiency
  • Resource planning with limited ball supplies

Operation Guide

Mouse Controls : - Aim : Move mouse to adjust shooting angle - Shoot : Click and hold to charge power, release to fire - Precision Mode : Hold right-click for fine aiming adjustments

Touch Controls (Mobile): - Aim : Touch and drag to set trajectory - Shoot : Tap to fire at current angle - Power : Hold longer for increased shooting power

The intuitive control scheme makes the game accessible to players of all skill levels while providing enough depth for advanced techniques.

Why Play Crazy Balls

Crazy Balls offers the perfect blend of casual accessibility and strategic depth. Whether you're looking for a quick gaming session or an extended puzzle-solving experience, this game adapts to your playstyle. The combination of physics simulation, number mechanics, and satisfying visual feedback creates an engaging experience that appeals to fans of both action and puzzle games.

The game's idle elements mean you can make progress even during short breaks, while the physics-based challenges provide active engagement when you want to focus on precise gameplay. It's completely free to play in your browser, with no downloads required and full cross-platform compatibility.

Frequently Asked Questions (FAQ)