SURF - 3D Parkour Browser Game

Seele01-Flash
By
SURF is an intense 3D parkour browser game inspired by Counter-Strike's surf mechanics. Master momentum-based movement and precision jumping to conquer challenging levels and achieve gold medal times.

Prompt

MODEL: Seele01-Flash
Please use Three.js to generate a **mobile-first game** with the theme "SURF Mobile". Please read the following detailed game design requirements first, and then generate the code accordingly: ### 1. Assets & Environment * **Visual Style**: Replicate the "Retro FPS" aesthetic seen in the screenshot. Use low-poly geometry with pixelated, low-resolution textures (checkerboard patterns, gray concrete, and industrial metal). Apply `THREE.NearestFilter` to textures to maintain the crisp, blocky look. * **Level Design**: The environment is a linear obstacle course suspended in a void. Key elements are "Surf Ramps" (angled surfaces, usually 45 degrees, shaped like triangular prisms) and "Platform Islands" for landing. The level should be enclosed in a dark, foggy industrial skybox or a simple gradient void to reduce rendering load. * **Player Model**: First-person perspective. Render a low-poly "Combat Knife" or generic geometric shape in the bottom-right corner of the screen to convey the "Counter-Strike" origin vibe. It should bob slightly with movement. * **Optimization**: Use a single shared geometry for repeated ramp segments (InstancedMesh). Keep total scene polygon count under 20k for smooth 60FPS on mobile devices. ### 2. Audio Requirements * **BGM**: High-tempo Liquid Drum & Bass or atmospheric Breakbeat. It should feel fast and flowy to induce a "flow state." * **SFX**: * **Wind**: A continuous "whoosh" sound that increases in volume and pitch as the player's velocity increases. * **Slide**: A friction sound (like skates on ice) that plays only when the player is successfully surfing on a ramp. * **Jump**: A sharp "huh" or swoosh sound on jumping. * **Fail**: A digital "glitch" or static noise when falling into the void. ### 3. Gameplay Loop * **Core Physics (The "Surf" Mechanic)**: This is the most critical part. Implement a simplified version of Source Engine air-strafing physics. * When the player touches an angled surface, gravity should be neutralized. * Velocity should be projected along the surface plane (cross product of surface normal and player right vector). * Speed is gained by "strafing" (holding direction into the ramp) while moving forward. * **Objective**: Traverse the course from Start to Finish as fast as possible. * **Win/Loss**: Reaching the end triggers a "Course Complete" UI with the time. Falling off the ramps into the void triggers an instant, seamless respawn at the start (or the last checkpoint) with `R` key logic mapped to a touch button. * **Scoring**: Display a timer in milliseconds at the top center. Compare against a hardcoded "Gold Medal" time. ### 4. Mobile Controls & Interaction * **Orientation**: Landscape mode only. * **Split-Screen Control Scheme**: * **Left Half (Strafe)**: An invisible vertical slider or joystick. Moving the thumb Left/Right simulates holding the `A` or `D` keys (essential for binding the player to the ramp). * **Right Half (Aim)**: Standard look-around touch area. Controls the camera angle. * **Auto-Forward**: Since holding `W` is constant in surfing, enable "Auto-Run" by default so the player only focuses on steering and strafing. * **Jump Button**: A large, semi-transparent circular button in the bottom right (distinct from the aim area) for hopping between ramps. * **Feedback**: * **FOV Dynamic**: Increase the Camera Field of View (FOV) slightly as speed increases to give a sensation of speed. * **Vibration**: Trigger a short haptic feedback (Taptic Engine/Vibration API) when landing on a ramp or hitting a wall. * **UI Layout**: * Top Center: Timer. * Top Right: Pause/Settings (Sensitivity slider is mandatory). * Center Screen: A small crosshair (dot) to help with aiming. Do not ask for clarification. Do not request confirmation. Directly execute the generation task based on the given instructions.

Game Introduction

About the Game

SURF is a thrilling 3D parkour game that brings the beloved Counter-Strike surf mechanics directly to your browser. This challenging action game tests your precision, timing, and momentum control as you navigate through increasingly difficult levels. With its unique physics-based movement system, SURF offers an authentic surfing experience that will push your skills to the limit.

The game features meticulously designed levels that require perfect timing and smooth mouse movements to master. Each level presents a new challenge, demanding players to understand momentum physics and execute flawless runs to achieve coveted gold medal times.

Core Features

Authentic Surf Mechanics

SURF faithfully recreates the physics-based movement system that made Counter-Strike surfing legendary. The game's momentum system rewards smooth, flowing movements while punishing abrupt direction changes.

Challenging Level Design

Every level is carefully crafted to test different aspects of surf movement: - Beginner-friendly tutorials to learn basic mechanics - Intermediate challenges that introduce complex maneuvers - Expert-level courses that demand perfect execution - Time trial modes with bronze, silver, and gold medal targets

Precision Controls

The game offers responsive controls optimized for surf movement: - Smooth mouse-look integration for air strafing - Customizable key bindings for personalized control schemes - Adjustable mouse sensitivity settings for optimal precision - Quick reset functionality to practice difficult sections

Browser-Based Convenience

Enjoy SURF anywhere without downloads: - Completely free to play with no hidden costs - Instant access through any modern web browser - Cross-platform compatibility on PC, Mac, and mobile devices - No installation required - just click and play

Game Mechanics

Movement Physics

SURF's core gameplay revolves around momentum conservation and air strafing. Players must learn to: - Build speed through proper surface contact - Maintain momentum during aerial phases - Execute smooth directional changes - Chain movements for optimal flow

Scoring System

Each level features a competitive timing system: - Bronze Medal : Basic completion time - Silver Medal : Above-average performance - Gold Medal : Expert-level completion requiring near-perfect runs

Operation Guide

Basic Controls

  • WASD Keys : Character movement and directional input
  • Spacebar : Jump activation for launching off surfaces
  • Mouse Movement : Camera control and air strafing direction
  • R Key : Instant level reset to practice difficult sections
  • Tab Key : Access pause menu, level selection, and settings

Advanced Techniques

Surface Gliding : - Hold A while on surfaces to glide left - Hold D while on surfaces to glide right

Air Strafing : - Hold A in mid-air and move mouse left for left air strafing - Hold D in mid-air and move mouse right for right air strafing

Pro Tips

  • Lower mouse sensitivity significantly improves control precision
  • Practice smooth, consistent mouse movements rather than jerky corrections
  • Focus on maintaining speed through turns rather than rushing
  • Study level layouts to plan optimal routes
  • Use the reset function liberally to perfect difficult sections

Why Play SURF?

SURF offers a unique gaming experience that combines: - Skill-based progression that rewards dedication and practice - Satisfying physics that feel natural and responsive - Competitive elements with leaderboards and medal systems - Nostalgic appeal for Counter-Strike surf veterans - Accessibility through browser-based gameplay

Whether you're a newcomer to surf mechanics or a seasoned veteran, SURF provides an engaging challenge that will keep you coming back to improve your times and master increasingly difficult levels.

Frequently Asked Questions (FAQ)