# Regnarium

> 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ınıf: Eski / Hobi Projeleri
- Durum: Devam ediyor
- Başlangıç: 2026-09-13
- 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
- Web sitesi: https://regnarium.com
- Kaynak: https://www.muhammetsafak.com.tr/portfolyo/regnarium/
- Dil: tr-TR
- Yazar: Muhammet Şafak

---
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.
