KickBlitz 1.4.0 yayında!
https://kickblitz.com/
- Tüm tarayıcılarda -özellikle Firefox- ciddi performans artışı sağladım. Hala gidecek yolu var.
- Oyun içi aksiyonlara tepki veren gerçek zamanlı seyirci sistemi, hakem ve spiker ekledim. Eğlenceli tepkiler veriyor. Deneyin.
- Ses efektlerinde değişiklikler yaptım.
- Kale ağları artık kare.
#kickblitzdevlog #playkickblitz

Geçen yenildim 😀
Her güncellemede AI'ya ayar çekiyorum. Daha basit şu an.
@ozgurg; Seyircileri uçurmak da iyi olmuş... 😀
@lterlemez Top oraya gidiyorsa bir tepki vermeliydiler. 😀
@ozgurg Güzel olmuş...
Eline sağlık. Eğlenceli olmuş. 😀
Kendi kaleme gol atınca, botta kendi kalesine attı. 😀
Teşekkürler. İnsan gibi botmuş o zaman desene? 😀
@ozgurg Kaliteli olduğu kesin. Sırada ne var?
@bobafett Oyuncu özelleştirme diye düşünüyorum. Bunu yaparken seyirci sistemine ve ilişkili diğer kısımlara ince ayar çekeceğim.
firefox + ryzen 2200g'de performans düşük bayağı.
Tarayıcı bağımsız donanım hızlandırmayı açmak gerekiyor en iyi performans için: https://support.mozilla.org/en-US/kb/performance-settings
Ben, benim tarafımdaki optimizasyonu da yapacağım elbette ama yine de Firefox'un donanımı kullanabilme yeteneği iyi değil.
Chrome tabanlı bir tarayıcı kullanabilir veya Ayarlar > Grafik'ten En Düşük'ü seçebilirsin.
@ozgurg FFye laf olmaz. FF kırmızı çizgimdir.
@oniki Ettirmesin o zaman.
@ozgurg Yapay zekaya proje neden Firefox'ta yavaş diye sorduğunda ne cevap veriyor? Teknik olarak farkını merak ettim Firefox'un. Neyi farklı yapıyor acaba. Cevaplarsan sevinirim
@gt710gaming hdr video da açamıyor mesela firefox. biraz geri kalmış sanki
@bitlikarinca Eğer FF HDR video açamıyorsa, demek ki HDR video gereksiz birşeydir.
@bitlikarinca Özellik eksikliği olabilir ama çok kötü çalışmasının bir teknik açıklaması olmalı. Oyun yeni bir teknoloji kullanıyorsa Firefox hangisinde geri kaldı onu merak ediyorum, teknik olarak.
@gt710gaming
Yeni bakabildim. Buyur yapay zeka çıktısı.
Özet:
Chrome Canvas 2D çizimlerini ve gölge/ışık efektlerini baştan sona doğrudan ekran kartında (GPU) işlerken, Firefox birçok 2D çizim ve gölge komutunu işlemcide (CPU) hesaplayıp her karede ekran kartına aktarmak zorunda kalıyor. Bu durum özellikle yüksek çözünürlüklü ekranlarda işlemci ve veri yolu darboğazı yaratarak FPS düşüşüne sebep oluyor.
Uzun:
Chrome (Blink + Skia/Graphite + Dawn):
Chrome, 2D Canvas çizimlerini doğrudan GPU VRAM'inde tutulan dokular üzerinde donanım hızlandırmalı (Metal / DirectX / Vulkan) Skia işlemcisiyle çizer. CPU ile GPU arasında her karede doku kopyalama ihtiyacı minimumdur.
Firefox (Gecko + WebRender):
Firefox DOM arayüzü için WebRender kullanır; ancak 2D API'sindeki birçok karmaşık çizim komutunu (karmaşık path'ler, degrade dolgular, filtreler) CPU tarafında yazılımsal (Software Rasterizer) olarak hesaplayıp ardından GPU'ya doku transferi (texture upload / sync) yapar. Bu durum her karede işlemci-grafik kartı arasında ciddi bir veri yolu darboğazı oluşturur.
2. shadowBlur ve Efektlerin CPU'da Hesaplanması
Chrome parlamaları ve gölgeleri (shadowBlur, shadowColor) doğrudan GPU fragment shader'ları ile hesaplarken, Firefox motorunda bu filtreleme büyük oranda CPU tabanlı Gaussian / Box Blur algoritmalarıyla işlenir.
Sahada aynı anda parlama yapan top, oyuncu halkaları ve vuruş dalgaları olduğunda, Firefox'un tek bir çekirdeği tamamen bu gölgeleri hesaplamakla meşgul olur ve 16.6 milisaniyelik (60 FPS) kare süresini kaçırır.
3. rAF (RequestAnimationFrame) & V-Sync Zamanlama Farkı
Firefox'un ana iş parçacığı (Main Thread) ile görüntü birleştiricisi (Compositor Thread) arasındaki V-Sync senkronizasyonu Chrome'a göre daha katı ve platforma (özellikle macOS ve Linux veya değişken yenileme hızına sahip monitörler) daha duyarlıdır.
En ufak bir 1-2 ms'lik gecikmede Firefox bir sonraki V-Sync aralığını kaçırıp kareyi atlar (stuttering / micro-stutter).
4. JavaScript Motoru & Çöp Toplayıcı (SpiderMonkey vs V8)
V8 (Chrome), 60 FPS oyun döngülerinde anlık küçük bellek tahsislerini (micro-allocations) arka planda eşzamanlı (concurrent scavenging) temizleyebilir.
SpiderMonkey (Firefox), yoğun çizim yapılan döngülerde nesne/dizi yaratıldığında ana iş parçacığını anlık duraklatan (minor GC pause) çöp toplama aralıklarına girebilir.
5. Gizlilik & Zamanlayıcı Hassasiyeti (Anti-Fingerprinting)
Firefox, kullanıcı parmak izi takibini (fingerprinting) engellemek amacıyla performance.now() ve tarayıcı zamanlayıcılarının hassasiyetini varsayılan olarak yuvarlar (reduceTimerPrecision). Bu da delta zamanı ($dt$) bazlı fizik ve enterpolasyon döngülerinde ufak zamanlama titremelerine (jitter) yol açabilir.
@ozgurg Çok teşekkür ederim, merak ettiğim buydu 🙂
Yan ekranda pek tasvip edilmeyen yollarla maç izlerken açayım dedim, açtığım anda yayın dondu. Bir iki kurcalamanın ardından sekmeyi kapattığım an yayının devam ettiğini, PvE oyuna girdiğim an ise yayının donduğunu fark ettim 😀 Extension'larımı kurcaladım biraz ancak düzelmedi. Feedback niyetine paylaşayım istedim ben de 🙂
AI ile oynarken de oluyor mu?
@ozgurg Evet PvE modunda deneyimledim. taraftar-ların tercih ettiği -ium sitesinde izliyorum yayını eğer test etmek istersen.
@otroligt Teşekkürler, birebir nasıl tekrar ederim bilemiyorum isimlerini versen de. GPU devreye girdiği için acaba tarayıcı diğer sekmeleri mi uyutuyor diye düşünüyorum. Donanım ve tarayıcı bilgisi alsam daha iyi olur.
@ozgurg Tarayıcı olarak Brave kullanıyorum. 5060 Ti ekran kartım var. Test etmene yarayacak farklı bilgiler gerekirse yardımcı olabilirim, ben de kendi ayarlarımı kurcalayarak deniyorum bir şeyler.
@otroligt Donanım-Tarayıcı ikilisi olarak daha ne olsun? 😀 Donanım hızlandırma açık mı tarayıcıda?
@ozgurg Evet, donanım hızlandırma açıktı. Kapatarak denedim şimdi, bu sefer yayın donmadı ancak fps 10-15 aralığında 😀
@otroligt Hmm. Yeterince veri var artık elimde, sağ ol. Ne yapabileceğime bakacağım.
Ben rakip bulamıyom çok üzücü
Karşına çıkmaya korkuyorlar.
@ozgurg biliom 🥺
@ozgurg Keep Waiting süresi uzatılmalı belki bu sayede bulabiliriz. Aramaya basıp arka sekmeye geçiyorum ama çabucak durmuş oluyor. Beklenen süre de yazarsa iyi olur.
@gt710gaming Basmasan da arıyor aslında o ekranda. Uzun sürüp donuyor gibi hissettirmesin diye ilk 10, sonra 20, sonra 30 gibi bekleme sürelerinde o ekranı çıkarıyorum ama o esnada bulunduysa oyun başlıyor. Lobiye dönülmediği sürece devamlı aramaya devam ediyor. Süreyi yazabilirim evet. Bulamamasındaki temel sorun oynanan yok. 😀
@ozgurg Aramaya devam ediyorsa neden benden "Aramaya devam et" komutunu içeren geri bildirim istiyor ki? 😀 Kafa karıştırıcı o zaman 🙂
@gt710gaming Bekliyor bekliyor neden bulmuyor diye kafa karıştırmasın diye ekledim. Bekleyip bulamazsa siteden gitmesi yerine alternatif oyun modlarına yönlendirip sitede tutmaya çalışıyorum. Hatta notlarımda var beklerken AI ile oyna, bulursa eşliye gir de ekleyeceğim.
@ozgurg Bi sistem benden "devam et" veya "başka moda geçelim mi abi?" diye soru soruyorsa o zaman aramayı durdurmuş ve benden seçmemi bekliyor diye düşünürüm. Beklemeye devam et yerine [Beklemeyi durdur] [00:28] gibi tuş olsa daha iyi anlaşılır bence kullanıcı açısından.
@gt710gaming Haklısın. İyileştireceğim.
@gt710gaming Yani eğer bu resimdeki durumda hala arkaplanda arıyorsa anlaşılmıyor. Aramıyorsa da aramaya devam etsin lütfen 😀
@gt710gaming Arıyor. Elle lobiye gitmezsen devamlı arıyor. Devamlı aradığını bir şekilde kullanıcıya bildireyim.
Ben oyunda başarılı olamıyorum, kontrolsüz geliyor bana. Bir süre zevkli ama başarısız olunca zevki de kaçıyor. Kendi kaleme gol atayım dedim, o şekilde kendime hedef belirledim, onu da beceremedim 🙁 Her gol, her kurtarış rastgele oluyor. Kötü ve faydasız eleştiride bulunmak istemezdim ama bir süre ilgimi çekse de 'son tahlilde' bana hitap etmedi ama beğendim, başarılarınızn devamını dilerim @ozgurg
Teşekkür ederim. Tüm grafik ıvır zıvır dışında en önemlisi aslında bu dediklerin. Bir oyun önce eğlenceli olmalı. Benim de bir takım rahatsızlıklarım var bu konuda. Yapacaklarım da var. O güne kadar görüşürüz.
4-1 öne geçtiğim sırada fark ikiye çıktı diyordu. bir de top direk kenarında kalınca yapay zeka topa yönelmiyor ama en azından belli süre sonra top sıfırlanıyor o güzel olmuş
Düzelteceğim, teşekkürler. AI'da hatalar mevcut. Sıfırlanmasını o hataları tam çözemediğim için ve eşli oyunda bir oyuncu topa vurmazsa oyun durmasın diye ekledim. 😀
@ozgurg keyifli olmuş. oyun açmaya üşendiğim zaman 2dk kafa dağıtmalık ^^
@ulashoca41 Teşekkürler. Tam olarak hedefim oydu. Sigara molalarında, otobüste tek elle tutarken hızlıca 3 dk oynayıp fazla kasmadan çıksınları hedefleyerek işe giriştim. 🙂
Kenardaki izleyiciler beni rahatsız etti. Oyuna geçince kenara ekili saksılar gibi görünüyor. Bence Gerek yok. İzleyici gol anlarında görünüp tekrar sahadan çekilmeli bence. Uzun süre gol olmazsa tepki gösterebilirler. Onun dışında kontrol sorunu yaşayanlar düşük DPI kullanırsa daha iyi olur. Bir de bence bir deneme olarak 'oyuncunun' topa biraz daha hesaplı vurması için bir işaret konulabilir. Yani bu aletin neresine dokunursam düz gidecek bu top. Belki bu görürlürse daha kontrollü olur şu an yön tayini yapmak mümkün değil fazla 'random' oluyor.
Çok teşekkürler.
Rastgelelik bu "oyunu" ilk kontrol edilebilir hale getirdiğimden beri nasıl çözeceğim diye üzerinde durduğum bir konu. Çünkü iyi oynayan ile oynamayanı ayırabilmek istiyorum.
Angry Birds gibi çek bırak ve bilardo gibi gideceği yeri gösteren oklara benzer mekanikler denedim. Ancak aklıma gelen yöntemlerde hedeflediğim "casual" havayı bozmadan tatlı bir ara tutturamadım. Zaten aslında oyun tasarımı ve eğlenceli-eğlencesiz oyunu ayıran bu oluyor galiba. Arka planda devamlı benzer denemeler yapıyorum. Bir noktada sizlerin de yorumlarıyla tatlı noktayı yakalayabilirim umarım.
Seyirciler şu anda bazen kendilerine çarpan topu geri ittiriyor. Ciddi bir mekanik etkisi yok. Görünüm olarak çok sevdim ama evet ekranda kalabalık yaratıyor. Duruma göre aç-kapa ayarı ekleyebilirim.
@ozgurg Sadece bir nokta istiyorum ben aslında. Kontrolcünün önü burası der gibi. Sadece o noktaya getirince düz gidecek. Noktayı çevirmek yok. Denk getirmek var. Bence oyuncular yönlerini kaybediyor işler hızlanınca.
@gamsizm Grafiği son hali değil ama bunun gibi bir şey mi? (GIF)
@ozgurg Evet böyle. Ama oynamadan bilemeyeceğiz daha yorucu mu oluyor daha rahat mı.
@gamsizm Bir alternatif, hoş olmayabilir, saydam bir elin tutması. Oyuncuya referans vermeye çalışıyorum aslında. Yıllar evvel oynadığım bir pin pon oyunu öyleydi. En azından mantığı bununla daha rahat gösterebilirim. https://www.youtube.com/watch?v=gp27KMNxi00
@gamsizm Biraz daha değiştirdim, daha anlaşılır yaptım. Yarın akşam yayına alacağım. Tekrardan teşekkürler.
Direklere çarpma efekti çok güzel olmuş. İki direğe çarptırıp atamamayı da başardım bu arada 🙂
Onu biraz daha iyileştireceğim bir ara. 🙂 Tüm direkler tek parça gibi davransa daha iyi olur.