Javelin Fighting

Seele01-Flash
By
Javelin Fighting is an exciting 1-on-1 stickman combat game where players master javelin throwing skills to defeat opponents in tower-based battles. Featuring realistic physics and strategic gameplay.

Prompt

MODEL: Seele01-Flash
Please use Three.js to generate a **mobile-first game** with the theme "Javelin Fighting 3D". Please read the following detailed game design requirements first, and then generate the code accordingly: ### 1. Assets & Environment * **Visual Style:** Create a "2.5D" aesthetic using a side-view PerspectiveCamera with a narrow Field of View (FOV ~30) to flatten the depth while retaining 3D lighting. Use a monochromatic color palette (greys, blacks, whites) for the background to make the foreground actors pop. * **Characters (Stickmen):** Construct the stickmen using simple 3D primitives (Cylinders for limbs, Sphere for the head) with a glossy black material (`MeshStandardMaterial`). They must be rigged simply to allow for arm rotation when aiming. * **Environment:** * **Towers:** Two tall, cylindrical brick-textured towers positioned on the far left (Player) and far right (Enemy). * **Background:** Use layered flat planes with alpha-masked tree/castle silhouettes to create a parallax effect. Add a light grey fog (`scene.fog`) to blend the floor into the background. * **Javelin:** A thin cylinder with a metallic tip. * **Power-up:** A floating, rotating red 3D Heart geometry positioned between the two towers. * **Mobile Optimization:** Use instanced rendering for background trees if many are used. Limit shadow casting to the characters and towers only. Use low-polygon counts for all primitives. ### 2. Audio Requirements * **BGM:** A subtle, tension-building drum track with wind ambiance to simulate high altitude. It should loop seamlessly. * **Sound Effects (SFX):** * *Aiming:* A stretching rope or bow-string tension sound that increases in pitch as power increases. * *Throw:* A sharp "Whoosh" or "Swish" air-cutting sound. * *Impact (Body):* A dull, fleshy thud. * *Impact (Head/Crit):* A high-pitched "Ping" or gong sound combined with a critical hit reverb. * *Impact (Wall/Shield):* A wooden "Thwack". * *UI:* Crisp clicks for buttons. ### 3. Gameplay Loop * **Core Mechanics:** Real-time 1v1 duel. The player stands on the left tower, the AI enemy on the right. * **Physics:** Implement a projectile motion system (gravity and velocity). When a javelin hits a target, it must "stick" to the mesh (parent the javelin to the hit bone/object) and stop moving. * **Combat Logic:** * **Body Hit:** Deduct 20% Health. * **Headshot:** Deduct 50% Health (Critical Hit) + Visual text pop-up "HEADSHOT". * **Heart Hit:** If the javelin passes through the floating heart, the thrower heals 30% Health. * **Enemy AI:** The enemy automatically aims and shoots at random intervals (2-4 seconds), with varying accuracy (add random noise to their aim vector). * **Win/Loss:** Depleting the enemy's health triggers a slow-motion ragdoll fall off the tower (Victory). Depleting player health triggers a "Game Over" screen. ### 4. Mobile Controls & Interaction * **Touch Input (Slingshot Mechanic):** * **Action:** Touch and drag anywhere on the screen. * **Visual Feedback:** Render a **Dotted Trajectory Line** that predicts the javelin's path based on current drag intensity and angle. * **Logic:** Dragging backwards (left/down) increases power and angles the shot upwards. Releasing the touch fires the projectile. * **Orientation:** Force **Landscape Mode** to maximize the horizontal view distance between towers. * **Haptic Feedback:** Trigger a short vibration (`navigator.vibrate`) when the player gets hit or lands a headshot. * **UI Layout:** * Health bars floating directly above the characters' heads (Billboard style). * A large, thumb-friendly "Restart" button (min 44x44px clickable area) that appears only after the match ends. Do not ask for clarification. Do not request confirmation. Directly execute the generation task based on the given instructions.

Game Introduction

About the Game

Javelin Fighting is a thrilling stickman combat game that combines precision throwing mechanics with strategic fighting gameplay. Set on towering platforms high above a medieval castle landscape, players engage in intense 1-on-1 javelin duels where accuracy and speed determine victory. The game features intuitive mouse controls and realistic physics that make every throw feel satisfying and impactful.

Core Features

Precision-Based Combat System

The game revolves around skill-based javelin throwing where every shot counts. Players must carefully aim their throws while managing limited health, creating tense moments where a single well-placed javelin can turn the tide of battle.

Strategic Tower Positioning

Fight from elevated platforms that add a unique tactical element to combat. The tower-based gameplay creates interesting angles and trajectories, requiring players to master both distance and elevation calculations for successful hits.

Physics-Driven Gameplay

Experience realistic javelin physics with authentic throwing mechanics. The game's physics engine ensures that wind resistance, gravity, and momentum all play crucial roles in determining where your javelin lands.

Health and Power-Up System

Manage your health carefully as both you and your opponent can only sustain limited damage. Strategic health power-ups appear during battles, adding another layer of tactical decision-making to the gameplay.

Headshot Mechanics

Aim for precision! Headshots deal significantly more damage than body shots, rewarding skilled players who can consistently hit difficult targets under pressure.

Game Mechanics

The core gameplay focuses on timing, accuracy, and quick decision-making. Each player starts with a health bar and must land multiple successful hits to eliminate their opponent. The medieval castle setting provides atmospheric backdrop while the elevated platforms create unique combat scenarios not found in typical fighting games.

Operation Guide

Controls are designed for precision and ease of use:

  • Mouse Movement : Aim your javelin by moving the cursor
  • Left Mouse Button (Hold) : Drag to adjust throwing power and angle
  • Left Mouse Button (Release) : Launch the javelin
  • Quick Aiming : Essential for survival - hesitation can be fatal

Mastering the power adjustment system is crucial. Hold the mouse button longer for more powerful throws, but remember that your opponent is also aiming at you. Balance power with speed to maintain offensive pressure while avoiding incoming javelins.

Why Play This Game

Javelin Fighting offers a unique blend of skill-based combat and physics gameplay that sets it apart from traditional fighting games. The tower-based setting creates memorable battles where every throw matters. Whether you're looking for quick competitive matches or want to master the art of javelin throwing, this game provides engaging gameplay that's easy to learn but challenging to master.

The combination of medieval atmosphere, stickman aesthetics, and realistic physics creates an addictive gaming experience perfect for players who enjoy precision-based challenges. With cross-platform availability and no download required, you can jump into javelin duels instantly.

Frequently Asked Questions (FAQ)