Web Audio API va Partikllar Tizimi (Visual FX)
O'yinga jon bag'ishlaymiz: tashqi MP3 fayllarsiz matematik ovoz sintezi, to'lqin osillyatorlari va real fizika asosidagi neon zarrachalar portlashi.
"Game Feel" va "Juice": Nega tovush va effektsiz o'yin jonsiz?
- O'q robotga tegadi — robot shunchaki ovozsiz yo'qolib qoladi.
- O'yinchi zarba tegdimi yoki yo'qligini sezmaydi.
- 2 daqiqadan keyin o'yinchi zerikib sahifani yopadi.
- Zarba berilganda: o'tkir tovush + 30 ta neon uchqunlari tarqalishi!
- O'yinchining miyasi har bir harakatdan zavq oladi.
- O'yin dinamik, qudratli va qimmatbaho loyiha kabi tuyuladi.
Nega og'ir MP3 emas, aynan Web Audio API?
MP3 yuklanishda kechikadi. Web Audio esa tovush kartasida mikrosaniyalarda to'lqin yaratadi.
5 MB hajmdagi fayllar kerak emas. Butun audio-dvijok bor-yo'g'i 15 qator JS kodi ichida!
Qahramon tezligi yoki dushman masofasiga qarab tovush chastotasini real vaqtda o'zgartirish mumkin!
4 Asosiy To'lqin Shakli: Mayin Ohangdan Portlashgacha
O'tkir 8-bit retro arkada tovushi. Lazer o'qi va sakrash uchun ayni muddao.
Agressiv g'ijirlagan tovush. Dushman zarbasi va portlashlar uchun ishlatiladi.
Toza mayin ohang. Kristall va oltin tangalar terishda ishlatiladi.
Sinus va kvadrat qorishmasi. Qadam tovushlari va sakrash uchun qulay.
Lazer O'qi Tovushi: Chastotaning Eksponensial Pasayishi
Lazer shunchaki bitta notadagi ovoz emas. Bu chastotaning 900 Hz dan (yuqori xushtak) 100 Hz gacha (pastki bas) atigi 0.12 soniyada keskin tushib ketishidir!
Hech qachon `exponentialRamp` parametriga 0 Hz bermang! Eksponensial funksiya matematik jihatdan 0 ga yeta olmaydi (xatolik beradi). Har doim kamida 1 Hz yoki 10 Hz ko'rsating!
GainNode: Quloqni Charchatmaydigan Silliq So'nish
Agar to'lqin o'rtasida tovush birdan to'xtatilsa, dinamik cho'chib xunuk "chertish" (click) chiqaradi.
Partikllar Tizimi (Particle Emitter) Nima?
Portlash yoki lazer dushmanga tekkan fazoviy koordinata `(x, y)`.
30 ta zarracha yaratiladi. Har biri $0 \dots 2\pi$ burchak ostida tasodifiy yo'nalish oladi.
Har bir partikl 0.5 soniya yashaydi, sekin shaffoflashib (alpha) yo'qoladi.
Har Bir Partiklning Trigonometriyasi va Gravitatsiyasi
Nega `splice` bo'lmasa o'yin 2 daqiqada qotadi?
Har bir portlash 30 ta obyekt yaratadi. 1 daqiqada 5000+ partikl to'planadi! Agar o'lgan partikllar (`life <= 0`) massivdan o'chirilmasa, protsessor ko'rinmas nuqtalarni hisoblab holdan toyadi. FPS 60 dan 10 ga tushib ketadi!
Uyg'unlik: Tovush va Vizual Portlash Bitta Lahzada
"square" 900→100Hz + moviy lazer nuri.
"sine" 523→1046Hz + oltinrang uchqunlar.
"sawtooth" 180→20Hz + 80 ta olovli zarrachalar.
Kiber SFX va Partikllar Studiyasi: O'z Effektlaringizni Yasa
- Brauzerda
lab/index.htmlni oching. - Tovush turlarini sinab ko'ring va osillograf to'lqinini kuzating.
- Partikl maydoniga bosib turli rangli zarrachalar yarating.
- Hosil bo'lgan
playCyberSFX()kodini o'rganing.
Studiyada Web Audio AnalyserNode orqali jonli to'lqin shakli va partikllar soni hisoblagichi ishlaydi.
10 Ballik Baholash Mezoni
- To'lqin turlari 100% to'g'ri tanlangan.
- Eksponensial chastota qoidasi tushuntirilgan.
- Partikl fizikasi va splice to'g'ri yozilgan.
- Tovush turlari to'g'ri.
- Partikl formulalarida 1 ta kamchilik bor.
- Varaqa to'ldirilgan.
- Faqat to'lqin turlari to'ldirilgan.
- Matematik qismlar yozilmagan.