Arenanın Fizik Motoru: Toplar Neden Hiç Yavaşlamaz?

    Çarpışma simülasyonunun arkasındaki fizik: yerçekimsiz arena, kayıpsız sekme, hız sınırları ve duvara yapışmayı önleyen düzeltmeler.

    Takipçilerim Çarpışıyor Editörlüğü · Yayın: · 3 dk okuma

    Simülasyon gerçek bir fizik motoruyla çalışır

    Videoda gördüğünüz hareket elle çizilmiş bir animasyon değildir. Her çarpışma, sunucuda açık kaynaklı Matter.js fizik motoruyla saniyede 60 adım olarak hesaplanır. Her katılımcı motorda bir daire cismidir; profil görseli bu dairenin üzerine giydirilir. Duvarlar hareket etmeyen dört dikdörtgendir. Motor her adımda konumları ilerletir, temasları bulur ve hızları yeniden hesaplar.

    Arena dikeydir: 900 birim genişlik, 1600 birim yükseklik. Bu oran 9:16’dır, yani Reels, TikTok ve Shorts gibi dikey video formatlarıyla aynıdır. Simülasyon alanı ile video karesi aynı boyutta tutulduğu için kayıtta kırpma yapılmaz; ekranda gördüğünüz her şey hesaplanan sahnenin kendisidir.

    Yerçekimi yok, sürtünme yok

    Gerçek dünyada masa üzerinde yuvarlanan bir bilye sürtünmeyle yavaşlar ve sonunda durur. Arena bilinçli olarak böyle kurulmamıştır. Yerçekimi sıfırdır; toplar aşağı düşmez, her yöne eşit serbestlikle hareket eder. Toplar arası sürtünme, hava direnci ve statik sürtünme sıfırlanmıştır. Sekme katsayısı 1’dir; yani bir çarpışmada hareket enerjisi kaybolmaz, yalnızca yön değişir.

    Topların kendi etrafında dönmesi de kapatılmıştır. Bunun pratik bir nedeni var: profil görseli dönseydi yüzler yan ya da ters halde izlenirdi. Dönme kapalı olunca görsel her zaman dik kalır ve izleyen kişi kendi topunu daha kolay tanır.

    • Yerçekimi: 0. Toplar yön ayrımı yapmadan dolaşır.
    • Sekme katsayısı: 1. Çarpışmada enerji kaybı yoktur.
    • Sürtünme ve hava direnci: 0. Kendiliğinden yavaşlama yoktur.
    • Dönme: kapalı. Profil görseli hep dik durur.

    Hız alt ve üst sınırla tutulur

    Kayıpsız bir sistemde bile sayısal hesaplar zamanla küçük sapmalar üretir. Kalabalık bir köşede sıkışan bir top neredeyse durabilir ya da art arda gelen temaslar bir topu aşırı hızlandırabilir. Bu yüzden simülasyon her adımın sonunda bütün aktif topların hızına bakar. Varsayılan ayarda hız adım başına 3 birimin altına düşerse top aynı yönde yeniden hızlandırılır; 5 birimi aşarsa yönü korunarak yavaşlatılır.

    Başlangıçta her top rastgele bir yöne güçlü bir itkiyle fırlatılır ve kısa sürede üst sınıra çekilir. Sonuç olarak oyunun büyük bölümünde bütün toplar yaklaşık aynı süratte hareket eder. Bu, “hızlı top” ya da “yavaş top” avantajını ortadan kaldırır: kimin önce elendiğini hız değil, konum ve rastlantı belirler.

    Duvarda kayan ve yatay döngüye giren toplar

    Fizik motorlarının bilinen bir zayıflığı, duvara çok sığ açıyla gelen cisimlerdir. Top duvara neredeyse paralel giderse motor onu duvarın üzerinde kaydırabilir ve top saniyelerce kenar boyunca sürünür. Arena bunu yakalar: top duvar yüzeyiyle 35 dereceden daha dar bir açı yaparak gelirse motorun kendi çözümü iptal edilir ve top ayna yansıması kuralıyla geri gönderilir. Yansımadan sonra top duvardan yarım birim dışarı itilir ki bir sonraki adımda yeniden temas etmesin.

    Tersi de bir sorundur. Yan duvara neredeyse dik gelen bir top, sağ ve sol duvar arasında yatay bir çizgide uzun süre gidip gelebilir. Böyle bir durum tespit edildiğinde top yansıtılırken hızının yüzde 20 ile 50’si arasında rastgele bir dikey bileşen eklenir. Toplam hız aynı kalır; yalnızca rota kırılır ve top yeniden kalabalığa karışır.

    Tutarlılık denetimi

    Çok yüksek hızlarda bir cisim tek adımda duvarın içinden geçebilir; oyun geliştiricileri buna “tünelleme” der. Hız üst sınırı bu riski büyük ölçüde ortadan kaldırır. Yine de simülasyon saniyede dört kez bütün topları denetler: konumu geçersizleşen, can değeri bozulan ya da arena sınırlarının çok dışına düşen bir top elenmiş sayılır ve o anki elenme sırasıyla kayda geçer.

    Bu denetim aynı zamanda fizik motoru ile oyun kaydı arasındaki uyumu da korur. Motorda artık bulunmayan bir top, sonuç kaydında “hâlâ oyunda” görünemez. Pratikte bu durum çok nadirdir; amacı, bozuk bir cismin yayını sonsuza kadar uzatmasını engellemektir.

    İzleyici için ne anlama gelir?

    Bu ayarların ortak amacı, sonucun izlenebilir ve tarafsız olmasıdır. Hiçbir top diğerinden hızlı değildir, kimse köşede sıkışıp kalmaz, kimse duvarda kayarak temaslardan kaçamaz. Geriye kalan belirleyici unsurlar başlangıç konumu, ilk fırlatma yönü ve o andaki kalabalıktır. Bunların her biri rastgele atandığı için arena, kuralları bilinen ama sonucu önceden bilinemeyen bir deney gibi çalışır.

    Top boyutu nasıl hesaplanır? · Kazanma olasılığı

    İlgili rehberler

    Bu yazı, simülasyonun kendi ayarlarına ve sonuç kayıtlarına dayanılarak hazırlanır; kurallar değiştiğinde güncellenir. Bir hata fark ederseniz bize yazın. Tüm yazılar için Rehber, son sonuçlar için ana sayfa.