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.

M0 Kayıp Hat metro vagonu ve platform sahnesi
Metro vagonu, platform yüzeyleri ve sarı güvenlik çizgisini bir araya getirdiğim sahne çalışması. Tanıdık ayrıntılar, ortamın inandırıcılığını taşı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ı.

M0 Kayıp Hat koridorunun erken geliştirme görünümü
Koridor ölçeğini, görüş mesafesini ve ışığın yönünü sınadığım erken geliştirme görünümü. Önce sahne ritmini oturtup ayrıntıları daha sonra ekledim.

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.

  • Shift ile koşma, Space ile 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.

Atmosfer kuralı

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.