Finding Needle in the Stack Ücretsiz oyna

Resmi rehber · Finding Needle in the Stack

Samanlık nasıl çalışır: tarayıcıda kazılabilen 3D bir yığın

Oyundaki samanlık bir resim ya da boş bir kabuk değildir. Kazdıkça değişen katı bir şekildir ve yaptığınız tüneller yaptığınız yerde kalır. Bu yazı, fazla terim kullanmadan bunun nasıl çalıştığını ve bir avuç saman çektiğinizde oyunun ne yapması gerektiğini açıklıyor.

Finding Needle in the Stack oyununda samanlığa kazılmış bir tünel

Nesne yığını yerine yoğunluk ızgarası

Bir samanlığı kurmanın bariz yolu, milyonlarca ayrı saman parçası koyup hareket ettirmek olurdu. Bu, her tarayıcıyı dize getirirdi. Bunun yerine oyun samanlığı üç boyutlu bir sayı ızgarası olarak saklar. Her hücrenin 0 ile 255 arasında bir değeri vardır: 0 boş hava, 255 sıkıca paketlenmiş saman demektir.

Izgara 88 hücre genişliğinde, 40 hücre yüksekliğinde ve 88 hücre derinliğindedir; her 0,3 metrede bir hücre vardır. Toplamda 309.760 hücre eder ve yaklaşık 26 x 12 x 26 metrelik bir alanı kaplar; bu alan, yaklaşık 21 metre çaplı ve neredeyse 10 metre yüksekliğindeki bir kubbeye rahatça sığar. Oyun bu hacmi 5.000.000 «saman parçası» olarak sayar. Kazarken ekranın üstünde azaldığını gördüğünüz sayı budur.

Sayılardan yüzeye

Bir ızgaradaki sayılara bakılamaz, bu yüzden oyun onları bir yüzeye çevirir. Surface Nets adlı bir teknik kullanır; bu teknik «hava» ile «saman» arasındaki sınırı bulur ve o sınır boyunca pürüzsüz bir deri örer. Sayıların yarıyı geçtiği yeri streç filmle sardığınızı düşünün.

Bir tünelin bloklu değil de pürüzsüz ve yuvarlak görünmesinin nedeni budur. Eski bir tünelin yanına kazmanın iki krateri birleştirmesinin nedeni de budur.

Chunk'lar: yalnızca değişeni yeniden yap

Her kazıda tüm yüzeyi baştan kurmak çok yavaş olurdu. Bu yüzden ızgara, oyunun chunk dediği, kenarı 16 hücre olan bloklara bölünmüştür. Kazdığınızda oyun aletinizin çevresindeki yoğunluğu düşürür ve yalnızca dokunduğunuz chunk'ları yeniden yapar. Geri kalan her şey olduğu gibi bırakılır.

Bir yığının telefonda bile anında tepki vermesini sağlayan ana hile budur: iş yükü, samanlığın büyüklüğüne değil, ne kadar kazdığınıza bağlıdır.

Üstteki saman sapları

Yalnızca pürüzsüz bir yüzey bir kil topağına benzerdi. Saman gibi okunması için oyun onu, örnek (instance) olarak çizilen binlerce küçük sapla kaplar. Instancing, ekran kartına «bu sap şeklini şu konumlarda birçok kez çiz» demenin tek bir istekle yapılmasıdır ve binlerce ayrı nesneden çok daha ucuzdur. Kazarken serbest saplar da uçuşur; böylece her çekiş bir ağırlık hissi verir.

Saman düştüğünde

Bir mağara kazıp bir saman parçasını samanlığın geri kalanından koparırsanız, onu artık hiçbir şey tutmaz. Oyun, bağlantısını kaybetmiş samanı sürekli kontrol eder ve düşmesine izin verir; bu yüzden kendi başınızın üstündeki tavanı oyarken dikkatli olmalısınız. Güvenli kazma ipuçları İğneyi nasıl bulursun yazısında.

Samanlığı kaydetmek

Tüm samanlık bu sayı ızgarasından ibaret olduğu için kaydetmek, ızgarayı kaydetmek demektir. Oyun onu kendi tarayıcınızda, paranız, aletleriniz ve konumunuzla birlikte saklar; böylece döndüğünüzde her tünel yerinde olur. Daha fazlası için Kaydı kaydetme, dışa aktarma ve taşıma yazısına bakın.

Şununla yapıldı

Oyun, web sayfalarının WebGL ile 3D grafik çizmesini sağlayan popüler bir açık kaynak kütüphane olan Three.js ile çalışır. Bu işi hiçbir sunucu yapmaz: her şey sizin cihazınızda gerçekleşir.

Kazmaya hazır mısın?

Tarayıcında ücretsiz, bilgisayarda ve telefonda. İlerlemen otomatik olarak kaydedilir.

Hemen ücretsiz oyna