Her blok katıdır – olmadığı durumlar hariç
İstemci mesher'ımızın (mesh oluşturucu) demir gibi bir kuralı var: hava olmayan her blok çizilir ve çarpışması vardır. Nokta. Bu sadeleştirme mesh oluşturmayı hızlı, kodu basit tutar; tâ ki tam da bu kuralı bozmak isteyen bir özellik gelene kadar.
Enerji Kapısı. Enerji çitlerimiz için bir kapı istedik: oyuncuların ve dost NPC'lerin içinden rahatça geçebildiği, ama vahşi hayvanların geçemediği parıldayan bir zar. Yani görünür ama bazıları için duvar olmayan bir blok. Mimarimizin tam olarak öngörmediği şey.
Çözüm iki yarıdan oluşuyor. İstemcide mesher ilk bilinçli istisnasını aldı: kapı bloğu çizilir ama çarpışma meshinin dışında tutulur; oyuncular içinden yürüyüp geçer. Gerçek mantık sunucuda çalışır: yaratıkların hareket sistemleri her adımda yolda bir enerji bariyeri olup olmadığını kontrol eder. Vahşi hayvanlar ve düşmanlar geri döner, yoldaşlar ve oyuncular geçer. Bu kontrolün üç hareket sisteminin hepsine girmesi gerekti (vahşi hayvanlar, yoldaşlar, gezegen düşmanları); yoksa bir yaratık türü kapıyı “bilmezdi”.
Dürüst dipnot: Uçan yaratıklar çitin hemen üzerinden süzülür. Bu bir hata değil, belgelenmiş bir sınırlama; bir çit uçan hiçbir şeyi durdurmaz. Böyle bilinçli boşlukları saklamak yerine yazıp not etmeyi tercih ederiz.
Geriye kalan: “hava olmayan her şey katıdır” gibi mimari kurallar basit oldukları için değerlidir. Ama tek istisnanın nerede yaşadığını ve neden orada yaşadığını bilmelisin.
Yorumlar