Karakter etkileşime tepki verir.
Kullanıcı aksiyonları emotion/reaction durumlarını etkileyerek tekdüze animasyon döngüsünden daha canlı davranış üretir.
Snob, klasik bir web sayfası gibi davranmak yerine tarayıcı içinde yaşayan küçük bir dijital karakter dünyası. Kullanıcının dokunması, sürüklemesi ve zamanın değişmesi karakterin tepkilerini etkiliyor; duygu, animasyon, uyku, aksesuar, envanter ve ses katmanları aynı deneyimin içinde çalışıyor.
Bir butona basınca animasyon oynatan arayüz değil; davranış durumu olan, zamanla değişen ve önceki etkileşimlerini yerel olarak taşıyan bir karakter deneyimi.
Snob’un ana fikri karakteri ekranın dekoru olmaktan çıkarmak. Sürükleme ve fizik etkileşimleri, reaction/emotion durumları, gündüz-gece ve uyku davranışı kullanıcının karakterle kurduğu ilişkinin temelini oluşturuyor.
Bunun etrafında coin, inventory ve aksesuar sistemi; yerel persistence; Web Audio tabanlı ses katmanı ve service worker/offline desteği bulunuyor. Sonuç olarak proje bir web UI’dan çok, küçük ama durum sahibi bir sanal karakter runtime’ına yaklaşıyor.
Kullanıcı aksiyonları emotion/reaction durumlarını etkileyerek tekdüze animasyon döngüsünden daha canlı davranış üretir.
Sürükleme ve hareket davranışları ekrandaki objeyi statik sprite olmaktan çıkarıp doğrudan manipüle edilebilir hale getirir.
Gündüz/gece ve uyku davranışı, karakterin her an aynı durumda kalmamasını sağlar.
Kullanıcı ilerlemesi ve karakter özelleştirmesi envanter/aksesuar sistemiyle kalıcı bir oyunlaştırma katmanı kazanır.
Web Audio tabanlı ses katmanı görsel tepkileri tamamlayan runtime parçası olarak kullanılır.
Service worker ve yerel persistence, karakter durumunun yalnız çevrimiçi bir sayfa oturumuna bağlı kalmamasını sağlar.
Snob’da bir kullanıcı hareketi doğrudan “animasyon oynat” komutuna gitmek yerine karakterin mevcut durumuyla birlikte değerlendirilir.
Snob’un ilginç tarafı çizimin kendisi değil; aynı karakterin farklı girişler, zaman ve kalıcı kullanıcı durumu altında tutarlı biçimde davranması.
Karakterin tepkileri mevcut durumla ilişkili; her etkileşim aynı görsel sonucu üretmek zorunda değil.
Uyku ve gündüz/gece davranışı, gerçek zamanın karakter deneyimine girmesini sağlıyor.
Aksesuar ve coin sistemi görsel özelleştirmeyi kullanıcı ilerlemesiyle bağlıyor.
Service worker ve yerel kayıt, deneyimin bağlantı yokken de açılabilmesini ve durumunu koruyabilmesini destekliyor.
Bir sanal karakter projesinde zorluk tek tek animasyonları üretmekten çok, state değişimlerinin birbirini ezmemesi. Drag sırasında reaction, uyku sırasında kullanıcı girdisi, ses ile animasyon senkronu ve persistent inventory aynı runtime içinde çakışmadan çalışmalı.
Karakterin kullanıcıya verdiği yanıtlar birden fazla davranış durumunun birlikte değerlendirilmesine dayanır. Bu katman, doğrudan DOM olayından görsele atlamak yerine davranış kararını araya koyar.
Pointer/touch kaynaklı sürükleme davranışı karakterin konum ve hareket durumunu değiştirir. Fizik hissi, karakteri sabit bir UI öğesinden farklılaştıran temel etkileşimdir.
Zamana bağlı davranışlar karakter state’inin yalnız kullanıcı inputuna bağlı olmadığını gösterir. Uyku döngüsü görsel ve etkileşim katmanlarını birlikte etkiler.
Karakter özelleştirmesi runtime state’inden ayrı bir kullanıcı ilerleme katmanı oluşturur; sahip olunan öğeler ve aksesuar seçimi yerel olarak korunur.
Ses yalnız bir dosya oynatma detayı olarak değil, kullanıcı etkileşimi ve karakter reaksiyonlarını destekleyen bir feedback kanalı olarak kullanılır.
PWA kabuğu ve yerel kayıt, uygulamanın yeniden açıldığında karakter/kullanıcı durumunu sürdürebilmesini ve temel deneyimin offline erişilebilir olmasını destekler.
Kullanıcı hareketleri ve zaman tabanlı olaylar runtime’a girer.
Karakterin mevcut davranış bağlamı hangi tepkinin mümkün olduğunu belirler.
Görsel hareket ve doğrudan manipülasyon katmanı uygulanır.
Davranışa uygun ses geri bildirimi görsel tepkiye eşlik eder.
Kullanıcıya bağlı ilerleme ve özelleştirme durumu güncellenir.
Durum korunur ve PWA deneyimi sonraki oturum/offline kullanım için devamlılık kazanır.
Reaction/emotion, drag/physics, day/night, sleep ve audio aynı deneyimin parçaları.
Coin, inventory ve özelleştirme kullanıcı tarafında kalıcı ilerleme katmanı oluşturuyor.
Service worker ve yerel kayıt temel deneyimin bağlantıdan bağımsız devamlılığını güçlendiriyor.
Amaç, tarayıcı içinde davranış sahibi ve kullanıcıyla zaman içinde ilişki kuran küçük bir dijital karakter dünyası.