# πŸ“œ План Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° DOOM 3D (Full 3D WebGL) **ЦСль:** Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΉ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π½Ρ‹ΠΉ 3D Ρ€Π΅Ρ‚Ρ€ΠΎ-ΡˆΡƒΡ‚Π΅Ρ€ Π² стилС DOOM / Quake Π½Π° Π±Π°Π·Π΅ **Three.js** (с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΠΏΠΎΠ»Π½ΠΎΠΉ трСхмСрности: ΠΌΠ½ΠΎΠ³ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Π΅ ΠΊΠ°Ρ€Ρ‚Ρ‹, ΠΏΠ΅Ρ€Π΅ΠΏΠ°Π΄Ρ‹ высот, лСстницы, ΠΏΡ€Ρ‹ΠΆΠΊΠΈ, ΠΎΠ±ΡŠΠ΅ΠΌΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ½Π°Ρ‚Ρ‹, освСщСниС ΠΈ Ρ„ΠΈΠ·ΠΈΠΊΠ° ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΉ) с Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹ΠΌ 2D Ρ€Π΅Ρ‚Ρ€ΠΎ-HUD. Доступ ΠΏΠΎ URL: [ai.qpid.pro/doom/](https://ai.qpid.pro/doom/) --- ## πŸ› οΈ Π‘Ρ‚Π΅ΠΊ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ - **3D Π“Ρ€Π°Ρ„ΠΈΠΊΠ° & Π Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³:** Three.js (WebGL / WebGPU) β€” ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΉ 3D ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½, ΡˆΠ΅ΠΉΠ΄Π΅Ρ€Ρ‹, динамичСский свСт, Ρ‚Π΅Π½ΠΈ, ΠΏΠ°Ρ€Ρ‚ΠΈΠΊΠ»Ρ‹. - **Π€ΠΈΠ·ΠΈΠΊΠ° ΠΈ Коллизии:** Octree / Capsule Collider (быстрыС ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΈ для FPS со слоТной Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠ΅ΠΉ, ступСнями, склонами ΠΈ ΠΏΡ€Ρ‹ΠΆΠΊΠ°ΠΌΠΈ) ΠΈΠ»ΠΈ Rapier3D. - **2D HUD / UI:** 2D Canvas / DOM Overlay Π² Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΎΠΌ стилС Doom (панСль состояния, Π°Π½ΠΈΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π»ΠΈΡ†ΠΎ Doomguy, ΠΏΡ€ΠΈΡ†Π΅Π», Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ сообщСния). - **Π—Π²ΡƒΠΊ:** Web Audio API (пространствСнный 3D ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Π·Π²ΡƒΠΊ, Ρ€Π΅Ρ‚Ρ€ΠΎ-SFX, саундтрСк). --- ## πŸ—ΊοΈ Π­Ρ‚Π°ΠΏΡ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (Roadmap) ### πŸ”Ή Π­Ρ‚Π°ΠΏ 1: 3D Π”Π²ΠΈΠΆΠΎΠΊ ΠΈ Базовая Ρ„ΠΈΠ·ΠΈΠΊΠ° пСрСмСщСния - [ ] Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ Three.js сцСны, ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ ΠΎΡ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π»ΠΈΡ†Π° (FPS Camera) ΠΈ Ρ€Π΅Π½Π΄Π΅Ρ€Π΅Ρ€Π° с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈ пиксСлизации (Ρ€Π΅Ρ‚Ρ€ΠΎ-эффСкт). - [ ] Π—Π°Ρ…Π²Π°Ρ‚ курсора (Pointer Lock API) ΠΈ ΠΏΠ»Π°Π²Π½Ρ‹ΠΉ ΠΎΠ±Π·ΠΎΡ€ ΠΌΡ‹ΡˆΡŒΡŽ с настраиваСмой Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ. - [ ] ЀизичСский ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΈΠ³Ρ€ΠΎΠΊΠ° (FPS Controller): - ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ WASD (Ρ…ΠΎΠ΄ΡŒΠ±Π°, Π±Π΅Π³ с Π·Π°ΠΆΠ°Ρ‚Ρ‹ΠΌ Shift) - ΠŸΡ€Ρ‹ΠΆΠΊΠΈ, гравитация, ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ - ПодъСм ΠΏΠΎ ступСням ΠΈ пандусам (step-climbing) - Collision Detection Π½Π° Π±Π°Π·Π΅ Octree / Capsule ΠΏΡ€ΠΎΡ‚ΠΈΠ² слоТной 3D Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ. - [ ] МобильноС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅: Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ стики пСрСмСщСния ΠΈ ΠΎΠ±Π·ΠΎΡ€Π° + ΠΊΠ½ΠΎΠΏΠΊΠΈ ΡΡ‚Ρ€Π΅Π»ΡŒΠ±Ρ‹ ΠΈ ΠΏΡ€Ρ‹ΠΆΠΊΠ°. --- ### πŸ”Ή Π­Ρ‚Π°ΠΏ 2: 3D Π£Ρ€ΠΎΠ²Π½ΠΈ ΠΈ ГСомСтрия (ΠœΠ½ΠΎΠ³ΠΎΡΡ‚Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈ АрхитСктура) - [ ] ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹ΠΉ 3D Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ / Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ: - ΠœΠ½ΠΎΠ³ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Π΅ здания, мосты, Ρ‚ΠΎΠ½Π½Π΅Π»ΠΈ, ΡˆΠ°Ρ…Ρ‚Ρ‹ Π»ΠΈΡ„Ρ‚ΠΎΠ², Π±Π°Π»ΠΊΠΎΠ½Ρ‹ ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ Π°Ρ€Π΅Π½Ρ‹. - ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² GLTF / OBJ / кастомных Π²ΠΎΠΊΡΠ΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈ Π±Π»ΠΎΡ‡Π½Ρ‹Ρ… ΠΊΠ°Ρ€Ρ‚. - [ ] ΠžΡΠ²Π΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΈ атмосфСра: - ДинамичСскиС Ρ‚ΠΎΡ‡Π΅Ρ‡Π½Ρ‹Π΅ источники свСта (Ρ„Π°ΠΊΠ΅Π»Ρ‹, ΠΌΠΈΠ³Π°ΡŽΡ‰ΠΈΠ΅ Π»Π°ΠΌΠΏΡ‹, Π»Π°Π²Π°). - Ambient Occlusion, Ρ‚ΡƒΠΌΠ°Π½ (Fog) ΠΈ Π·Π°Ρ‚Π΅ΠΌΠ½Π΅Π½ΠΈΠ΅ Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹. - [ ] Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ 3D ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹: - Π Π°Π·Π΄Π²ΠΈΠΆΠ½Ρ‹Π΅ ΠΈ ΠΏΠΎΠ΄ΡŠΠ΅ΠΌΠ½Ρ‹Π΅ Π΄Π²Π΅Ρ€ΠΈ с коллизиями. - НастСнныС ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΠΈ ΠΈ Ρ€ΡƒΠ±ΠΈΠ»ΡŒΠ½ΠΈΠΊΠΈ. - ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ двиТущиСся Π»ΠΈΡ„Ρ‚Ρ‹. --- ### πŸ”Ή Π­Ρ‚Π°ΠΏ 3: ΠžΡ€ΡƒΠΆΠΈΠ΅ ΠΎΡ‚ 1-Π³ΠΎ Π»ΠΈΡ†Π° ΠΈ БоСвая систСма - [ ] Π Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ оруТия Π² Ρ€ΡƒΠΊΠ°Ρ… (3D ΠΌΠΎΠ΄Π΅Π»ΠΈ / Π°Π½ΠΈΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ спрайты с эффСктом присутствия): - ΠšΡƒΠ»Π°ΠΊ / Π‘Π΅Π½Π·ΠΎΠΏΠΈΠ»Π° - ΠŸΠΈΡΡ‚ΠΎΠ»Π΅Ρ‚ (Pistol) - Π”Ρ€ΠΎΠ±ΠΎΠ²ΠΈΠΊ (Shotgun / Super Shotgun) - Π‘ΠΊΠΎΡ€ΠΎΡΡ‚Ρ€Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡƒΠ»Π΅ΠΌΠ΅Ρ‚ (Chaingun) - Π Π°ΠΊΠ΅Ρ‚Π½ΠΈΡ†Π° (Rocket Launcher) - ПлазмСнная ΠΏΡƒΡˆΠΊΠ° (Plasma Gun / BFG 9000). - [ ] Π’ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ физичСскиС эффСкты ΡΡ‚Ρ€Π΅Π»ΡŒΠ±Ρ‹: - ΠžΡ‚Π΄Π°Ρ‡Π° ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹, ΠΏΠΎΠΊΠ°Ρ‡ΠΈΠ²Π°Π½ΠΈΠ΅ оруТия ΠΏΡ€ΠΈ Ρ…ΠΎΠ΄ΡŒΠ±Π΅ (Weapon Bobbing). - Π’ΡΠΏΡ‹ΡˆΠΊΠΈ Π΄ΡƒΠ»Π° (Muzzle Flash) с динамичСским освСщСниСм ΠΊΠΎΠΌΠ½Π°Ρ‚. - Hitscan Π»ΡƒΡ‡ΠΈ с трассСрами ΠΈ искрами/слСдами ΠΎΡ‚ ΠΏΡƒΠ»ΡŒ Π½Π° стСнах (Bullet Decals). - ЀизичСскиС 3D снаряды (Ρ€Π°ΠΊΠ΅Ρ‚Ρ‹, ΠΏΠ»Π°Π·ΠΌΠ΅Π½Π½Ρ‹Π΅ ΡˆΠ°Ρ€Ρ‹) с частицами Π΄Ρ‹ΠΌΠ° ΠΈ Π²Π·Ρ€Ρ‹Π²Π°ΠΌΠΈ с радиусом пораТСния. --- ### πŸ”Ή Π­Ρ‚Π°ΠΏ 4: 3D Π’Ρ€Π°Π³ΠΈ ΠΈ ИИ (AI) - [ ] МодСли / 3D-Π±ΠΈΠ»Π»Π±ΠΎΡ€Π΄Ρ‹ классичСских монстров (Π—ΠΎΠΌΠ±ΠΈ-стрСлки, Π˜ΠΌΠΏΡ‹, Π”Π΅ΠΌΠΎΠ½Ρ‹, ΠšΠ°ΠΊΠΎΠ΄Π΅ΠΌΠΎΠ½Ρ‹). - [ ] ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²Π΅Π½Π½Ρ‹ΠΉ 3D ИИ с Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠ΅ΠΉ (Raycast Line of Sight, NavMesh / 3D Waypoints): - Поиск ΠΏΡƒΡ‚ΠΈ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ высот ΠΈ лСстниц. - Бостояния: ΠŸΠ°Ρ‚Ρ€ΡƒΠ»ΡŒ $\rightarrow$ ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ $\rightarrow$ ΠŸΡ€Π΅ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ $\rightarrow$ Атака (дальняя/блиТняя) $\rightarrow$ Π£ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ $\rightarrow$ Π‘ΠΌΠ΅Ρ€Ρ‚ΡŒ. - [ ] 3D Ragdoll / Ρ„ΠΈΠ·ΠΈΠΊΠ° ΠΎΡ‚Π»Π΅Ρ‚Π°ΡŽΡ‰ΠΈΡ… частиц ΠΈ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ Π³ΠΈΠ±Π΅Π»ΠΈ монстров. --- ### πŸ”Ή Π­Ρ‚Π°ΠΏ 5: ΠŸΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρ‹, Π›ΡƒΡ‚ ΠΈ Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ - [ ] 3D Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠ΅ΡΡ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρ‹ с мягким свСчСниСм: - АптСчки ΠΈ стимуляторы (Health). - Броня ΠΈ сфСры бСссмСртия (Armor / Soulsphere). - ΠšΠΎΡ€ΠΎΠ±ΠΊΠΈ с ΠΏΠ°Ρ‚Ρ€ΠΎΠ½Π°ΠΌΠΈ, гильзами ΠΈ батарСями. - Π¦Π²Π΅Ρ‚Π½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡-ΠΊΠ°Ρ€Ρ‚Ρ‹ доступа (Red, Blue, Yellow). - [ ] Π’Π·Ρ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ токсичныС Π±ΠΎΡ‡ΠΊΠΈ (Explosive Barrels) с Ρ†Π΅ΠΏΠ½ΠΎΠΉ Π΄Π΅Ρ‚ΠΎΠ½Π°Ρ†ΠΈΠ΅ΠΉ. --- ### πŸ”Ή Π­Ρ‚Π°ΠΏ 6: АутСнтичный HUD ΠΈ Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ - [ ] ΠšΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠ°Ρ статус-панСль Π² стилС DOOM: - ЗначСния Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΡ (HEALTH), Π±Ρ€ΠΎΠ½ΠΈ (ARMOR), ΠΏΠ°Ρ‚Ρ€ΠΎΠ½ΠΎΠ² (AMMO). - Анимированный Π°Π²Π°Ρ‚Π°Ρ€ Doomguy (эмоции, ранСния, оскал ΠΏΡ€ΠΈ ΡΡ‚Ρ€Π΅Π»ΡŒΠ±Π΅). - Π˜Π½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ собранных ΠΊΠ»ΡŽΡ‡Π΅ΠΉ доступа. - [ ] ΠŸΡ€ΠΈΡ†Π΅Π», Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ увСдомлСния ΠΎ ΠΏΠΎΠ΄Π±ΠΎΡ€Π΅ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΎΠ² (Β«Picked up a shotgun!Β») ΠΈ экран получСния ΡƒΡ€ΠΎΠ½Π° (красная Π²ΡΠΏΡ‹ΡˆΠΊΠ°). - [ ] Π­ΠΊΡ€Π°Π½ ΠΏΠ°ΡƒΠ·Ρ‹, мСню настроСк (FOV, Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π·Π²ΡƒΠΊ, Ρ€Π΅Ρ‚Ρ€ΠΎ-Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹). --- ### πŸ”Ή Π­Ρ‚Π°ΠΏ 7: ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²Π΅Π½Π½Ρ‹ΠΉ Π—Π²ΡƒΠΊ ΠΈ Π‘Π°ΡƒΠ½Π΄Ρ‚Ρ€Π΅ΠΊ - [ ] Web Audio 3D Positional Audio (Π·Π²ΡƒΠΊ шагов ΠΈ рычания монстров позиционируСтся Π² 3D пространствС). - [ ] Π—Π²ΡƒΠΊΠΈ выстрСлов, пСрСзарядки, Π²Π·Ρ€Ρ‹Π²ΠΎΠ², открывания тяТСлых ΠΆΠ΅Π»Π΅Π·Π½Ρ‹Ρ… Π΄Π²Π΅Ρ€Π΅ΠΉ. - [ ] Π”ΠΈΠ½Π°ΠΌΠΈΡ‡Π½Ρ‹ΠΉ Ρ€ΠΎΠΊ / ΠΌΠ΅Ρ‚Π°Π» саундтрСк. --- ### πŸ”Ή Π­Ρ‚Π°ΠΏ 8: ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ, ΠŸΠΎΠ»ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΈ Π”Π΅ΠΏΠ»ΠΎΠΉ - [ ] Π‘Ρ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ 60+ FPS (Frustum Culling, Instanced Meshes для ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ элСмСнтов). - [ ] Π¨Π΅ΠΉΠ΄Π΅Ρ€ пиксСлизации / CRT-ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π° (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Ρ‚Ρ€ΠΎ-Ρ„ΠΈΠ»ΡŒΡ‚Ρ€). - [ ] ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΈ тСстированиС ΠΏΠΎ адрСсу `https://ai.qpid.pro/doom/`.