2 puan yazan GN⁺ 2025-05-23 | 1 yorum | WhatsApp'ta paylaş
  • Bu proje, Sid Meier’s Alpha Centauri oyunundaki kurgusal gezegen Chiron’un haritasını ayrıntılı biçimde yeniden üretme çalışmasıdır
  • Mevcut düşük çözünürlüklü harita, gerçek oyun verileri (yükseklik, yağış, arazi vb.) kullanılarak yeni, yüksek çözünürlüklü ve organik bir biçimde yeniden kurgulandı
  • Farklı harita projeksiyonları (equal area, orthoapsidal vb.) ile QGIS, Photoshop, Python gibi araçlar kullanılarak özgün ve estetik bir görsel üretildi
  • Veri örnekleme, elle düzeltme, gürültü ekleme gibi karmaşık bir DEM (sayısal yükseklik modeli) oluşturma sürecinden geçildi
  • Bu çalışma, hem oyuncular hem de harita yapımcıları için anlamlı bir teknik ve estetik meydan okuma örneğidir

Giriş: Projeye genel bakış ve motivasyon

  • Bu proje, 1999’da çıkan Sid Meier’s Alpha Centauri oyununun geçtiği gezegen Chironun haritasını yeniden üretme çalışmasıdır
  • Chiron, uzun süredir bir hayran kitlesine sahip bu bilim kurgu strateji oyununun ana sahnesidir ve oyun içindeki karakterler kadar önem taşır
  • Yazar, profesyonel bir harita yapımcısı olarak, gerçek dünyanın haritalarıyla çalışmak ile kurgusal dünya haritaları üretmek arasındaki farklara dair deneyimini paylaşıyor
  • Birçok harita yapımcısı verilen verilerle çalışırken, kurgusal haritalarda veri üretiminin de sıfırdan yapılması gerektiği için ek yaratıcılık ve beceri gerekir
  • Bu proje, gerçek oyun veri setlerinden yararlanıldığı için mümkün oldu ve tamamlanan sürüm herkes tarafından ücretsiz indirilebilir

Veri toplama

  • Alpha Centauri oyununda Chris Pine tarafından doğrudan oluşturulmuş resmî bir harita bulunuyor (128 × 64 elmas piksel)
    • Her piksel, yükseklik, yağış, kayalılık endeksi gibi çeşitli özellikler içeriyor
  • Yükseklik verisi için oyundaki tüm karelerin değerleri tek tek doğrudan örneklendi (8192 manuel giriş)
  • Yağış için, mod ile genişletilmiş ayrıntılı tema haritası kullanılarak her seviye (yağmur, nemli, kurak) renk ayrımıyla çıkarıldı ve QGIS ile eşlendi
  • Kayalılık endeksi verisi de işlendi, ancak nihai haritada kullanılmadı
  • Xenofungus dağılımı için piksel renk örnekleme ve düzeltmelerle ikili bir veri seti oluşturuldu

Projeksiyon ayarları

  • Oyun haritası silindirik projeksiyon biçimindedir; sağa ve sola sonsuz tekrar ederken üst ve alt sınırları vardır
  • Her pikselin gerçek uzayda aynı alanı temsil ettiği fikrinden hareketle cylindrical equal area projection uygulandı (Trystan Edwards formülü kullanıldı)
  • Gerçekçi küresel görünüm elde etmek için projeksiyon ve en-boy oranı ayarlandı; projeksiyon düzeni veri örneklemesinden önce kuruldu

DEM (sayısal yükseklik modeli) yükseklik verisinin arıtılması ve yüksek çözünürlüklü hâle getirilmesi

  • Özgün haritadan (128 × 64) daha ayrıntılı bir arazi gösterimi hedeflenerek çeşitli nokta enterpolasyon yöntemleri denendi
    • Rastgele nokta saçılımı – belirli karelere 1 ila 3 nokta yerleştirilerek çeşitlilik ve rastgelelik eklendi
    • Her noktaya çevresindeki yükseklik değerleri uygulanarak ilk yükseklik modeli TIN (triangulated irregular network) enterpolasyonu ile oluşturuldu
    • Değerlendirme ve ek enterpolasyon (Delaunay üçgenleme, orta nokta çıkarımı, çevredeki üç noktanın ortalaması, gürültü ekleme) tekrar tekrar uygulandı
    • Bu işlem birçok kez yinelenerek nokta sayısı ve gürültü ince biçimde artırıldı
  • İşleme ve düzeltme aşamasında, gerçek haritayla karşılaştırılarak adaların bağlanması, boğazların kapanması gibi arazi bozulmaları düzeltildi (elle nokta eklenerek)
  • Öne çıkan bir unsur olan Garland Crater’ın biçim bozulmasını (kare → daire) düzeltmek için rubbersheeting düzeltme tekniği uygulandı
  • Nihai DEM yumuşatılarak düzenlendi; kutup bölgeleri ise ayrı projeksiyon ve ek gürültü ile işlendi
  • Harita üretimi sırasında kusurlar fark edildiğinde ek düzeltmeler yapıldı (yapay göller, küçük adalar vb. için ayrı manuel çalışma)

Farklı projeksiyonların uygulanması

  • Ana haritada orthoapsidal (Armadillo) projeksiyonu kullanıldı; bu tür, arazinin eğriselliğini görsel olarak vurgular
    • Python ile özel bir projeksiyon betiği doğrudan geliştirildi (resmî Python dokümantasyonu + ChatGPT yardımıyla)
    • Haritanın özelliklerine uygun olacak şekilde eğrilik ve eğim değerleri ayarlandı
    • Projeksiyonun kendisi yalnızca vektörleri desteklediği için, DEM gibi raster veriler poligonlaştırma ve yeniden rasterleştirme yöntemiyle işlendi

Asıl harita üretimi: Photoshop katmanlarının açıklaması

  • Derin deniz tabanı (gölgelendirme): DEM’de 0 m altındaki bölümler siyah-beyaz raster hâline getirilip mavi renk gradyanı uygulandı
  • Kara alanları (kabartma gölgelendirme): İsviçre tarzı elde çizim simülatörü (Eduard) kullanıldı; kıyı çizgisine verilen inner glow ile kara-su ayrımı vurgulandı
  • Renk ve doku: Kahverengi/yeşil relief, renk gürültüsü, ışık efektleri gibi çok sayıda adjustment layer ve maskenin birleşimi kullanıldı
  • Bitki örtüsü (vegetation): Yağış verisine dayalı thin plate spline enterpolasyonu kullanıldı; Photoshop dissolve + gürültü maskesi ile desenleştirildi
  • Xenofungus: Oyun içi dağılım verisine dayanarak kırmızı relief ile, yeşil alanlardakine benzer bir desen tekniğiyle işlendi
  • Nehirler (river): QGIS’te elle eğrileştirildi, ardından Illustrator/Photoshop ile taper ve efektler verildi (DEM tabanlı otomatik üretim uygun sonuç vermedi)
  • Okyanus, kıyı çizgisi dış glow’u, xenofungus’un okyanustaki dağılımı gibi birçok ayrı katman en sonda birleştirildi
  • Renk doygunluğunun artırılması, ızgara (enlem-boylam vb.) eklenmesiyle derinlik hissi ve görsel açıklık yükseltildi
  • Son aşamada dry brush filtresiyle semi-painterly bir görünüm verildi (özgün ile %50 karıştırılarak)

Etiketleme (yer adlarının yazımı)

  • Adobe Illustrator ile taslak hazırlandı, ardından Photoshop’a yapıştırılıp harmanlandı
  • Yer adlarının altında arka plan blur efekti, glow ve smart halo uygulanarak okunabilirlik ve arka plan rengiyle kontrast iyileştirildi
  • BellTopo Sans yazı tipi tercih edildi (yumuşak renkler ve insan dışı fütüristik arka planla uyumlu olduğu için)
  • Yer adları oyun içi adlandırmaya dayandırıldı; belirsiz bölgelerin yorumu ise yapımcının takdirine bırakıldı
  • Poster yerleşiminde alt haritalar (yükseklik, kutup bölgeleri vb.) ile scanline ve oyun arayüzünden esinli mavi/çerçeve/gürültü arka planı kullanıldı

Kapanış ve değerlendirme

  • Genel olarak bu proje, oyun verilerinin örneklenmesi, yükseklik modelinin dönüştürülmesi, projeksiyonun özelleştirilmesi, katmanların birleştirilmesi gibi yoğun el emeği ve teknik beceriyi bir araya getiriyor
  • Süreç, tekrar eden deneme-yanılma, görsel iyileştirme ve ayrıntı ayarlarıyla dolu uzun bir yolculuktu
  • İleride bu veri seti kullanılarak kısmi yakınlaştırmalar ya da farklı stillerde arazi çalışmaları yapılabilir (örneğin rockiness verisiyle ek deneyler düşünülüyor)
  • DEM’in eksikleri (atlanan göller, küçük adalar) şu anda düzeltiliyor ve ileride daha hassas bir DEM ile değiştirilmesi planlanıyor
  • Bu çalışma, GIS/harita yapımcıları için kurgusal mekân haritalamasında ilginç bir teknik meydan okuma; hayran topluluğu içinse estetik tatmin sunan bir örnek
  • Tüm süreç, mevcut veriyi dönüştürmeye odaklanan kişisel yetkinlik ve tutkunun birleşiminden doğan bir sonuçtur

1 yorum

 
GN⁺ 2025-05-23
Hacker News görüşleri
  • Daniel Huffman'ın hikâyesi gerçekten çok etkileyici ve ilham verici
    Uzun versiyonu daha da dokunaklı bir deneyim sunuyor
    (bkz: https://somethingaboutmaps.wordpress.com/about/ ve https://somethingaboutmaps.wordpress.com/2011/03/02/on-salvation/)

    • Daniel Huffman'ın işle ilgili depresyonu anlattığı bölüm beni derinden etkiledi
      Onun bulduğu o kıvılcımı ben de bulmak isterdim, ama benim tutkum sanki çok uzun zaman önce sönmüş gibi geliyor
  • Bu oyun benim için gerçekten büyük anlam taşıyan ilk deneyimdi
    Belirli kişilere bağlı olmayan, soyutlanmış farklı ideolojileri ve dinî inançları fark etmeye başladığımı hatırlıyorum
    Farklı fraksiyonlara ve onların fikirlerine kapılıp gitmiştim
    Uzaylılar gerçekten varsa nasıl inançlara sahip olabileceklerini hayal ederdim

    • Gerçekten harika bir oyun deneyimi
      Politik sistem de etkileyiciydi; dört alanın dört seçeneğinin birbirine otomatik olarak bağlı olmamasını seviyordum
      Mesela piyasa ekonomisine sahip bir polis devleti kurabiliyordunuz
      Çocukken bu oyunu oynamak, insanların politik eğilimleri ve bunların ne anlama geldiği hakkında daha derin düşünmemi sağlamıştı
      (Tabii bunlar kitaplardan da öğrenilebilir, ama pratikte pek kolay olmuyor)
      Yazarların bir bilimkurgu oyununda tuhaf siyasi kombinasyonlar üretmesi için tam doğru bir havadaydı

    • Civilization: Beyond Earth'ün beklentilerin çok altında kalması gerçekten üzücüydü
      İlginç liderler, fraksiyonlar ve ideolojiler yerine "Space Africa" ya da "Space Australia" gibi şeyler vardı
      Firaxis'in gerçek bir Centauri yeniden yapımı üretmesini engelleyen hukuki sorunlar olup olmadığını merak ediyorum

  • Sid Meyer's Alpha Centauri'de "planetfall" teriminin neden bu kadar sık geçtiğini hep merak etmiştim
    Oyunda bu terim "tarihin başlangıç noktası" anlamına geliyor
    Başlangıç istemi şöyleydi

    $NAME3, yeni bir mücadele ve fırsatlar çağı seni bekliyor
    BM uzay gemisi Unity, 40 yıllık yolculuğun ardından Alpha Centauri sistemine ulaştı
    Dünya ile tüm iletişim kesildi ve Kaptan Garland'ın faili meçhul bir suikastla öldürülmesinin ardından mürettebat isyan ederek fraksiyonlara bölündü
    Sonrasında bazıları Unity'nin koloni podlarını ele geçirdi ve şimdi senin liderliğindeki $M1:$FACTIONADJ0 fraksiyonu gezegene yeni iniş yaptı, yani PLANETFALL gerçekleşti

  • "Bunun üzerine haritayı tarayıp tüm karoların yükseklik değerlerini kaydettim. Toplam 8.192 taneydi."
    Bunu 8 bin kez elle yapmak yerine otomatikleştirmenin bir yolu mutlaka vardır diye düşünüyorum

    • Buradaki birçok kişinin, harita verisini çıkarıp .CSV'ye dönüştüren bir script'i hemen yazabileceğine eminim
      Ama bazen uzun süre düşünmeden tekrar eden bir işle uğraşmak beklenmedik biçimde tatmin edici olabiliyor
      Çok önemli olmayan ama odaklanmak istediğinizde tam uygun bir proje

    • Ben de benzer düşünüyorum
      Bir zamanlar bu oyunu seven sayısız meraklının (ben de dahil) böyle bir veri çıkarma işini programlayarak çözmeyi memnuniyetle deneyeceğini düşünmek hoşuma gidiyor

  • Bu oyunun ses tasarımı gerçekten müthiş
    Oynanışının ne kadar güçlü olduğuna hep hayran kalmışımdır

    • Garip "event" seslerini, arayüzün biplerini ve tuhaf ses efektlerini, silahların çıkardığı o "pof pof" sesleri ve harika seslendirmeyi çok seviyorum
      99'da kutulu olarak satın aldığımdan beri bu oyunu her zaman en az bir bilgisayarıma kurulu tutmuş olmaktan gurur duyuyorum
      Bence bu bir sanat eseri
      Sonrasında hiçbir Civ oyunu beni bunun kadar etkilemedi (grafikler ne kadar gelişirse gelişsin)

    • Tek şikâyetim arka plan müziğinin çalışma biçimiydi
      Sanırım sadece boşta kaldığınızda çalacak şekilde tasarlanmıştı, ama normal oyunda neredeyse hiç duyulmuyordu
      Her fraksiyonun ayrı bir müzik parçası olduğunu düşünüyorum

  • Ortaya çıkan iş, harita ve yazının kendisi gerçekten çok iyi
    Tek eleştirim, kara dokusundaki karşıt sınırların öne çıkmaması ve her şeyin yumuşak biçimde birbirine bağlanmış görünmesi
    Sıradağlar seçilebiliyor ama Dünya dokularında gördüğünüz o belirgin kenarlar bu haritada neredeyse hiç yok

    • Buna ben de bir ölçüde katılıyorum
      Orijinal haritadaki en yabancı görünen özelliklerden biri, her yeri yaran kırmızı çizgilerdi
      Sanırım bunlar xenofungus'tu ama kıtaları magmaymış gibi yarıyordu
      Yeni versiyonda bu unsur kaybolmuş
      Yine de harcanan emeğe büyük saygı duyuyorum ve genel görünümün harika olduğunu düşünüyorum
  • "Resmî olarak iyi parlatılmış bir gezegen haritası var" cümlesini görünce merak ettim
    Oynanış keyfini en üst düzeye çıkarmak için harita optimizasyonuna yönelik matematiksel bir çerçeve olup olmadığını merak ediyorum

    • Claude Opus 4'e bu konuda uzun uzun düşündürüp inanılmaz miktarda token harcadım ve çok ilginç bir yanıt aldım!
      Bu soruya ciddi yaklaşırsanız, oyun tasarımını kökten değiştiren birkaç alanın kesişimine ulaşıyorsunuz
      Alpha Centauri haritasının iyi çalışmasının nedeni, birden fazla matematiksel gerilimi iyi dengelemesi
      • <i>Kaynak dağılımı</i>: güç yasasını izleyerek doğal boğum noktaları ve değerli bölgeler oluşturuyor (öngörülebilirliği azaltıyor)
      • <i>Mesafe metrikleri</i>: fraksiyonlar arasında etkileşimi garanti ederken anında çatışmayı önleyecek şekilde tasarlanmış
      • <i>Arazi bağlantısallığı</i>: ilginç rota bulma problemleri ve stratejik derinlik sağlıyor
        <i>Akış teorisinin matematiği</i>: Csikszentmihalyi'nin akış kavramı matematiksel olarak modelleniyor
        Zorluk, becerinin biraz üstüne çıkan bir meydan okuma payıyla eğri çiziyor; haritada da her zaman oyuncunun becerisine uygun anlamlı seçimler sunuluyor
        <i>Bilgi entropisi</i>: iyi bir haritanın entropisi ne çok yüksek ne de çok düşük olmalı
        Arazi çeşitliliği için 0,3-0,5 aralığındaki entropi ölçeğinin oyun için en uygun olduğuna dair araştırmalar var
        <i>Graf teorisinin kullanımı</i>: harita yapısını bir graph olarak ele alıp
      • merkeziyet bağlantısı (kritik boğum noktalarını belirleme)
      • kümeleme katsayısı (kaynakların ne kadar "öbeklendiği")
      • en kısa yol dağılımı (seyahat süresi çeşitliliği)
        gibi ölçütlerin oyun içi sürükleyicilikle doğrudan bağlantılı olduğu görülüyor
        <i>Temel içgörü</i>: "eğlence" gibi belirsiz bir şeyi ciddi bir optimizasyon hedefi olarak ele almak, insan karar alma memnuniyetini doğrudan hedeflemek anlamına geliyor
        En iyi çerçeveler eğlenceyi tanımlamaya çalışmaz; bunun yerine <i>anlamlı seçim zenginliğini</i> en üst düzeye çıkarır
        Bu yüzden modern oyunlarda prosedürel harita üretimi sadece rastgelelik değildir; matematikle sürükleyiciliği ayarlayan algoritmalar kullanılır
  • Bu oyunu bırakabilmek için CD'yi başka birine vermiştim
    İşimi ve uykumu ciddi biçimde bozacak kadar bağımlılık yapıyordu

  • Benzer tonda bir blog var: Here Dragons Abound
    Fantastik haritaların prosedürel üretimi üzerine ama son zamanlarda pek güncellenmiyor

  • Alpha Centauri'yi hiç oynamadım; ben daha çok Master of Magic ve Syndicate tarafındaydım
    Ama bu proje hakkında yazılanları okuyunca, o zamanlar Alpha Centauri'yi pas geçmemden biraz pişman oldum
    Geriye dönüp baktığımda, yaş aldıkça beni birine çeken tek şeyin ne olduğunu fark ettim
    O da birinin, başkaları ne düşünürse düşünsün, derin ve niş bir ilgi alanının peşine tutkuyla düşmesi
    Bu benim ilgi alanım olmasa bile, birinin gerçekten kendi şeyine tutkuyla bağlanmasını izlemek büyük keyif veriyor
    Hatta belki de ben o konuya kapılmadığım için, onların tutkusu daha da güzel görünüyor
    Hayatımda istediğim insanlar benimle aynı ilgi alanlarına sahip olanlar değil; <i>herhangi bir şeye</i> tutkusu olan insanlar
    (Bunu söyleyerek, varoluşçuluktan ya da nihilizmden pek hoşlanmadığımı dolaylı yoldan ifade etmiş oluyorum)

    • Benim tutkum ise Master of Magic'te Cracks Call'ın bir artisan karakter yapısına karşı tam bir felaket olması
      Nadir bulunan ama direnilemeyen anında öldürme büyülerinden biri ve aynı okulda Web de olduğu için uçmak da işe yaramıyor