Canlı deneyin Açıklama
Halloween Manor, doğrudan tarayıcıda çalışan, Cadılar Bayramı temalı bir mini oyun. Karanlık, eski bir malikânenin hayaletisiniz: Ziyaretçiler el fenerleriyle kapıyı açıp içeri giriyor; sizin işiniz evdeki eşyaları ele geçirmek, belirmek için doğru anı kollamak ve onları birer birer çığlık çığlığa ön kapıdan kaçırmak. Evde aynı anda en fazla dört ziyaretçi bulunabiliyor ve bazen ikişer ikişer geliyorlar. Her birinin cesareti farklı: İsim etiketleri kimin ödlek, kimin şüpheci olduğunu size söylüyor.
Nesneler iki türe ayrılıyor. Müzik kutusu ve mutfak kapısı cezbedici nesneler: Çıkardıkları sesle duyan herkesi kendilerine çekiyorlar. Lambalar, sallanan sandalye, portre, boy aynası, yatak odasındaki yatak ve gardırop ise korkutucu nesneler ve yalnızca biri onlara bakıyorsa işe yarıyorlar — bir nesneyi o anda biri görebiliyorsa nesnenin üzerinde bir göz yanıyor. Temel taktik önce cezbetmek, sonra korkutmak: Müzik kutusu yatak odası lambasıyla, mutfak kapısı da sallanan sandalyeyle eşleşiyor. Portrede, siz onu ele geçirene kadar sıradan bir hanımefendi var; ele geçirdiğinizde kadının gözleri size dönüyor ve yüzü eriyip korkunç bir şeye dönüşüyor. Boy aynasından bir yüz fırlıyor; giriş holü, koridor, çalışma odası, oturma odası ve yatak odasının duvarlarında da altı korku tablosu asılı.
Ziyaretçiler yalnızca el fenerlerini doğrulttukları yeri görüyor. Bir ışık huzmesi üzerinize düştüğünde yoğunlaşıyorsunuz ve durup size bakakalıyorlar — ama bu tek başına onları korkutmaya yetmiyor. Belirmek için F’ye basın ya da sağ tıklayın: Yakındaki ışıklar arızalı ampuller gibi iki kez kararıyor ve 0,6 saniye sonra karanlık bir silüet olarak vücut buluyorsunuz; başınızı yavaşça kaldırarak 1,5 saniye bu hâlde kalıyorsunuz. Belirme yalnızca iki tür insanı korkutuyor: el fenerini üzerinize tutan herkesi ve zaten tedirgin olup sizi görebilen herkesi. İnsanlar ne kadar korkmuşsa belirmenin etkisi o kadar sert oluyor; bu yüzden önce nesnelerle insanları tedirgin edin, işi bitirmek için de belirin. Belirmenin 18 saniyelik bir bekleme süresi var.
Tuzak kurmak için bir nesnenin üzerinde sol fare tuşunu yaklaşık yarım saniye basılı tutun: Nesnenin üzerini yavaş yavaş kırağı kaplıyor ve biri yaklaştığında tuzak kendiliğinden tetikleniyor. Aynı anda iki tuzak kurabilirsiniz; 60 saniye içinde kimse gelmezse tuzak devre dışı kalıyor. Nişangâhınız bir nesnenin üzerindeyken zeminde soluk bir kırağı çizgisi oluşuyor ve nesnenin insanları korkutabileceği (ya da cezbedebileceği) alanın sınırını çiziyor; bir sonraki hamleniz bir ziyaretçiyi etkileyecekse o ziyaretçinin adının önündeki küçük göz yanıyor. Hamlenizi yaptıktan sonra nişangâhın yanındaki etiket ne olduğunu size söylüyor: “Theo jumped” ya da “No one saw it”.
Bir oyun, yaklaşık beş dakika süren tek bir gece. Oyunun başında ilk ziyaretçi içeri giriyor, ardından evde dört kişi olana kadar her 12 saniyede bir yenisi geliyor. 3 dakika 20 saniyede gece kapanıyor: Veranda ışığı sönüyor ve artık kimse gelmiyor. 4 dakika 30 saniyede ise şafak söküyor ve hâlâ içeride olan herkes kendi ayağıyla çıkıp gidiyor. Son kişi de ayrılınca ziyaretçi defteri açılıyor: Defterde her kişinin ne zaman içeri girdiği, neyden kaçtığı ya da şafakta mı çıkıp gittiği yazıyor; kaç kişiyi korkutup kaçırdığınıza göre değişen bir kapanış cümlesi de bulunuyor. Puan yok, kazanmak ya da kaybetmek de yok; devam etmek için Keep haunting’i, baştan başlamak için Another night’ı seçin.
Kontroller: Fare ve klavyeyle oyun üçüncü şahıs bakış açısından oynanıyor — hayalet sizsiniz. Fareyi kilitlemek için tıklayın, WASD ile süzülün (duvarların içinden dosdoğru geçerek), fareyle etrafa bakın ve fare tekerleğiyle kamerayı yakınlaştırıp uzaklaştırın. Ele geçirmek için 4 metre içindeki bir nesneye tıklayın, tuzak kurmak için sol tuşu basılı tutun, belirmek için de F’ye basın ya da sağ tıklayın. Esc fareyi serbest bırakıp kontrollerin tamamını gösteriyor, M sesi kapatıyor; grafik kalitesi ayarı da sağ alt köşede. Duvarların ardındaki ziyaretçileri göremezsiniz, bu yüzden ayak seslerini takip edin; kulaklık takmak işe yarar. Telefon ve tabletlerde ev, yukarıdan bakılan bir bebek evine dönüşüyor: Ele geçirmek için bir nesneye dokunun, görünümü de döndürebilirsiniz. Bu modda belirme, tuzak ve tablo yok; bir ziyaretçiyi sakinleşmeden yeniden korkutursanız kaçıp gidiyor.
Güncel bir Chrome ya da Edge gibi WebGPU destekli bir tarayıcı öneriliyor; WebGPU desteklemeyen tarayıcılar otomatik olarak WebGL2’ye geçiyor. Oyun tek oyunculu; oturum açmanız ya da bir şey indirmeniz gerekmiyor, ancak ilk açılışta modellerin yüklenmesi ve shader’ların derlenmesi biraz zaman alıyor. Oyunun arayüzü İngilizce.
Tripo nasıl kullanıldı
Oyundaki her karakter — el fenerli ziyaretçiler ve sizin oynadığınız hayalet — Tripo API ile yapıldı. Ev, mobilyalar ve sahne objeleri temel geometrik şekillerden kodla kuruluyor; tablolar, portre ve aynadaki yüz ise ayrı 2D dokular.
- Ziyaretçiler: Tripo’nun arkasındaki ekip VAST’in maskotu Triboo, dört Cadılar Bayramı kostümüne bürünüyor — Viktorya dönemi bir vampir, elinde fenerle dolaşan bir gece kâşifi, bir cadı ve elle çizilmiş bir iskelet. Önce Tripo’nun görselden görsele özelliğiyle Triboo T-pozuna getiriliyor ve dört kostümün dördü de bu tek görselden yola çıkıyor; böylece oranlar birbirini tutuyor ve figürler temiz bir şekilde riglenebiliyor. Ardından ikinci bir görselden görsele işlemi, yuvarlak siyah gövdeyi, öndeki logoyu ve sarı spor ayakkabıları koruyarak kostümü ekliyor; kıyafetler de vinil oyuncak aksesuarları gibi tasarlanıyor: şapkalar, pelerinler ve yakalar.
- Ziyaretçi modelleri: Her kostüm görselinden dört görünüm üretiliyor, ardından Tripo’nun çoklu görünümden 3D’ye özelliği PBR dokularına sahip bir model oluşturuyor. Üçüncü şahıs bakış açısında ziyaretçileri çoğunlukla arkadan görüyorsunuz; dört görünüm sayesinde sırttaki pelerinler ve omuz şalları doğru çıkıyor. Dokulardaki bake edilmiş ışık ise temizlendi; böylece aydınlatmayı oyunun lambaları ve el fenerleri üstleniyor.
- Rig ve animasyon: Rigging uyumluluk kontrolünün ardından Tripo’nun otomatik rigging özelliği insansı bir iskelet yerleştiriyor ve sekiz Tripo hazır animasyonu uygulanıyor — bekleme, yürüme, koşma, etrafa bakınma, korkma, kaçma ve iki tür irkilme. Dışa aktarmadan önce bir Blender script’i her ziyaretçiyi aynı şekilde elden geçiriyor: Top biçimli gövde, şapka ve pelerin torsoyla tek parça hâlinde hareket ediyor, bacakların yanındaki aksesuarlar bacaklarla birlikte esnemiyor, üçgen sayısı sınırlanıyor ve root motion kaldırılıyor. WebP dokularla birlikte her ziyaretçi yaklaşık 1,1–1,7 MB tutuyor.
- Hayalet: Tripo’nun metinden görsele özelliğiyle dört konsept görsel üretildi; seçilen görsel, Tripo’nun görselden 3D’ye özelliğiyle dokusuz bir beyaz modele dönüştürüldü. Hayaletin yarı saydam soğuk sisi, el feneri huzmesinde yoğunlaşması ve belirdiğinde büründüğü karanlık, katı biçim tamamen oyunun kendi shader’larıyla çiziliyor; bu yüzden dokuya ihtiyacı yok. Ardından Blender’da yapılan bir temizlikle kapüşonun içindeki yüz içeri itilerek derin bir oyuğa dönüştürüldü, model 8.000 üçgenin altına indirildi ve perdeleme vertex’lere bake edildi; böylece kapüşonun içi ve derin kıvrımlar kararıyor.
Tarayıcıda nasıl çalışır
Oyun motoru yok: Oyun, TypeScript ve Vite ile doğrudan three.js’in WebGPU renderer’ı üzerine kurulu ve WebGPU desteklemeyen tarayıcılarda otomatik olarak WebGL2’ye geçiyor. Derleme çıktısı göreli yollar kullanan statik dosyalardan oluşuyor; bu sayede herhangi bir statik hosting’de, herhangi bir alt yoldan açılabiliyor.
El fenerleri evdeki en önemli ışıklar: Her ziyaretçinin elinde bir tane var ve her biri kendi gölgelerini düşürüyor. Hayaletin shader’ı, hangi el feneri konilerinin içinde durduğunu piksel piksel hesaplıyor — huzmenin içinde hayalet yoğunlaşıyor, dış hatları keskinleşiyor ve el fenerinin sıcak tonundan biraz alıyor; huzmenin dışında ise soğuk bir sis olarak kalıyor. Belirdiğinde, ışığı engelleyen ve derinlik yazımı yapan karanlık, “katı” bir materyale geçiyor; bu materyal, el fenerinin vurduğu tarafta biraz daha parlak. Hayalet duvarların ve mobilyaların içinden geçerken bunlar onun çevresinde çözülüyor, kenarlarını da kırağı kaplıyor.
Tüm sesler Web Audio ile gerçek zamanlı olarak sentezleniyor — oyunda tek bir ses dosyası bile yok. Çığlıklar, sallanan sandalyenin gıcırtısı, lambanın elektrik uğultusu, müzik kutusu, aynadaki yüz fırladığında duyulan kısa, sert ses vurgusu ve evin ortam sesi tamamen kodla üretiliyor. Duvarların ardındakileri göremediğinizde onları ayak seslerinden buluyorsunuz.
Ev, ilk ziyaretçi kıyafeti ve tüm ev için shader ön derlemesi hazır olana kadar başlat düğmesi bekliyor; düğmeye tıkladığınızda gece yaklaşık 20 milisaniyede başlıyor. Diğer kıyafetler siz oynarken arka planda iniyor ve pipeline’ları derlenir derlenmez rotasyona katılıyor. Işık titremesi, ışığa duyarlı oyuncuları korumak için sınırlandırılmış: Hiçbir ışık herhangi bir saniyede üç kereden fazla kararmıyor. Grafik kalitesi yüksek ve düşük olmak üzere iki seviyede sunuluyor; düşük seviyede görüntü %75 çözünürlükte render ediliyor.


