cutechicken commited on
Commit
f2fcda1
ยท
verified ยท
1 Parent(s): ec8c42a

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +230 -2
README.md CHANGED
@@ -1,5 +1,5 @@
1
  ---
2
- title: Jet Fight 3D
3
  emoji: ๐ŸŒ
4
  colorFrom: blue
5
  colorTo: yellow
@@ -10,5 +10,233 @@ models:
10
  license: cc-by-nc-4.0
11
  short_description: One-minute creation by AI Coding Autonomous Agent MOUSE-I
12
  ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13
 
14
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: 3D Air Combat Simulator
3
  emoji: ๐ŸŒ
4
  colorFrom: blue
5
  colorTo: yellow
 
10
  license: cc-by-nc-4.0
11
  short_description: One-minute creation by AI Coding Autonomous Agent MOUSE-I
12
  ---
13
+ # JET FIGHT SIMULATOR - 3D Fighter Jet Simulator
14
+ Developer: https://huggingface.co/spaces/cutechicken
15
+
16
+ ## ๐ŸŽฎ Project Overview
17
+ 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.
18
+
19
+ ## โœจ Key Features
20
+
21
+ ### ๐Ÿ›ฉ๏ธ Realistic Flight Physics
22
+ - **Real Aircraft Dynamics Simulation**: Realistic flight considering lift, gravity, and drag
23
+ - **G-Force System**: Blackout effects during extreme maneuvers
24
+ - **Stall System**: Loss of control when speed drops below threshold
25
+ - **Altitude-based Performance**: G-Force increases with altitude
26
+
27
+ ### ๐ŸŽฏ Combat System
28
+ - **20mm Cannon**: 940 rounds, continuous fire capability
29
+ - **AIM-9 Sidewinder Missiles**: 8 missiles with 3-stage lock-on system
30
+ - **Flare System**: Heat-seeking countermeasures (3 uses)
31
+ - **Enemy AI**: Smart AI capable of evasive maneuvers, missile launches, and flare deployment
32
+
33
+ ### ๐ŸŽจ Immersive HUD
34
+ - **Fighter HUD**: Speed, altitude, heading, pitch/roll indicators
35
+ - **RWR (Radar Warning Receiver)**: Enemy position and lock-on warnings
36
+ - **Pitch Ladder**: Aircraft attitude display
37
+ - **Target Markers**: Automatic enemy marking within crosshair
38
+
39
+ ### ๐Ÿ”Š Sound Design
40
+ - Engine sounds, cannon fire, missile launches
41
+ - Warning system (altitude, stall, Over-G, missile alerts)
42
+ - Voice guidance system
43
+ - Distance-based volume control
44
+
45
+ ## ๐ŸŽฎ Controls
46
+
47
+ ### Basic Controls
48
+ - **W/S**: Throttle increase/decrease
49
+ - **A/D**: Rudder (yaw) control
50
+ - **Mouse**: Pitch/roll control
51
+ - **Left Click**: Fire weapon
52
+ - **R**: Switch weapon (Cannon โ†” Missile)
53
+ - **F**: Deploy flares
54
+ - **G**: Escape stall (hold for 2 seconds)
55
+
56
+ ### Combat Tips
57
+ 1. **Missile Lock**: Keep enemy in crosshair for 3 seconds in AIM-9 mode
58
+ 2. **Flare Usage**: Press F immediately when missile warning sounds
59
+ 3. **Over-G Warning**: Level out when vision darkens during extreme maneuvers
60
+ 4. **Stall Recovery**: Hold G for 2 seconds when speed drops below 300kt
61
+
62
+ ## ๐Ÿš€ Installation & Setup
63
+
64
+ ### Requirements
65
+ - Modern web browser (Chrome, Firefox, Edge recommended)
66
+ - WebGL support
67
+ - Mouse required
68
+
69
+ ## ๐Ÿ“ Project Structure
70
+ ```
71
+ jet-fight-simulator/
72
+ โ”œโ”€โ”€ index.html # Main HTML (HUD and UI)
73
+ โ”œโ”€โ”€ game.js # Game logic (physics, AI, combat systems)
74
+ โ”œโ”€โ”€ models/ # 3D model files
75
+ โ”‚ โ”œโ”€โ”€ f-15.glb # Player fighter
76
+ โ”‚ โ””โ”€โ”€ mig-29.glb # Enemy fighter
77
+ โ”œโ”€โ”€ sounds/ # Sound files
78
+ โ”‚ โ”œโ”€โ”€ main.ogg # BGM
79
+ โ”‚ โ”œโ”€โ”€ normal.ogg # Engine sound
80
+ โ”‚ โ””โ”€โ”€ ... # Various sound effects
81
+ โ””โ”€โ”€ effects/ # Visual effects
82
+ โ””โ”€โ”€ symbol.png # RWR symbol
83
+ ```
84
+
85
+ ## ๐Ÿ› ๏ธ Tech Stack
86
+ - **Three.js**: 3D graphics rendering
87
+ - **Vanilla JavaScript**: Game logic
88
+ - **Web Audio API**: Sound processing
89
+ - **Pointer Lock API**: Mouse control
90
+
91
+ ## ๐ŸŽฏ Game Objectives
92
+ - **Mission**: Destroy all enemy aircraft (4) within 180 seconds
93
+ - **Victory Conditions**:
94
+ - Destroy all enemies
95
+ - Survive time limit + destroy all enemies
96
+ - **Defeat Conditions**:
97
+ - Health reaches 0 (hit/collision)
98
+ - Ground collision
99
+ - Time expires with enemies remaining
100
+
101
+ ## ๐Ÿ† Scoring System
102
+ - Cannon kill: 100 points
103
+ - Missile kill: 100 points
104
+ - Collision kill: 200 points
105
+
106
+ ## ๐Ÿ’ก VIBE CODING Achievement
107
+ This project was created using the **VIBE CODING** methodology. Through rapid prototyping and immediate feedback, we achieved a high-quality 3D fighter jet simulator.
108
+
109
+ ### Special Features
110
+ - Complete game engine in a single JavaScript file
111
+ - Real-time physics simulation
112
+ - Complex AI behavior patterns
113
+ - Professional HUD system
114
+ - Immersive sound design
115
+
116
+ ## ๐Ÿ› Known Issues
117
+ - BGM playback delay due to autoplay policies in some browsers
118
+ - Possible frame drops on high graphics settings
119
+ - Flares may occasionally fail to perfectly evade missiles
120
+
121
+
122
+
123
+
124
+
125
+
126
+
127
+ # JET FIGHT SIMULATOR - 3D ์ „ํˆฌ๊ธฐ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ
128
+ ๊ฐœ๋ฐœ์ž: https://huggingface.co/spaces/cutechicken
129
+
130
+ ## ๐ŸŽฎ ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ
131
+
132
+ **VIBE CODING**์œผ๋กœ ์ œ์ž‘๋œ ์™„์„ฑ๋„ ๋†’์€ ์›น ๊ธฐ๋ฐ˜ 3D ์ „ํˆฌ๊ธฐ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์ž…๋‹ˆ๋‹ค. Three.js๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์‹คํ–‰๋˜๋Š” ๋ณธ๊ฒฉ์ ์ธ ๊ณต์ค‘์ „ ๊ฒŒ์ž„์œผ๋กœ, ์‹ค์ œ ์ „ํˆฌ๊ธฐ์˜ ๋ฌผ๋ฆฌ ์—”์ง„๊ณผ ์ „ํˆฌ ์‹œ์Šคํ…œ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.
133
+
134
+
135
+ ## โœจ ์ฃผ์š” ํŠน์ง•
136
+
137
+ ### ๐Ÿ›ฉ๏ธ ๋ฆฌ์–ผ๋ฆฌ์Šคํ‹ฑํ•œ ๋น„ํ–‰ ๋ฌผ๋ฆฌ
138
+ - **์‹ค์ œ ํ•ญ๊ณต๊ธฐ ์—ญํ•™ ์‹œ๋ฎฌ๋ ˆ์ด์…˜**: ์–‘๋ ฅ, ์ค‘๋ ฅ, ํ•ญ๋ ฅ์„ ๊ณ ๋ คํ•œ ํ˜„์‹ค์ ์ธ ๋น„ํ–‰
139
+ - **G-Force ์‹œ์Šคํ…œ**: ๊ธ‰๊ธฐ๋™ ์‹œ ๋ธ”๋ž™์•„์›ƒ ํšจ๊ณผ ๊ตฌํ˜„
140
+ - **์Šคํ†จ(์‹ค์†) ์‹œ์Šคํ…œ**: ์†๋„ ๋ถ€์กฑ ์‹œ ์กฐ์ข… ๋ถˆ๋Šฅ ์ƒํƒœ ์žฌํ˜„
141
+ - **๊ณ ๋„๋ณ„ ์„ฑ๋Šฅ ๋ณ€ํ™”**: ๊ณ ๋„์— ๋”ฐ๋ฅธ G-Force ๏ฟฝ๏ฟฝ๊ฐ€
142
+
143
+ ### ๐ŸŽฏ ์ „ํˆฌ ์‹œ์Šคํ…œ
144
+ - **20mm ๊ธฐ๊ด€ํฌ**: 940๋ฐœ ํƒ„์•ฝ, ์—ฐ์‚ฌ ๊ฐ€๋Šฅ
145
+ - **AIM-9 ์‚ฌ์ด๋“œ์™€์ธ๋” ๋ฏธ์‚ฌ์ผ**: 8๋ฐœ ์žฅ์ฐฉ, 3๋‹จ๊ณ„ ๋ฝ์˜จ ์‹œ์Šคํ…œ
146
+ - **ํ”Œ๋ ˆ์–ด ์‹œ์Šคํ…œ**: ๋ฏธ์‚ฌ์ผ ํšŒํ”ผ์šฉ ์—ด์ถ”์  ๊ต๋ž€ ์žฅ์น˜ (3ํšŒ ์‚ฌ์šฉ)
147
+ - **์ ๊ธฐ AI**: ํšŒํ”ผ ๊ธฐ๋™, ๋ฏธ์‚ฌ์ผ ๋ฐœ์‚ฌ, ํ”Œ๋ ˆ์–ด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์Šค๋งˆํŠธ AI
148
+
149
+ ### ๐ŸŽจ ๋ชฐ์ž…๊ฐ ์žˆ๋Š” HUD
150
+ - **์ „ํˆฌ๊ธฐ HUD**: ์†๋„, ๊ณ ๋„, ํ—ค๋”ฉ, ํ”ผ์น˜/๋กค ํ‘œ์‹œ
151
+ - **RWR (๋ ˆ์ด๋” ๊ฒฝ๋ณด ์ˆ˜์‹ ๊ธฐ)**: ์ ๊ธฐ ์œ„์น˜ ๋ฐ ๋ฝ์˜จ ๊ฒฝ๊ณ 
152
+ - **ํ”ผ์น˜ ๋ž˜๋”**: ํ•ญ๊ณต๊ธฐ ์ž์„ธ ํ‘œ์‹œ
153
+ - **ํƒ€๊ฒŸ ๋งˆ์ปค**: ํฌ๋กœ์Šคํ—ค์–ด ๋‚ด ์ ๊ธฐ ์ž๋™ ํ‘œ์‹œ
154
+
155
+ ### ๐Ÿ”Š ์‚ฌ์šด๋“œ ๋””์ž์ธ
156
+ - ์—”์ง„์Œ, ๊ธฐ๊ด€ํฌ, ๋ฏธ์‚ฌ์ผ ๋ฐœ์‚ฌ์Œ
157
+ - ๊ฒฝ๊ณ ์Œ ์‹œ์Šคํ…œ (๊ณ ๋„, ์Šคํ†จ, Over-G, ๋ฏธ์‚ฌ์ผ ๊ฒฝ๊ณ )
158
+ - ์Œ์„ฑ ์•ˆ๋‚ด ์‹œ์Šคํ…œ
159
+ - ๊ฑฐ๋ฆฌ๋ณ„ ์Œ๋Ÿ‰ ์กฐ์ ˆ
160
+
161
+ ## ๐ŸŽฎ ์กฐ์ž‘๋ฒ•
162
+
163
+ ### ๊ธฐ๋ณธ ์กฐ์ž‘
164
+ - **W/S**: ์Šค๋กœํ‹€ ์ฆ๊ฐ€/๊ฐ์†Œ
165
+ - **A/D**: ๋Ÿฌ๋” (์š”) ์กฐ์ž‘
166
+ - **๋งˆ์šฐ์Šค**: ํ”ผ์น˜/๋กค ์กฐ์ž‘
167
+ - **์ขŒํด๋ฆญ**: ๋ฌด๊ธฐ ๋ฐœ์‚ฌ
168
+ - **R**: ๋ฌด๊ธฐ ์ „ํ™˜ (๊ธฐ๊ด€ํฌ โ†” ๋ฏธ์‚ฌ์ผ)
169
+ - **F**: ํ”Œ๋ ˆ์–ด ๋ฐœ์‚ฌ
170
+ - **G**: ์Šคํ†จ ํƒˆ์ถœ (2์ดˆ๊ฐ„ ์œ ์ง€)
171
+
172
+ ### ์ „ํˆฌ ํŒ
173
+ 1. **๋ฏธ์‚ฌ์ผ ๋ฝ์˜จ**: AIM-9 ๋ชจ๋“œ์—์„œ ์ ๊ธฐ๋ฅผ ํฌ๋กœ์Šคํ—ค์–ด์— 3์ดˆ๊ฐ„ ์œ ์ง€
174
+ 2. **ํ”Œ๋ ˆ์–ด ์‚ฌ์šฉ**: ๋ฏธ์‚ฌ์ผ ๊ฒฝ๊ณ ์Œ์ด ๋“ค๋ฆฌ๋ฉด ์ฆ‰์‹œ Fํ‚ค๋กœ ํ”Œ๋ ˆ์–ด ๋ฐœ์‚ฌ
175
+ 3. **Over-G ์ฃผ์˜**: ๊ธ‰๊ธฐ๋™ ์‹œ ์‹œ์•ผ๊ฐ€ ์–ด๋‘์›Œ์ง€๋ฉด ์ˆ˜ํ‰ ๋น„ํ–‰์œผ๋กœ ํšŒ๋ณต
176
+ 4. **์Šคํ†จ ํšŒ๋ณต**: ์†๋„ 300kt ์ดํ•˜์—์„œ Gํ‚ค๋ฅผ 2์ดˆ๊ฐ„ ๋ˆŒ๋Ÿฌ ํšŒ๋ณต
177
+
178
+ ## ๐Ÿš€ ์„ค์น˜ ๋ฐ ์‹คํ–‰
179
+
180
+ ### ์š”๊ตฌ์‚ฌํ•ญ
181
+ - ์ตœ์‹  ์›น ๋ธŒ๋ผ์šฐ์ € (Chrome, Firefox, Edge ๊ถŒ์žฅ)
182
+ - WebGL ์ง€์›
183
+ - ๋งˆ์šฐ์Šค ํ•„์ˆ˜
184
+
185
+ ## ๐Ÿ“ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ
186
+
187
+ ```
188
+ jet-fight-simulator/
189
+ โ”œโ”€โ”€ index.html # ๋ฉ”์ธ HTML (HUD ๋ฐ UI)
190
+ โ”œโ”€โ”€ game.js # ๊ฒŒ์ž„ ๋กœ์ง (๋ฌผ๋ฆฌ, AI, ์ „ํˆฌ ์‹œ์Šคํ…œ)
191
+ โ”œโ”€โ”€ models/ # 3D ๋ชจ๋ธ ํŒŒ์ผ
192
+ โ”‚ โ”œโ”€โ”€ f-15.glb # ํ”Œ๋ ˆ์ด์–ด ์ „ํˆฌ๊ธฐ
193
+ โ”‚ โ””โ”€โ”€ mig-29.glb # ์  ์ „ํˆฌ๊ธฐ
194
+ โ”œโ”€โ”€ sounds/ # ์‚ฌ์šด๋“œ ํŒŒ์ผ
195
+ โ”‚ โ”œโ”€โ”€ main.ogg # BGM
196
+ โ”‚ โ”œโ”€โ”€ normal.ogg # ์—”์ง„์Œ
197
+ โ”‚ โ””โ”€โ”€ ... # ๊ฐ์ข… ํšจ๊ณผ์Œ
198
+ โ””โ”€โ”€ effects/ # ์‹œ๊ฐ ํšจ๊ณผ
199
+ โ””โ”€โ”€ symbol.png # RWR ์‹ฌ๋ณผ
200
+ ```
201
+
202
+ ## ๐Ÿ› ๏ธ ๊ธฐ์ˆ  ์Šคํƒ
203
+
204
+ - **Three.js**: 3D ๊ทธ๋ž˜ํ”ฝ ๋ Œ๋”๋ง
205
+ - **Vanilla JavaScript**: ๊ฒŒ์ž„ ๋กœ์ง
206
+ - **Web Audio API**: ์‚ฌ์šด๋“œ ์ฒ˜๋ฆฌ
207
+ - **Pointer Lock API**: ๋งˆ์šฐ์Šค ์ปจํŠธ๋กค
208
+
209
+ ## ๐ŸŽฏ ๊ฒŒ์ž„ ๋ชฉํ‘œ
210
+
211
+ - **๋ฏธ์…˜**: 180์ดˆ ๋‚ด์— ๋ชจ๋“  ์ ๊ธฐ(4๋Œ€) ๊ฒฉ์ถ”
212
+ - **์Šน๋ฆฌ ์กฐ๊ฑด**:
213
+ - ๋ชจ๋“  ์ ๊ธฐ ํŒŒ๊ดด
214
+ - ์‹œ๊ฐ„ ๋‚ด ์ƒ์กด + ๋ชจ๋“  ์ ๊ธฐ ํŒŒ๊ดด
215
+ - **ํŒจ๋ฐฐ ์กฐ๊ฑด**:
216
+ - ์ฒด๋ ฅ 0 (ํ”ผ๊ฒฉ/์ถฉ๋Œ)
217
+ - ์ง€๋ฉด ์ถฉ๋Œ
218
+ - ์‹œ๊ฐ„ ์ดˆ๊ณผ ์‹œ ์ ๊ธฐ ์ž”์กด
219
+
220
+ ## ๐Ÿ† ์ ์ˆ˜ ์‹œ์Šคํ…œ
221
+
222
+ - ๊ธฐ๊ด€ํฌ ๊ฒฉ์ถ”: 100์ 
223
+ - ๋ฏธ์‚ฌ์ผ ๊ฒฉ์ถ”: 100์ 
224
+ - ์ถฉ๋Œ ๊ฒฉ์ถ”: 200์ 
225
+
226
+ ## ๐Ÿ’ก VIBE CODING์˜ ๊ฒฐ๊ณผ๋ฌผ
227
+
228
+ ์ด ํ”„๋กœ์ ํŠธ๋Š” **VIBE CODING** ๋ฐฉ๋ฒ•๋ก ์œผ๋กœ ์ œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋น ๋ฅธ ํ”„๋กœํ† ํƒ€์ดํ•‘๊ณผ ์ฆ‰๊ฐ์ ์ธ ํ”ผ๋“œ๋ฐฑ์„ ํ†ตํ•ด ๋†’์€ ์™„์„ฑ๋„์˜ 3D ์ „ํˆฌ๊ธฐ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.
229
+
230
+ ### ํŠน๋ณ„ํ•œ ์ 
231
+ - ๋‹จ์ผ JavaScript ํŒŒ์ผ๋กœ ๊ตฌํ˜„๋œ ์™„์ „ํ•œ ๊ฒŒ์ž„ ์—”์ง„
232
+ - ์‹ค์‹œ๊ฐ„ ๋ฌผ๋ฆฌ ์‹œ๋ฎฌ๋ ˆ์ด์…˜
233
+ - ๋ณต์žกํ•œ AI ํ–‰๋™ ํŒจํ„ด
234
+ - ์ „๋ฌธ์ ์ธ HUD ์‹œ์Šคํ…œ
235
+ - ๋ชฐ์ž…๊ฐ ์žˆ๋Š” ์‚ฌ์šด๋“œ ๋””์ž์ธ
236
+
237
+ ## ๐Ÿ› ์•Œ๋ ค์ง„ ์ด์Šˆ
238
+
239
+ - ์ผ๋ถ€ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ž๋™ ์žฌ์ƒ ์ •์ฑ…์œผ๋กœ ์ธํ•œ BGM ์žฌ์ƒ ์ง€์—ฐ
240
+ - ๊ณ ์‚ฌ์–‘ ๊ทธ๋ž˜ํ”ฝ ์„ค์ •์—์„œ ํ”„๋ ˆ์ž„ ๋“œ๋กญ ๊ฐ€๋Šฅ
241
+ - ํ”Œ๋ ˆ์–ด ํšจ๊ณผ๊ฐ€ ๊ฐ„ํ˜น ๋ฏธ์‚ฌ์ผ์„ ์™„๋ฒฝํžˆ ํšŒํ”ผํ•˜์ง€ ๋ชปํ•  ์ˆ˜ ์žˆ์Œ
242