# SilkWard

> SilkWard, düğüm-çizgi bir tahtada 36 bölüm + 6 gizli bölümü tamamen deterministik hamlelerle çözdüren, çevrimdışı bir bulmaca oyunudur. Tek bir TypeScript çekirdeği web (PWA) ve mobil (Expo) istemcisini aynı anda besler; bölüm zorluğu solver-cli aracının BFS ile bulduğu asgari hamle sayısıyla ölçülür. Bugün silkward.com üzerinden oynanabilir durumdadır.

- Rolüm: Designer & Developer
- Sınıf: Eski / Hobi Projeleri
- Durum: Devam ediyor
- Başlangıç: 2026-09-23
- Teknolojiler: TypeScript, Next.js, React, Expo, React Native, Vitest
- Yetenekler: Game Design, Puzzle Design, Deterministic Systems, Offline-First Architecture, Monorepo Architecture, TypeScript
- Web sitesi: https://silkward.com
- Kaynak: https://muhammetsafak.com/tr/portfolyo/silkward/
- Dil: tr-TR
- Yazar: Muhammet Şafak

---
SilkWard, sıra tabanlı bulmacada aradığım boşluğu dolduran bir oyundur: az sayıda kural, sıfır şans, sonucu düşünerek üretme hissi. Düğüm-çizgi bir grafta ilerleyen oyuncunun attığı her adım, düşmanların da aynı deterministik kuralla ilerlemesini tetikler; bir bölüm kaybedilmişse bunun sebebi zarın kötü gelmesi değil, hamlenin kendisidir. 36 bölüm + 6 gizli bölüm üç perdeye yayılır.

Kural motoru sıfır bağımlılıkla, saf TypeScript ile yazıldı; ne DOM'u ne React Native'i tanır. Bu saflık, web (Next.js tabanlı PWA) ile mobil (Expo) istemcisinin aynı davranışı iki kez yazmadan paylaşmasını sağlar — kural motoru ve çözücü ortak bir çekirdek pakette, bölüm verisi ayrı bir veri paketinde yaşar. Bölüm zorluğu tahmine değil ölçüme dayanır: her bölümün asgari hamle sayısını solver-cli aracı BFS ile bulur, bir doğrulama komutu bu sayının doğruluğunu her değişiklikte yeniden sınar. Determinizm bir yorum satırıyla değil, derleme zincirindeki bir kısıtla korunur: çekirdek pakette rastgele sayı üreteci ya da sistem saatine erişim yasaktır.

İlk yükleme oyunun kabuğunu önbelleğe alır; o andan sonra oynanış hiçbir ağ isteği yapmaz. Tek istisna sesler: her biri ilk çalındığı anda bir kez indirilip kalıcı önbelleğe yazılır. Bu kısıt koda bağlıdır: `fetch` kullanımı lint kurallarıyla, `XMLHttpRequest` kullanımı ayrı bir kaynak tarama testiyle engellenir. SilkWard bugün silkward.com üzerinden oynanabilir durumda; yeni bir geliştirme almıyor, yalnız güvenlik ve uyumsuzluk düzeltmeleri alıyor.
