🚀 Civ 1 period accurate decompilation Nedir ve Hangi Problemi Çözüyor?
Oyun tarihi, nesiller boyu dijital arkeologların ve meraklıların üzerinde çalıştığı, zamanla kaybolmaya yüz tutmuş kapalı kaynak kodlu devasa yapıtlarla dolu. 1991 yılında MicroProse tarafından piyasaya sürülen ve strateji oyunlarının modern DNA'sını şekillendiren Sid Meier's Civilization, oyun dünyasının en büyük kilometre taşlarından biri. Ancak dönemin MS-DOS tabanlı, düşük seviyeli dillerle yazılmış kapalı kaynak yapısı, oyunun iç mekaniklerini incelemeyi ve modern platformlara uyarlamayı son derece güç kılıyordu.
Geliştirici crc32 tam da bu noktada devreye girerek, yapay zekânın gücünü klasik yazılım mühendisliğiyle birleştirdi. Proje, LLM'lerin (OpenAI, Anthropic ve Google modelleri) yardımıyla oyunun orijinal MS-DOS sürümünü decompile ederek okunabilir ve derlenebilir C kaynak koduna dönüştürüyor. Hedef sadece nostaljik bir deneme yapmak değil; dönemin orijinal Microsoft C 5.1 derleyicisi ve araç zinciri kullanılarak, orijinal çalıştırılabilir (CIV.EXE) dosyayla bayt-bayt eşleşen kusursuz bir yapı elde etmekti.
⚡ Öne Çıkan Özellikler ve Mimari Yapı
Projenin en çarpıcı teknik başarısı, üretilen kodların sadece mantıksal olarak çalışmakla kalmayıp, dönemin orijinal derleme araçlarıyla (Microsoft C 5.1, MASM 5.10 ve LINK 5.01) derlendiğinde ham çıktı seviyesinde orijinal oyunla birebir örtüşmesi. Yapılan doğrulamalar, bağlantı (linking) sonrasında uygulanan ufak bir dört baytlık düzeltme hariç, bayt düzeyinde kusursuz bir uyum yakalandığını kanıtlıyor.
Mimari altyapı, DOSBox-X entegrasyonu ve modern Devcontainer konfigürasyonları üzerine kurulmuş durumda. İlk kurulum aşamasında projenin otomasyonu, WinWorld üzerinden Microsoft C 5.1 disk imajlarını ve Microsoft'un resmi MS-DOS deposundan MASM'ı otomatik olarak çekiyor. Tüm araç zinciri ve hash doğrulamaları sorunsuz bir şekilde tamamlandıktan sonra, klasik MAKE betikleriyle derleme süreci tetikleniyor. Ayrıca proje kapsamında oluşturulan reciv deposu sayesinde, bu yeniden üretilen kod tabanı modern platformlarda da hayata geçirilebiliyor.
💡 Neden Radarımıza Girdi? (Editör Notu)
Weezir Radar olarak bu projeyi seçmemizin temel sebebi, yapay zekânın sadece modern web uygulamaları yazmak için değil, aynı zamanda dijital mirasımızı korumak ve yazılım arkeolojisi yapmak için ne kadar güçlü bir kaldıraç olabileceğini kanıtlamasıdır. Yapay zekâ modellerinin kod tamamlama ve anlama yetenekleri, devasa ve karmaşık assembly/C çözme süreçlerini insani ölçülemeyecek hızlara taşıyor.
Projenin en büyük erdemlerinden biri ise sadece kodu dökmekle kalmayıp, süreci şeffaf bir teknik kitaba ve 'Reading Civilization from the inside' başlıklı editoryal bir hikayeye dönüştürmesi. Açık kaynak dünyasına kazandırılan bu derinlemesine dokümantasyon, oyun programlama tarihiyle ilgilenen her geliştirici için paha biçilmez bir ders niteliğinde.
🛠️ Nasıl Denenir, Fiyatlandırma ve Kaynaklar
Bu büyüleyici yazılım arkeolojisi çalışmasını yerel makinenizde incelemek ve derlemek son derece kolaylaştırılmış durumda. Docker ve VS Code kullanıyorsanız, projeyi Devcontainer desteğiyle açarak tüm bağımlılıkların otomatik olarak kurulmasını sağlayabilirsiniz. Alternatif olarak DOSBox-X kullanarak dönemin araçlarını manuel olarak da yapılandırabilirsiniz.
Projenin tüm kaynak kodlarına, teknik kitabına ve detaylı mimari notlarına GitHub üzerindeki sjmelia/civd deposundan ulaşabilirsiniz. Tamamen açık kaynaklı olan bu çalışma, hem retro oyun programcılığına meraklı geliştiriciler hem de yapay zekâ destekli tersine mühendislik sınırlarını zorlamak isteyenler için kaçırılmayacak bir fırsat sunuyor.