99 Balls - Online Ball Shooting Game

Seele01-Flash
By
99 Balls is an innovative arcade ball shooter that combines classic Bubble Shooter and Breakout gameplay. Destroy numbered balls strategically before they reach the bottom, collect circles to unlock new weapons.

Prompt

MODEL: Seele01-Flash
Please use Three.js to generate a **mobile-first game** with the theme "**99 Balls (3D Arcade Remix)**". Please read the following detailed game design requirements first, and then generate the code accordingly: ### 1. Assets & Environment * **Visual Style:** Modern "Flat 3D" aesthetic. High contrast, vibrant colors against a dark, deep purple/navy gradient background (CSS hex suggestion: #1a0b2e to #2d1b4e). * **Target Assets (The "Balls"):** instead of perfect spheres, render them as "Pucks" or thick coins using `THREE.CylinderGeometry` (short height, oriented facing the camera). Each puck must display a large, white sans-serif number centered on its face. * **Color Coding:** Use a distinct color palette for different number ranges (e.g., Green for 1-3, Pink for 4-6, Red for 7-9, Gold for 10+). * **Material:** `MeshToonMaterial` or `MeshLambertMaterial` to give a slight plastic, tactile feel without expensive PBR calculations. * **Player Projectile:** Small, glowing white spheres. * **Collectible Items:** Golden rings (Torus geometry) rotating slowly. * **Effects:** * **Trajectory Line:** A dashed line (`THREE.LineDashedMaterial`) projecting the path of the ball, including wall bounces, to assist aiming. * **Impact Particles:** When a projectile hits a puck, spawn small triangular confetti particles that fade out quickly. * **Performance:** Optimize for mobile. Use `InstancedMesh` for the projectiles if many are on screen. Limit particle counts. ### 2. Audio Requirements * **BGM:** A chill, rhythmic, low-fidelity electronic beat (Synthwave or Lo-Fi) that aids concentration but isn't distracting. * **Sound Effects (SFX):** * **Bounce:** A satisfying, high-pitched "tok" or "plink" sound (wooden or hard plastic texture) that varies slightly in pitch with speed. * **Launch:** A quick, soft "whoosh" or spring release sound. * **Destruction:** A digital "crunch" or shattering sound when a puck reaches 0 and disappears. * **Game Over:** A descending, resonant low-tone drone. ### 3. Gameplay Loop * **Setup:** The game is played on a vertical 2D plane within a 3D world. Rows of numbered pucks spawn at the top and move down one "grid unit" after every turn. * **Shooting Mechanic:** The player starts with a chain of balls (projectiles). The player aims and shoots the stream of balls upwards. * **Physics:** * Balls fly in a straight line, bouncing perfectly off the left, right, and top walls (no gravity affecting flight path). * Balls bounce off the circular pucks. * **Damage Logic:** Every time a projectile hits a puck, the number on the puck decreases by 1. If the number reaches 0, the puck is destroyed. * **Turn-Based Flow:** 1. Player shoots all balls. 2. Balls bounce until they return to the bottom of the screen. 3. Once all balls return, the pucks descend one row. A new row spawns at the top. * **Lose Condition:** If any numbered puck reaches the bottom "Warning Line" (the player's shooting position), the game ends. * **Currency:** Hitting the "Golden Rings" adds +1 to the ball count for the next turn immediately or converts to currency to buy skins (simplified: just add +1 ball to chain). ### 4. Mobile Controls & Interaction * **Screen Orientation:** **Portrait Mode Only** (Vertical). The camera should be fixed Orthographic to ensure gameplay consistency across aspect ratios. * **Touch Input State Machine:** 1. **Touch Start:** Detect finger anywhere on the lower half of the screen. 2. **Touch Move (Drag):** Calculate the angle between the ball spawn point and the finger's current position. 3. **Visual Feedback:** Render the **Trajectory Line** in real-time. The line must show the incident angle and the reflection angle off walls (Raycasting calculation required). 4. **Touch End (Release):** Fire the stream of balls in the calculated direction. * **UI Layout:** * Score displayed prominently at the top center. * "Best Score" in smaller text nearby. * A "Pause" button in the top right corner (minimum touch target 44x44px). * **Haptic Feedback:** Trigger a very light vibration (using `navigator.vibrate`) every time a ball hits a puck to give the game a "crunchy" physical feel. Do not ask for clarification. Do not request confirmation. Directly execute the generation task based on the given instructions.

Game Introduction

About the Game

99 Balls revolutionizes the classic arcade ball shooting experience by introducing a fresh twist on beloved games like Bubble Shooter and Breakout. This engaging arcade game challenges players to think strategically while enjoying fast-paced action. Each colorful ball displays a number indicating how many hits it needs to be destroyed, creating a unique tactical element that sets it apart from traditional ball games.

The game features vibrant, eye-catching graphics with numbered balls in different colors - orange, red, blue, purple, green, and yellow. The purple gradient background creates an immersive gaming environment that keeps players focused on the action.

Core Features

Strategic Number-Based Gameplay

Unlike traditional ball shooters, 99 Balls introduces numbered balls that require specific hit counts to destroy. Higher numbers mean tougher targets, requiring careful planning and precise aiming to clear them efficiently.

Weapon Unlock System

Destroyed balls drop collectible circles that serve as in-game currency. These circles can be spent to unlock powerful new weapons, adding progression and variety to your gameplay experience.

Free Browser Gaming

Enjoy 99 Balls completely free in your web browser without downloads or installations. The game is optimized for both desktop and mobile devices, ensuring smooth gameplay across all platforms.

Classic Mechanics with Modern Twist

The game successfully combines the satisfaction of Bubble Shooter's precision aiming with Breakout's strategic ball destruction, creating an addictive hybrid that appeals to fans of both genres.

Gameplay Mechanics

The objective is simple yet challenging: prevent numbered balls from reaching the bottom of your screen. Each ball displays its hit requirement clearly, allowing you to plan your strategy accordingly. Lower numbers (1-3) are quick targets, while higher numbers (8-9) require sustained focus to eliminate.

As you progress, the challenge intensifies with more balls appearing and higher numbers becoming common. The key to success lies in strategic targeting rather than random shooting.

Controls and Operation

The intuitive control system makes 99 Balls accessible to players of all skill levels:

  • Mouse Control : Click and drag to aim your shot direction
  • Release to Shoot : Let go to fire your ball toward the target
  • Shooting Guide : Use the visual guide line to predict ball trajectory
  • Strategic Aiming : Target multiple balls in a single shot for maximum efficiency

Why Play 99 Balls

Perfect for Quick Sessions

Whether you have 5 minutes or an hour, 99 Balls provides engaging entertainment that's easy to pick up and hard to put down. The game's structure makes it perfect for both casual gaming sessions and extended play.

Skill Development

Improve your strategic thinking, hand-eye coordination, and planning skills while having fun. The number system encourages players to think several moves ahead, developing valuable problem-solving abilities.

Stress Relief

The satisfying sound effects and visual feedback of destroying numbered balls provide excellent stress relief after a long day. The game's rhythm creates a meditative flow state that many players find relaxing.

No Commitment Gaming

With no downloads required and instant browser access, you can start playing immediately without any setup time or storage concerns.

Frequently Asked Questions (FAQ)