SimCity 2000 kayıt dosyaları DOS döneminde onaltılık düzenle değiştirildi
Öne çıkanlar
- SimCity 2000 kayıt dosyalarındaki para değerleri Norton DiskEdit aracıyla doğrudan onaltılık düzende değiştirildi.
- Oyun içi para miktarı ikili sistemde aranıp baytlar 'F' değeriyle doldurularak bütçe en üst seviyeye çıkarıldı.
- Oyunun dosya yapısının RLE sıkıştırması ve 32 bitlik işaretli veri yapısı barındırdığı sonradan anlaşıldı.
Eski bir bilgisayar kullanıcısı, MS-DOS işletim sistemine sahip Packard Bell 386 SX masaüstü bilgisayarında oynadığı SimCity 2000 oyununda para sınırlarını aşmak için kayıt dosyalarını doğrudan nasıl düzenlediğini aktardı. Şehir kurma simülasyonunda bütçesi tükenen yazar, diskte saklanan ikili dosyaların yapısını inceleyerek onaltılık sayı düzeni ve bayt kavramlarını bu süreçte öğrendiğini belirtti. Standart MS-DOS metin düzenleyicisi ikili dosyalar için yetersiz kaldığından, işlem için Norton Utilities paketinde yer alan DiskEdit yazılımı kullanıldı.
Kayıt dosyasında mevcut oyun içi para miktarının karşılığı aranarak ilgili bayt değerleri artırıldı ve doğrudan 'F' harfleriyle doldurularak bütçe en üst seviyeye çıkarıldı. Yazar, SimCity 2000 dosya yapısının aslında RLE (Run-Length Encoding) sıkıştırma algoritması ve 32 bitlik işaretli sayı yapısı kullandığını, çocukluk dönemindeki müdahalesinin bu teknik yapıyı tam bilmeden de sonuç verdiğini ifade etti. Bu işlem sırasında onluk değerleri onaltılık tabana çevirmek amacıyla babasının C dilinde yazdığı ufak bir dönüştürücü programdan da yararlandı.
Disk üzerindeki dosyaların doğrudan değiştirilebilir olduğunu keşfeden yazar, ilerleyen süreçte Game Wizard gibi araçlarla bellekteki bayt değerlerini canlı olarak manipüle etmeye yöneldi. DOS dönemindeki bu dosya ve bellek düzenleme deneyimlerinin bilgisayar mimarisini anlamasında temel oluşturduğunu kaydeden yazar, bu sayede oyun oynamanın ötesine geçerek kendi oyunlarını geliştirme hedefine yöneldiğini vurguladı.
Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.