- 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
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/)
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
"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
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
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>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
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)
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