Neden metro?
Metro istasyonları gündüz kalabalık ve tanıdık, gece boş olduklarında ise doğal biçimde tekinsiz. M0: Kayıp Hat'ta korkuyu yaratık göstermeden; mimari, mesafe, ışık ve bekleme hissiyle kurmak istedim. Oyuncu turnikeden geçiyor, transfer koridoruna iniyor, sarı çizgiye yaklaşıyor ve güvenlik odasına ulaşmaya çalışıyor.
Sahneyi kurmak
Projeyi Three.js 0.181, TypeScript ve Vite ile oluşturdum. Duvar, zemin ve geçitleri basit geometrilerden kurup tekrar kullanılabilir yardımcı fonksiyonlarla yerleştirdim. Metro fayansı, beton, eski tuğla ve paslı metal için 1K PBR doku setleri kullandım. Dokular CC0 lisanslı ambientCG kaynaklarından geliyor.
PBR malzemelerde roughness ve metalness değerlerini yüzeye göre ayarladım. Fayansın ışığı daha belirgin yansıtması, betonun ışığı dağıtması ve paslı metalin sınırlı parlaklık vermesi aynı koridorun daha inandırıcı görünmesini sağladı.
Hareket ve fener
Birinci şahıs kamera WASD ve fare ile kontrol ediliyor; mobilde dokunarak yön verme desteği var. Fener, kameraya bağlı bir SpotLight olarak çalışıyor. Işık hedefi oyuncunun baktığı yöne güncelleniyor, pil azaldıkça mesafe daralıyor ve belirli anlarda ışık titriyor.
Shiftile koşma,Spaceile belirli bölgelerde nefes tutma.- Fener için gölge haritası ve sınırlı aydınlatma mesafesi.
- DOM tabanlı HUD ile mesaj, pil ve etkileşim bilgisi.
- Oyuncuyu sahne içinde tutan basit çarpışma sınırları.
Korku anlarını zamanlamak
Sahneyi turnike, yürüyen merdiven, sarı çizgi, mavi oda, tünel, Marmaray geçidi ve güvenlik odası tetiklerine böldüm. Oyuncu bir dikdörtgen bölgeye ilk kez girdiğinde ilgili mesaj, ışık değişimi veya görsel bozulma çalışıyor. Ateşlenen tetik bir sete ekleniyor ve ikinci kez çalışmıyor.
Korku anını sürekli göstermek yerine oyuncunun yaklaşmasını beklemek daha etkili. Mesafe ve sessizlik, görsel efektin kendisinden önce gerilim üretiyor.
Prosedürel ekran ve reklam efektleri
İstasyondaki reklam ve monitör yüzeylerini CanvasTexture ile oluşturdum. Oyuncu yaklaştıkça çizim fonksiyonu bozulma miktarını artırıyor; canvas yeniden çizilip doku güncelleniyor. Böylece ayrı video dosyaları kullanmadan yaşayan ekranlar elde ettim.
Sonuç
Bu prototip, düşük geometrili bir sahnenin doğru malzeme, ışık ve tetik zamanlamasıyla güçlü bir yer hissi verebildiğini gösterdi. Sonraki adımlar ses katmanlarını genişletmek, çarpışmayı iyileştirmek ve sahneyi performans profiliyle mobil cihazlarda dengelemek.
SONRAKİ YAZIAkıllı Donanım Asistanı'nın analiz motoru