İçeriğe geç
Muhammet Şafak
en
Regnarium tahtası — altıgen harita üzerinde şehirler, ordular ve kesin hasar sayıları gösteren savaş önizlemesi

Regnarium

Devam ediyor Eski / Hobi Projeleri

Regnarium, 4X stratejinin keşfet-genişle-üret-alt et döngüsünü tek bir oturuma sığdıran, tarayıcıda çevrimdışı çalışan bir strateji oyunudur. 480 altıgenlik harita azami 60 turda kapanır, savaş zar atmaz ve saldırı öncesi görülen önizleme hesabın kendisidir; hesap, sunucu ve izleme yoktur.

Rolüm
Designer & Developer
Süre
Eylül 2026 — Devam ediyor

Teknolojiler

TypeScript Next.js React React Native Expo Vitest MDX IndexedDB CSS Modules

Yetenekler

Game Design Turn-Based Simulation Deterministic Systems Procedural Generation Game AI Offline-First Architecture Monorepo Architecture i18n

Regnarium, 4X strateji türünün dört fiilini — keşfet, genişle, üret, alt et — yarım saatlik tek bir oturuma sığdırmak için tasarladığım bir strateji oyunudur. Oyuncu 20×24’lük, 480 altıgenlik bir haritada bir ile üç yapay zekâ rakibine karşı oynar; el azami altmış turda kapanır ve fetih tamamlanmadıysa kazananı puan belirler. Oyun tarayıcıda çalışır, ilk yüklemeden sonra tamamen çevrimdışıdır ve hesap, sunucu, reklam ya da izleme içermez — uçak modunda birebir aynı şekilde oynanır. Tasarımın çıkış noktası bir kısıttı: türün alışılmış oturumu bir akşamı yiyor ve elinde bir akşam olmayan oyuncu için bir şey yoktu.

Teknik olarak proje, kuralların, harita üretiminin ve rakip yapay zekânın tek bir saf TypeScript çekirdeğinde yaşadığı bir monorepo. Çekirdek tarayıcıya, saate ve ağa erişemez — bunlar lint kapısında yasaklıdır ve kapının gerçekten tuttuğu, kasıtlı olarak hatalı yazılmış dosyaların denetlenmesiyle ayrıca sınanır. Bunun karşılığı determinizmdir: aynı tohum ve aynı komut dizisi, rakip kararları dâhil her zaman aynı eli üretir. Bu da kaydın biçimini belirler; kayıt tam bir durum kopyası değil, tohum ile komut kaydıdır ve yükleme onu yeniden oynatarak durumu kurar. Geri alma da ayrı bir durum tutmak yerine aynı mekanizmayı kullanır. Savaş bilinçli olarak zarsızdır ve saldırı öncesi gösterilen önizleme, motorun işlettiği hesabın aynısıdır — ayrı bir tahmin fonksiyonu yazmak, önizleme ile sonucun ayrışabileceği tek kapıyı açardı. Tahta canvas yerine olağan bileşenlerle çizilir; bu, ızgaranın ekran okuyucuya anlamlı bir yapı olarak görünmesini sağlar.

Oyun tasarımı kapsamı kısıta göre kesme üzerine kurulu: beş birim, beş bina, dört arazi ve üç kaynak türü var ve her kaydın tahtada ayırt edilebilir bir işi bulunuyor. Rakip yapay zekâ üç kişilik ve üç zorluk kademesinden oluşan dokuz profille geliyor, oyuncunun gördüğü sisin aynısına tabi ve gizli hile yapmıyor — Zor kademesinin el başında aldığı +5 üretim / +5 yiyecek bonusu kurulum ekranında yazılı. Oyun içi rehber ayrı bir metin olarak değil, sayıları doğrudan denge verisinden okuyan bir içerik katmanı olarak yazıldı; böylece bir denge ayarı rehberde eskimiş bir kural bırakamıyor. Proje Türkçe ve İngilizce olarak yayında, arayüz metinlerinin tamamı ortak bir çeviri paketinde tutuluyor ve iki dilin aynı anahtar kümesini taşıdığı testle zorlanıyor. Aynı çekirdeği paylaşan bir Expo istemcisi de depoda duruyor; henüz mağazaya çıkmadı. Geliştirme sürüyor.

Beslediği alan: JavaScript Geliştirici

Diğer Projeler

Tüm projeler
SilkWard tahtası — düğüm-çizgi bir grafta oyuncu ilerlerken düşmanın aynı deterministik kuralla adım attığı ve solver-cli'nin BFS ile bölüm zorluğunu ölçtüğü önizleme

SilkWard

Devam ediyor

Designer & Developer

Seviye: Asgari Bakım

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.

TypeScript Next.js React +3 daha
Eylül 2026 — Devam ediyor
SysAdmin Crisis terminali — çalıştırılan bir block_ip komutu, açılan man sayfası, gece vardiyasının yedi olay tipi ve CI kontrollerini gösteren önizleme

SysAdmin Crisis

Devam ediyor

Designer & Developer

Seviye: Asgari Bakım

SysAdmin Crisis, Unix'ten oyunlaştırılmış 29 komutla (gerçek bayraklar, Tab tamamlama, man dahil) çözülen bir gece vardiyası simülasyonudur. Web (PWA) ve mobil (Expo) sürümü aynı oyun motorunu paylaşır; sıfır veri toplama derleme zincirine bağlı bir kısıttır. Bugün sysadmincrisis.com üzerinden oynanabilir durumdadır.

TypeScript Next.js React +3 daha
Eylül 2026 — Devam ediyor
InitPHP kapak görseli — composer kurulumu ve örnek kullanım koduyla birlikte 30'u aşkın modüler PHP paketinin bir ızgarası

InitPHP

Devam ediyor

Founder & Developer

Seviye: Asgari Bakım

30+ modüler PHP kütüphanesi (Router, Database, Cache, Mailer, Socket, ...) ile minimalist bir MVC çatısını (Framework3) tek bir ekosistem altında yayınladım; tim paketler Composer/Packagist'te MIT lisansıyla erişilebilir. Kod tabanı PHP-FIG standartlarına uyumlu; tip güvenliği, PHPUnit testleri, kapsamlı dökümanlar ve örneklerle destekleniyor.

Composer Git PHPUnit +1 daha
Ağustos 2022 — Devam ediyor

Sitede Ara

Yazı, proje ve sayfalarda arama yapmak için yazmaya başlayın.

Esc ile kapat Pagefind ile güçlendirildi