CoolFace
Apppublic

fantos/3D-Airforce-Simulator

sourceHugging Facecc-by-nc-4.0updated 1y agoView on Hugging Face
0likes
App README

3D Air Combat Simulator

link: https://huggingface.co/spaces/cutechicken/3D-Airforce-Simulator Developer: https://huggingface.co/spaces/cutechicken

๐ŸŽฎ Project Overview

A high-quality web-based 3D fighter jet simulator created with VIBE CODING. Built with Three.js, this is a full-scale aerial combat game that runs in your browser, featuring realistic physics engine and combat systems.

โœจ Key Features

๐Ÿ›ฉ๏ธ Realistic Flight Physics

  • โ€”Real Aircraft Dynamics Simulation: Realistic flight considering lift, gravity, and drag
  • โ€”G-Force System: Blackout effects during extreme maneuvers
  • โ€”Stall System: Loss of control when speed drops below threshold
  • โ€”Altitude-based Performance: G-Force increases with altitude

๐ŸŽฏ Combat System

  • โ€”20mm Cannon: 940 rounds, continuous fire capability
  • โ€”AIM-9 Sidewinder Missiles: 8 missiles with 3-stage lock-on system
  • โ€”Flare System: Heat-seeking countermeasures (3 uses)
  • โ€”Enemy AI: Smart AI capable of evasive maneuvers, missile launches, and flare deployment

๐ŸŽจ Immersive HUD

  • โ€”Fighter HUD: Speed, altitude, heading, pitch/roll indicators
  • โ€”RWR (Radar Warning Receiver): Enemy position and lock-on warnings
  • โ€”Pitch Ladder: Aircraft attitude display
  • โ€”Target Markers: Automatic enemy marking within crosshair

๐Ÿ”Š Sound Design

  • โ€”Engine sounds, cannon fire, missile launches
  • โ€”Warning system (altitude, stall, Over-G, missile alerts)
  • โ€”Voice guidance system
  • โ€”Distance-based volume control

๐ŸŽฎ Controls

Basic Controls

  • โ€”W/S: Throttle increase/decrease
  • โ€”A/D: Rudder (yaw) control
  • โ€”Mouse: Pitch/roll control
  • โ€”Left Click: Fire weapon
  • โ€”R: Switch weapon (Cannon โ†” Missile)
  • โ€”F: Deploy flares
  • โ€”G: Escape stall (hold for 2 seconds)

Combat Tips

  1. 1.Missile Lock: Keep enemy in crosshair for 3 seconds in AIM-9 mode
  2. 2.Flare Usage: Press F immediately when missile warning sounds
  3. 3.Over-G Warning: Level out when vision darkens during extreme maneuvers
  4. 4.Stall Recovery: Hold G for 2 seconds when speed drops below 300kt

๐Ÿš€ Installation & Setup

Requirements

  • โ€”Modern web browser (Chrome, Firefox, Edge recommended)
  • โ€”WebGL support
  • โ€”Mouse required

๐Ÿ“ Project Structure

3D-Airforce-Simulator/
โ”œโ”€โ”€ index.html          # Main HTML (HUD and UI)
โ”œโ”€โ”€ game.js            # Game logic (physics, AI, combat systems)
โ”œโ”€โ”€ models/            # 3D model files
โ”‚   โ”œโ”€โ”€ f-15.glb      # Player fighter
โ”‚   โ””โ”€โ”€ mig-29.glb    # Enemy fighter
โ”œโ”€โ”€ sounds/            # Sound files
โ”‚   โ”œโ”€โ”€ main.ogg      # BGM
โ”‚   โ”œโ”€โ”€ normal.ogg    # Engine sound
โ”‚   โ””โ”€โ”€ ...           # Various sound effects
โ””โ”€โ”€ effects/          # Visual effects
    โ””โ”€โ”€ symbol.png    # RWR symbol

๐Ÿ› ๏ธ Tech Stack

  • โ€”Three.js: 3D graphics rendering
  • โ€”Vanilla JavaScript: Game logic
  • โ€”Web Audio API: Sound processing
  • โ€”Pointer Lock API: Mouse control

๐ŸŽฏ Game Objectives

  • โ€”Mission: Destroy all enemy aircraft (4) within 180 seconds
  • โ€”Victory Conditions:
  • โ€”Destroy all enemies
  • โ€”Survive time limit + destroy all enemies
  • โ€”Defeat Conditions:
  • โ€”Health reaches 0 (hit/collision)
  • โ€”Ground collision
  • โ€”Time expires with enemies remaining

๐Ÿ† Scoring System

  • โ€”Cannon kill: 100 points
  • โ€”Missile kill: 100 points
  • โ€”Collision kill: 200 points

๐Ÿ’ก VIBE CODING Achievement

This project was created using the VIBE CODING methodology. Through rapid prototyping and immediate feedback, we achieved a high-quality 3D fighter jet simulator.

Special Features

  • โ€”Complete game engine in a single JavaScript file
  • โ€”Real-time physics simulation
  • โ€”Complex AI behavior patterns
  • โ€”Professional HUD system
  • โ€”Immersive sound design

๐Ÿ› Known Issues

  • โ€”BGM playback delay due to autoplay policies in some browsers
  • โ€”Possible frame drops on high graphics settings
  • โ€”Flares may occasionally fail to perfectly evade missiles

3D Air Combat Simulator : 3D ์ „ํˆฌ๊ธฐ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ

link: https://huggingface.co/spaces/cutechicken/3D-Airforce-Simulator ๊ฐœ๋ฐœ์ž: https://huggingface.co/spaces/cutechicken

๐ŸŽฎ ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

VIBE CODING์œผ๋กœ ์ œ์ž‘๋œ ์™„์„ฑ๋„ ๋†’์€ ์›น ๊ธฐ๋ฐ˜ 3D ์ „ํˆฌ๊ธฐ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์ž…๋‹ˆ๋‹ค. Three.js๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์‹คํ–‰๋˜๋Š” ๋ณธ๊ฒฉ์ ์ธ ๊ณต์ค‘์ „ ๊ฒŒ์ž„์œผ๋กœ, ์‹ค์ œ ์ „ํˆฌ๊ธฐ์˜ ๋ฌผ๋ฆฌ ์—”์ง„๊ณผ ์ „ํˆฌ ์‹œ์Šคํ…œ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

โœจ ์ฃผ์š” ํŠน์ง•

๐Ÿ›ฉ๏ธ ๋ฆฌ์–ผ๋ฆฌ์Šคํ‹ฑํ•œ ๋น„ํ–‰ ๋ฌผ๋ฆฌ

  • โ€”์‹ค์ œ ํ•ญ๊ณต๊ธฐ ์—ญํ•™ ์‹œ๋ฎฌ๋ ˆ์ด์…˜: ์–‘๋ ฅ, ์ค‘๋ ฅ, ํ•ญ๋ ฅ์„ ๊ณ ๋ คํ•œ ํ˜„์‹ค์ ์ธ ๋น„ํ–‰
  • โ€”G-Force ์‹œ์Šคํ…œ: ๊ธ‰๊ธฐ๋™ ์‹œ ๋ธ”๋ž™์•„์›ƒ ํšจ๊ณผ ๊ตฌํ˜„
  • โ€”์Šคํ†จ(์‹ค์†) ์‹œ์Šคํ…œ: ์†๋„ ๋ถ€์กฑ ์‹œ ์กฐ์ข… ๋ถˆ๋Šฅ ์ƒํƒœ ์žฌํ˜„
  • โ€”๊ณ ๋„๋ณ„ ์„ฑ๋Šฅ ๋ณ€ํ™”: ๊ณ ๋„์— ๋”ฐ๋ฅธ G-Force ์ฆ๊ฐ€

๐ŸŽฏ ์ „ํˆฌ ์‹œ์Šคํ…œ

  • โ€”20mm ๊ธฐ๊ด€ํฌ: 940๋ฐœ ํƒ„์•ฝ, ์—ฐ์‚ฌ ๊ฐ€๋Šฅ
  • โ€”AIM-9 ์‚ฌ์ด๋“œ์™€์ธ๋” ๋ฏธ์‚ฌ์ผ: 8๋ฐœ ์žฅ์ฐฉ, 3๋‹จ๊ณ„ ๋ฝ์˜จ ์‹œ์Šคํ…œ
  • โ€”ํ”Œ๋ ˆ์–ด ์‹œ์Šคํ…œ: ๋ฏธ์‚ฌ์ผ ํšŒํ”ผ์šฉ ์—ด์ถ”์  ๊ต๋ž€ ์žฅ์น˜ (3ํšŒ ์‚ฌ์šฉ)
  • โ€”์ ๊ธฐ AI: ํšŒํ”ผ ๊ธฐ๋™, ๋ฏธ์‚ฌ์ผ ๋ฐœ์‚ฌ, ํ”Œ๋ ˆ์–ด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์Šค๋งˆํŠธ AI

๐ŸŽจ ๋ชฐ์ž…๊ฐ ์žˆ๋Š” HUD

  • โ€”์ „ํˆฌ๊ธฐ HUD: ์†๋„, ๊ณ ๋„, ํ—ค๋”ฉ, ํ”ผ์น˜/๋กค ํ‘œ์‹œ
  • โ€”RWR (๋ ˆ์ด๋” ๊ฒฝ๋ณด ์ˆ˜์‹ ๊ธฐ): ์ ๊ธฐ ์œ„์น˜ ๋ฐ ๋ฝ์˜จ ๊ฒฝ๊ณ 
  • โ€”ํ”ผ์น˜ ๋ž˜๋”: ํ•ญ๊ณต๊ธฐ ์ž์„ธ ํ‘œ์‹œ
  • โ€”ํƒ€๊ฒŸ ๋งˆ์ปค: ํฌ๋กœ์Šคํ—ค์–ด ๋‚ด ์ ๊ธฐ ์ž๋™ ํ‘œ์‹œ

๐Ÿ”Š ์‚ฌ์šด๋“œ ๋””์ž์ธ

  • โ€”์—”์ง„์Œ, ๊ธฐ๊ด€ํฌ, ๋ฏธ์‚ฌ์ผ ๋ฐœ์‚ฌ์Œ
  • โ€”๊ฒฝ๊ณ ์Œ ์‹œ์Šคํ…œ (๊ณ ๋„, ์Šคํ†จ, Over-G, ๋ฏธ์‚ฌ์ผ ๊ฒฝ๊ณ )
  • โ€”์Œ์„ฑ ์•ˆ๋‚ด ์‹œ์Šคํ…œ
  • โ€”๊ฑฐ๋ฆฌ๋ณ„ ์Œ๋Ÿ‰ ์กฐ์ ˆ

๐ŸŽฎ ์กฐ์ž‘๋ฒ•

๊ธฐ๋ณธ ์กฐ์ž‘

  • โ€”W/S: ์Šค๋กœํ‹€ ์ฆ๊ฐ€/๊ฐ์†Œ
  • โ€”A/D: ๋Ÿฌ๋” (์š”) ์กฐ์ž‘
  • โ€”๋งˆ์šฐ์Šค: ํ”ผ์น˜/๋กค ์กฐ์ž‘
  • โ€”์ขŒํด๋ฆญ: ๋ฌด๊ธฐ ๋ฐœ์‚ฌ
  • โ€”R: ๋ฌด๊ธฐ ์ „ํ™˜ (๊ธฐ๊ด€ํฌ โ†” ๋ฏธ์‚ฌ์ผ)
  • โ€”F: ํ”Œ๋ ˆ์–ด ๋ฐœ์‚ฌ
  • โ€”G: ์Šคํ†จ ํƒˆ์ถœ (2์ดˆ๊ฐ„ ์œ ์ง€)

์ „ํˆฌ ํŒ

  1. 1.๋ฏธ์‚ฌ์ผ ๋ฝ์˜จ: AIM-9 ๋ชจ๋“œ์—์„œ ์ ๊ธฐ๋ฅผ ํฌ๋กœ์Šคํ—ค์–ด์— 3์ดˆ๊ฐ„ ์œ ์ง€
  2. 2.ํ”Œ๋ ˆ์–ด ์‚ฌ์šฉ: ๋ฏธ์‚ฌ์ผ ๊ฒฝ๊ณ ์Œ์ด ๋“ค๋ฆฌ๋ฉด ์ฆ‰์‹œ Fํ‚ค๋กœ ํ”Œ๋ ˆ์–ด ๋ฐœ์‚ฌ
  3. 3.Over-G ์ฃผ์˜: ๊ธ‰๊ธฐ๋™ ์‹œ ์‹œ์•ผ๊ฐ€ ์–ด๋‘์›Œ์ง€๋ฉด ์ˆ˜ํ‰ ๋น„ํ–‰์œผ๋กœ ํšŒ๋ณต
  4. 4.์Šคํ†จ ํšŒ๋ณต: ์†๋„ 300kt ์ดํ•˜์—์„œ Gํ‚ค๋ฅผ 2์ดˆ๊ฐ„ ๋ˆŒ๋Ÿฌ ํšŒ๋ณต

๐Ÿš€ ์„ค์น˜ ๋ฐ ์‹คํ–‰

์š”๊ตฌ์‚ฌํ•ญ

  • โ€”์ตœ์‹  ์›น ๋ธŒ๋ผ์šฐ์ € (Chrome, Firefox, Edge ๊ถŒ์žฅ)
  • โ€”WebGL ์ง€์›
  • โ€”๋งˆ์šฐ์Šค ํ•„์ˆ˜

๐Ÿ“ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

3D-Airforce-Simulator/
โ”œโ”€โ”€ index.html          # ๋ฉ”์ธ HTML (HUD ๋ฐ UI)
โ”œโ”€โ”€ game.js            # ๊ฒŒ์ž„ ๋กœ์ง (๋ฌผ๋ฆฌ, AI, ์ „ํˆฌ ์‹œ์Šคํ…œ)
โ”œโ”€โ”€ models/            # 3D ๋ชจ๋ธ ํŒŒ์ผ
โ”‚   โ”œโ”€โ”€ f-15.glb      # ํ”Œ๋ ˆ์ด์–ด ์ „ํˆฌ๊ธฐ
โ”‚   โ””โ”€โ”€ mig-29.glb    # ์  ์ „ํˆฌ๊ธฐ
โ”œโ”€โ”€ sounds/            # ์‚ฌ์šด๋“œ ํŒŒ์ผ
โ”‚   โ”œโ”€โ”€ main.ogg      # BGM
โ”‚   โ”œโ”€โ”€ normal.ogg    # ์—”์ง„์Œ
โ”‚   โ””โ”€โ”€ ...           # ๊ฐ์ข… ํšจ๊ณผ์Œ
โ””โ”€โ”€ effects/          # ์‹œ๊ฐ ํšจ๊ณผ
    โ””โ”€โ”€ symbol.png    # RWR ์‹ฌ๋ณผ

๐Ÿ› ๏ธ ๊ธฐ์ˆ  ์Šคํƒ

  • โ€”Three.js: 3D ๊ทธ๋ž˜ํ”ฝ ๋ Œ๋”๋ง
  • โ€”Vanilla JavaScript: ๊ฒŒ์ž„ ๋กœ์ง
  • โ€”Web Audio API: ์‚ฌ์šด๋“œ ์ฒ˜๋ฆฌ
  • โ€”Pointer Lock API: ๋งˆ์šฐ์Šค ์ปจํŠธ๋กค

๐ŸŽฏ ๊ฒŒ์ž„ ๋ชฉํ‘œ

  • โ€”๋ฏธ์…˜: 180์ดˆ ๋‚ด์— ๋ชจ๋“  ์ ๊ธฐ(4๋Œ€) ๊ฒฉ์ถ”
  • โ€”์Šน๋ฆฌ ์กฐ๊ฑด:
  • โ€”๋ชจ๋“  ์ ๊ธฐ ํŒŒ๊ดด
  • โ€”์‹œ๊ฐ„ ๋‚ด ์ƒ์กด + ๋ชจ๋“  ์ ๊ธฐ ํŒŒ๊ดด
  • โ€”ํŒจ๋ฐฐ ์กฐ๊ฑด:
  • โ€”์ฒด๋ ฅ 0 (ํ”ผ๊ฒฉ/์ถฉ๋Œ)
  • โ€”์ง€๋ฉด ์ถฉ๋Œ
  • โ€”์‹œ๊ฐ„ ์ดˆ๊ณผ ์‹œ ์ ๊ธฐ ์ž”์กด

๐Ÿ† ์ ์ˆ˜ ์‹œ์Šคํ…œ

  • โ€”๊ธฐ๊ด€ํฌ ๊ฒฉ์ถ”: 100์ 
  • โ€”๋ฏธ์‚ฌ์ผ ๊ฒฉ์ถ”: 100์ 
  • โ€”์ถฉ๋Œ ๊ฒฉ์ถ”: 200์ 

๐Ÿ’ก VIBE CODING์˜ ๊ฒฐ๊ณผ๋ฌผ

์ด ํ”„๋กœ์ ํŠธ๋Š” VIBE CODING ๋ฐฉ๋ฒ•๋ก ์œผ๋กœ ์ œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋น ๋ฅธ ํ”„๋กœํ† ํƒ€์ดํ•‘๊ณผ ์ฆ‰๊ฐ์ ์ธ ํ”ผ๋“œ๋ฐฑ์„ ํ†ตํ•ด ๋†’์€ ์™„์„ฑ๋„์˜ 3D ์ „ํˆฌ๊ธฐ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

ํŠน๋ณ„ํ•œ ์ 

  • โ€”๋‹จ์ผ JavaScript ํŒŒ์ผ๋กœ ๊ตฌํ˜„๋œ ์™„์ „ํ•œ ๊ฒŒ์ž„ ์—”์ง„
  • โ€”์‹ค์‹œ๊ฐ„ ๋ฌผ๋ฆฌ ์‹œ๋ฎฌ๋ ˆ์ด์…˜
  • โ€”๋ณต์žกํ•œ AI ํ–‰๋™ ํŒจํ„ด
  • โ€”์ „๋ฌธ์ ์ธ HUD ์‹œ์Šคํ…œ
  • โ€”๋ชฐ์ž…๊ฐ ์žˆ๋Š” ์‚ฌ์šด๋“œ ๋””์ž์ธ

๐Ÿ› ์•Œ๋ ค์ง„ ์ด์Šˆ

  • โ€”์ผ๋ถ€ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ž๋™ ์žฌ์ƒ ์ •์ฑ…์œผ๋กœ ์ธํ•œ BGM ์žฌ์ƒ ์ง€์—ฐ
  • โ€”๊ณ ์‚ฌ์–‘ ๊ทธ๋ž˜ํ”ฝ ์„ค์ •์—์„œ ํ”„๋ ˆ์ž„ ๋“œ๋กญ ๊ฐ€๋Šฅ
  • โ€”ํ”Œ๋ ˆ์–ด ํšจ๊ณผ๊ฐ€ ๊ฐ„ํ˜น ๋ฏธ์‚ฌ์ผ์„ ์™„๋ฒฝํžˆ ํšŒํ”ผํ•˜์ง€ ๋ชปํ•  ์ˆ˜ ์žˆ์Œ