Planetfall: Alpha Centauri’nin Chiron gezegenini gerçek bir harita gibi çizmek
(somethingaboutmaps.wordpress.com)- 1999 yapımı Sid Meier’s Alpha Centauri oyunundaki Chiron gezegeni, gerçek kartografik yöntemlerle yeniden kurgulanarak 128×64 karo tabanlı oyun haritası yüksek çözünürlüklü bir poster haritasına dönüştürüldü
- Çalışmanın temelinde, oyundaki 8.192 karonun yükseklik değerlerinin tek tek kaydedilmesi ve yağış, kayalık derecesi,
xenofungusverilerinin ekran görüntüleri ile QGIS örneklemesi üzerinden çıkarılması yer alıyordu - Chiron’un küresel bir gezegen olarak tasvir edilmesi ve oyun haritasının soldan sağa devam etmesi temel alınarak, özgün haritaya cylindrical equal area projection ve Trystan Edwards varyantı uygulandı
- Düşük çözünürlüklü ızgara verisi, rastgele nokta dağıtımı, TIN enterpolasyonu, Delaunay üçgenlemesi, gürültü, elle düzeltme ve kutup DEM’lerinin yeniden yazılmasıyla daha organik bir arazi modeline dönüştürüldü
- Nihai harita; QGIS, Python, Photoshop, Illustrator ve Eduard birlikte kullanılarak üretildi ve kurgusal bir dünyanın haritasının da elde işe yarar mevcut veriler olduğunda gerçek kartografi teknikleriyle genişletilebileceğini gösterdi
Alpha Centauri’nin Chiron’unu haritalama projesi
- Ortaya çıkan çalışma, Sid Meier’s Alpha Centauri oyununun arka plan gezegeni Chiron için hazırlanmış bir poster haritası
- Chiron, oyunun geçtiği dünya ve temel unsurlarından biri; resmî yerleşik harita da oyun tasarımcısı Chris Pine tarafından yapılmış
- Yazının odağı oyun tanıtımından çok, oyun içi verilerin gerçek kartografi sürecine dönüştürüldüğü üretim süreci
- Bu proje, mevcut haritacılık becerilerinin kurgusal bir dünyaya uygulanmış bir örneği; ancak sıfırdan dünya yaratılan fantezi haritalarından farklı bir karakter taşıyor
Gerçek harita ile kurgusal harita arasındaki fark
- Gerçek dünya haritacılığı, verilmiş coğrafi veriyi işlemek ve stilize etmek gibi
- Fantezi ya da bilimkurgu haritasını sıfırdan üretmek için verinin kendisini de oluşturmak gerektiğinden farklı beceriler gerekiyor
- Yapımcı kendisini veri üreticisinden çok bir veri işleyicisi olarak görüyor
- Chiron haritasını mümkün kılan belirleyici unsur, oyunun içinde kullanılabilir mevcut verilerin bulunmasıydı
Oyun verilerinin toplanması
- Alpha Centauri’nin resmî haritası 128×64 elmas biçimli pikselden oluşuyor
- Her piksel; yükseklik, yağış ve kayalık derecesi gibi özellikler içeriyor
-
Yükseklik değerlerinin aktarılması
- Oyunun her karonun kesin yükseklik değerini göstermesinden yararlanıldı
- Toplam 8.192 karo için yükseklik değerleri tek tek kaydedildi ve aktarım hatalarını azaltmak için yeniden kontrol edildi
- Bu iş 2022’de başlayıp 2025’te tamamlandı
-
Yağış ve kayalık derecesi
- Yağış verisi, özgün oyunda bulunmayan bir modun tematik haritasından alındı
- Yağış; rainy, moist ve arid olmak üzere 3 seviyeye ayrılıyor
- Tüm harita ekran görüntüsü olarak alındı, ardından Photoshop’ta renkler ayrıştırıldı ve QGIS’te her ızgara için vektör noktalardan raster değer örneklemesi yapıldı
- Harita öğelerinin yağış bilgisini kapattığı yerler elde düzeltildi
- Kayalık derecesi de aynı yöntemle çıkarıldı, ancak son haritada kullanılmadı
-
xenofungusxenofungus, Chiron’un yerel yaşam formu ve oyun haritasında pembe ya da kırmızımsı işaretlerle gösteriliyor- Bu veri yalnızca var/yok biçiminde ikili veri
- Ayrı bir tematik harita olmadığı için, normal oyun haritasındaki pembe-kırmızı piksel tonları örneklenip ardından düzeltildi
Projeksiyonun belirlenmesi
- Oyun dünyası, soldan sağa sonsuz kaydırılabilen ve üst-alt sınırda duran bir silindirik harita gibi davranıyor
- Chiron, oyunun çeşitli mecralarında ve başlık ekranında yuvarlak bir gezegen olarak gösterildiğinden 2D harita küresel bir gezegenin temsili kabul edildi
- Oyunda üs kurulduğunda konumdan bağımsız olarak aynı sayıda piksel alanı kontrol edildiği için, her pikselin eşit alanı temsil ettiği varsayıldı
- Bu koşullara uyması için oyun haritasına cylindrical equal area projection verildi
- Standart paralel 37,4° olarak ayarlandığında oyun haritasıyla aynı en-boy oranı elde ediliyor; bu da Trystan Edwards projection’a karşılık geliyor
- Bu projeksiyon ayarı, daha sonra QGIS’te üretilen veri kümelerinin koordinat işleme temeli olarak kullanıldı
Düşük çözünürlüklü yükseklik ızgarasını DEM’e genişletmek
- Özgün yükseklik verisi 128×64 ızgara olduğundan poster haritası için çözünürlük çok düşüktü
- Amaç, oyun içinde bilinen gerçekleri korurken daha ayrıntılı bir sayısal yükseklik modeli üretmekti
-
Rastgele noktalar ve TIN enterpolasyonu
- Her karo üzerine noktalar rastgele dağıtıldı, ancak aşırı kümelenmeyi önlemek için minimum mesafe korundu
- Her ızgara karosunda yaklaşık 1 ila 3 nokta oluştu; noktası olmayan karolara merkez noktası eklendi
- Her nokta, bulunduğu karonun yükseklik değerini aldı
- Ardından, yalnızca özgün ızgara ile yapılan enterpolasyona kıyasla ızgara hissini azaltmak için ilk yükseklik modeli TIN enterpolasyonu ile üretildi
-
Delaunay üçgenlemesi ve gürültü
- Daha ince detaylı arazi için Delaunay üçgenlemesi tekrar tekrar kullanıldı
- Rastgele noktalar arasındaki üçgenlerin merkezlerine yeni noktalar eklendi ve bu yeni noktaların yüksekliği çevredeki üç noktanın ortalaması olarak belirlendi
- Her noktanın yüksekliğine küçük rastgele gürültü eklendi; böylece engebeler oluşturuldu ve tekrarlar arttıkça gürültü aralığı azaltıldı
Elle düzeltmeler ve Garland Crater
- Enterpolasyon sonucunun resmî Chiron haritasıyla uyuşmadığı yerler elde düzeltildi
- Resmî haritada ada olan bölgelerin enterpolasyonda ana karaya bağlanması veya çok küçük adaların son haritada görünmemesi gibi sorunlar vardı
- Bu alanlarda biçimi ayarlamak için ek yükseklik noktaları eklendi
- Garland Crater, özgün ızgara yükseklik değerleriyle bakıldığında kareye yakın görünse de, oyunun görsel dili daha dairesel bir niyet gösteriyordu
- Bu bölge, özgün yükseklik noktaları rubbersheeting ile taşınarak daha dairesel bir krater olacak şekilde düzeltildi
Yumuşatma ve kutup DEM’leri
- Enterpolasyondan sonra birden fazla yumuşatma süreci birlikte uygulandı
- focal statistics içindeki mean ve median kullanıldı
- QGIS’in Karika plugin eklentisi üzerinden line integral convolution uygulandı
- Az miktarda Perlin noise eklendi
- Yumuşatılmış katman ile özgün katman yeniden karıştırılıp tekrar yumuşatıldı
- Kesin bir formülden çok, sonuç yeterince iyi görünene kadar ayarlama yapılan bir süreçti
- Özgün silindirik projeksiyonda kutuplar büyük ölçüde gerildiği için, kuzey ve güney kutbu ayrı projeksiyonlarla yeniden yükseklik enterpolasyonuna tabi tutuldu
- Kutuplarda oyun verisinin hiç olmadığı geniş alanlar bulunduğundan, orta bölgelere neredeyse rastgele gürültü serpiştirildi
- Kuzey ve güney kutbu DEM’leri, ileride o bölgelerin haritalarında da kullanılabilsin diye ayrı üretildi ve ana DEM’e yeniden harmanlandı
- Sonrasında da eksik göller veya küçük adalar fark edildi; bunların bir kısmı DEM düzenlemeleriyle, bir kısmı ise haritalama aşamasında elle çizimle düzeltildi
Orthoapsidal projeksiyon ve özel betikler
- Ana haritada orthoapsidal, yani Raisz Armadillo projection kullanıldı
- Bu projeksiyon, okuyucuya eğimli bir yüzeye bakıyormuş hissini doğrudan verdiği için seçildi
- QGIS’te bu projeksiyon bulunmadığından, Wikipedia’daki dönüşüm formüllerine dayanarak özel bir Python betiği yazıldı
- PyQGIS kullanımında henüz çok rahat olunmadığı için ChatGPT’den de yardım alındı
- Projeksiyon, Chiron’un kıta yerleşimine uyacak şekilde değiştirildi
- Varsayılan dikey eğim 20°’den -10°’ye indirildi
- Sağ-sol eğrilik azaltıldı
- Önce harita yatayda daraltıldı, projekte edildi, ardından yeniden yatayda genişletilerek kenarlardaki sıkışma bozulması azaltıldı
- Betik yalnızca vektörleri işlediği için, DEM gibi raster veriler her piksel poligona çevrilerek projekte edildi ve ardından yeniden rasterlaştırıldı
- Bu yöntem ideal değildi ve uzun sürüyordu, ama pratikte iş gördü
Photoshop merkezli harita katmanı üretimi
- Nihai harita büyük ölçüde Photoshop’ta katmanlar üst üste konularak oluşturuldu
- Deniz altı topoğrafyası, DEM’in 0’ın altındaki bölümlerinden siyah-beyaz raster olarak üretildi ve gradient map ile mavi tonlarda yeniden renklendirildi
- Kara alanları için yeniden projekte edilmiş yükseklik modelinden su altı değerleri kesildi ve Eduard aracılığıyla İsviçre tarzı elle çizilmiş kabartma gölgelendirmesi benzetildi
- Kıyı çizgisine iç glow verilerek kara ile su ayrıldı ve kıyıya yakın dağlık alanların yavaşça kaybolduğu bir etki yaratıldı
- Oyundaki yükseklik değerleri çok pürüzlü olduğundan dağlar çoğu kez kıyının hemen yanında aniden ortaya çıkıyordu; bu nedenle kıyı bölgesi biraz daha az sarp görünecek şekilde işlendi
- Kara kabartmasına hue/saturation katmanlarıyla kahverengi tonlar verildi ve daha organik görünmesi için hafif renk gürültüsü eklendi
Yağış temelli bitki örtüsü gösterimi
- Bitki örtüsü gösteriminde, oyunun resmî haritasında olduğu gibi yağış verisi kullanıldı
- Kabartma katmanı kopyalanıp yeşile boyandı; ardından renk gürültüsü ve ton ayar katmanları eklendi
- Yeşil kabartma katmanı ile kahverengi kabartma katmanını karıştıran maske, yağış verisinden üretildi
- QGIS’te yeniden projekte edilen yağış noktalarına thin plate spline interpolation uygulanarak maskenin temeli oluşturuldu
- Photoshop’ta dissolve blending mode ile blur ve sharpening filtreleri kullanılarak noktasal, yumuşak bir gürültü dokusu üretildi
- Bu maske, yağışlı bölgelerden kurak bölgelere geçişte bitki örtüsünün saydamlaşması yerine, bitki sayısının azalıyormuş gibi görünmesini sağladı
- Baskıda büyüteçsiz fark edilmesi zor olabilir, ancak ekranda daha doğal bitki örtüsü sınırları vermesi bekleniyor
xenofungus ve nehirler
xenofungushem karada hem denizde görülüyor- Karadaki
xenofungus, bitki örtüsüne çok benzer biçimde işlendi- Nokta verisi enterpole edildi
- Yumuşatıldı ve gürültülendirildi
- Kırmızı bir kabartma katmanının maskesi olarak kullanıldı
- Denizdeki
xenofungusiçin aynı noktasal maske kullanıldı, ancak yalnızca su alanlarına kırpılan ayrı bir mor katman olarak eklendi - Deniz mantarı katmanı, alttaki su rengiyle karışması için linear burn blending mode ile işlendi
- Oyun haritasındaki nehirler ızgaraya hapsolduğu için çok köşeliydi; bu yüzden QGIS’te elde yeniden çizildi
- Illustrator’da nehirlerin kaynak kısımlarına hafif taper verildi, Photoshop’ta ise renk ve bevel eklenerek zemini yarıp akıyormuş hissi oluşturuldu
- DEM tabanlı hidrolojik analiz de denendi, ancak arazi aşırı pürüzlü olduğundan çok sayıda kapalı havza ve kısa nehir oluştu; bu yüzden elde çizmek daha kolaydı
Renkler, boyama etkisi ve eğriliği vurgulama
- Genel haritada doygunluk artırıldı ve eğriliği görselleştirmek için graticule eklendi
- Doygunluk artışı ilk başta Photoshop katmanlarını taşırken tesadüfen ortaya çıktı, ancak sonuç beğenildiği için korundu
- Böylece normalden daha güçlü bir renk sistemi oluştu; bu da kişisel projedeki deneysel yaklaşımın parçası olarak kabul edildi
- Harita tek katmana indirgenip küçültüldükten sonra Photoshop’un dry brush filtresi uygulanarak yarı boyanmış hissi veren bir doku oluşturuldu
- Filtre sonucu fazla bulanık olduğu için, özgün harita ile 50:50 karıştırılarak detay ile resimsi yumuşaklık arasında denge kuruldu
- Son olarak kenarlara iç gölge verilerek ışığın azaldığı hissi yaratıldı ve bunun düz bir yüzey değil, eğimli bir yüzey olduğu izlenimi güçlendirildi
Etiketleme ve yazı tipi seçimi
- İlk etiketleme, Photoshop’tan daha iyi metin araçlarına sahip olduğu için Adobe Illustrator’da yapıldı
- Tamamlanan etiketler tekrar Photoshop’a alınıp harita ile harmanlandı
- Her etiketin altındaki harita hafifçe bulanıklaştırılarak, yazı kenarlarının arka plandan daha net görünmesi sağlandı
- Açık renk yazıların açık zemin üstüne, koyu yazıların koyu zemin üstüne yerleştirilebilmesi için glow ve smart halos teknikleri kullanıldı
- Tüm etiketlerde Sarah Bell’in tasarladığı BellTopo Sans kullanıldı
- Serif yazı tiplerinin, haritanın güçlü renk düzenine göre fazla narin kaldığı ve bilimkurgu haritasına uymadığı düşünüldü
- Oyunun kendi yazı tipi olan Eurostile, yumuşak paletli ve bu tarz bir harita için fazla katı göründü
- BellTopo Sans’ın, sans-serif gücünü elle çizilmiş hissin insani öğeleriyle birleştirmesi nedeniyle uygun olduğu düşünüldü
Belirsiz yer adları ve poster düzeni
- Oyundaki coğrafi oluşumlar her zaman açık biçimde etiketlenmiyor; beyaz metinler tek bir ızgara karosunun üstüne yerleştirilmiş durumda
- Bu yüzden birçok durumda coğrafi sınırların doğrudan yorumlanması gerekti
- Planetneck en zor örnekti
- Parmağı andıran su yolunu mu, yoksa onun üzerinden geçen kara şeridini mi anlattığı belirsizdi
- Oyun haritasında hem kara hem su geçişine izin veren ince kahverengi çizgi bölgeler de bulunduğundan yorum daha da zorlaştı
- Sonuçta bunun uzun ve dar bir körfezin girişini ifade ettiğine karar verildi
- Bu karar, resmî haritada başka boğaz adlarının da bulunmasıyla uyumlu görüldü
- Resmî haritada yalnızca 32 ad var ve bu, bu ölçekte bir harita için oldukça az
- Yeni adlar uydurmak istenmediği için yalnızca mevcut adlar kullanıldı
- Nihai posterde ana haritanın yanında, aynı veri seti ve tekniklerle hazırlanmış küçük haritalar da yer aldı
- Yükseklik verisini daha açık gösteren bir harita
- Daha az bozulmuş iki kutup haritası
- Arka plan ve harita üzerine, oyun arayüzüne selam duran hafif scanline efekti eklendi
- Başlığın ve çerçevenin mavi tonları da oyunun arayüzünü çağrıştıran unsurlar
Çalışmanın sınırları ve sonraki olasılıklar
- Tüm süreç; oyun verisinin yorucu örneklenmesi, GIS dönüşümleri, özel projeksiyon ayarları ve Photoshop katman kurgusunu birleştiren son derece emek yoğun bir çalışmaydı
- Gerçekte ilerleyiş, anlatıldığı kadar verimli ve sıralı olmadı; aylar süren deneme-yanılmalar ve çıkmazlar yaşandı
- Veri seti artık mevcut olduğundan, ileride Chiron’un küçük bölgelerini büyüterek daha büyük ölçekli haritalar üretme ihtimali var
- Böyle bir durumda, bilinen yükseklik değerlerini korurken daha gerçekçi arazi üretme yöntemleri araştırılabilir
- Kayalık derecesi verisinin potansiyel kullanım alanı, nihai tasarımdan sonra fark edildi; bu ölçekte büyük fark yaratmasa da yakınlaştırılmış haritalarda etkili olabilir
- Özgün DEM’de eksik göller ve adalar gibi unsurlar için hâlâ ek temizlik gerekiyor
- Daha gerçekçi bir yükseklik modeli üretme yöntemi bulunursa, mevcut DEM’in daha iyisiyle değiştirilmesi mümkün olabilir
- Bu proje, mevcut veri olduğu için mümkün oldu ve kurgusal bir dünyada bile veri işleme becerilerinin gerçek kartografi yöntemleriyle uygulanabileceğini gösterdi
1 yorum
Hacker News yorumları
Daniel Huffman’ın hikâyesi oldukça ikna edici ve ilham verici: https://somethingaboutmaps.wordpress.com/about/
Uzun versiyonu daha da iyi: https://somethingaboutmaps.wordpress.com/2011/03/02/on-salva...
Onun bulduğu kıvılcımı ben de bulmak isterdim ama tutkumun yıllar önce çoktan öğütülüp yok edildiğinden korkuyorum
Bu oyun benim için çok önemliydi: ideolojileri ve dinsel inançları belirli insan örneklerinden soyutlanmış hâlleriyle ilk kez fark ettiğimi hatırlıyorum
Çeşitli fraksiyonları ve inandıkları şeyleri gerçekten sevmiştim; ayrıca uzaylılar varsa ne tür inançları olabileceğini hep hayal ettirdi
Siyasi sistemi gerçekten iyiydi; 4 alanın her birinde yalnızca 4 seçenek olmasına rağmen seçeneklerin otomatik olarak birbirine bağlanmaması çok hoştu
İsterseniz serbest piyasa polis devleti de kurabiliyordunuz. Bence çocukken bu oyunu oynamak, insanın siyasi eğilimlerinin gerçekte ne anlama geldiğini biraz daha düşünmesini sağlayabilir. Elbette kitap da okuyabilirdik ama o mümkün olmadığından. Bilimkurgu oyununa da tam oturuyordu; çünkü yazarlar tuhaf siyasi kombinasyonlarla oynamayı sever
Ama uzun soluklu seriler zamanla nüans ekliyor ve kalıp yargıların kendi “doğalarıyla” mücadele etmesini bile sağlıyor
İlginç liderler, fraksiyonlar ve ideolojiler yerine “uzay Afrikası” ve “uzay Avustralyası” aldık
Firaxis’in gerçek bir Centauri remake’i yapmasını engelleyen hukuki bir sorun olup olmadığını merak ediyorum
Sid Meier's Alpha Centauri gerçekten muazzam bir oyundu
SMAC sayesinde gelecekteki toplumların insanlığın hayatta kalmasını ve ilerlemesini güvenceye almak için nasıl örgütlenebileceğine dair fikirler edindim; spekülatif teknolojinin medeniyeti nasıl değiştirebileceğini de gördüm
Oyunu oynarken daha az yalnız hissettim; çünkü yalnızlığın çağları aşan evrensel bir insanlık durumu olduğunu gösteriyordu. İnsanlığın yıldızlar arasında kendine bir yer bulma vizyonunda umut gördüm, kendimden çok daha büyük düşüncelerle boğuştum ve oyundaki seçimlerin empati yeteneğimi ölçtüğü hissine kapıldım
Tarihin de oyun gibi ahlaki bir pusula olmadan sadece ilerlediğini fark ettim
Sid Meier's Alpha Centauri’de neden “planetfall” dendiğini merak edenler için: oyunda tekrar tekrar geçen bir terimdi ve tarihin başlangıcını ifade ediyordu
Başlangıç istemi şöyleydi:
“Bu yüzden haritayı tarayıp her karonun yükseklik değerini not aldım. Toplam 8.192 taneydi.”
Bunu 8 bin kez elle yapmaktan daha otomatik bir yöntem mutlaka olmalıydı, değil mi?
Yine de çok da önemli olmayan bir işle kısa bir süre oyalanmak istediğinizde azar azar ilerletebileceğiniz, düşünmeden uzun süre tekrarlanan projelerin kendine göre bir değeri var
Sid Meier's Alpha Centauri açıklamasını okurken animasyon dizisi Scavengers Reign’in çok benzer bir kurguya sahip olduğunu fark ettim. İnsan yerleşimcilerin zeki gibi görünen bir gezegene acil iniş yapması bakımından
Bu vesileyle bu yapımı izlemenizi önermek isterim. Bilimkurgu hayranıysanız, Greg Egan ya da Vernor Vinge’i çağrıştıran şeyleri seviyorsanız hoşunuza gider. Bilimkurgu hayranı olmasanız bile bir şans vermeye değer. O kadar iyi
Bu oyunun ses tasarımı gerçekten iyiydi. Olağanüstü bir oyun
1999’da perakende kutulu sürümünü aldığımdan beri bu oyunu her zaman bir bilgisayarıma kurulu tuttum. Bir sanat eseri. Son 25 yılı aşkın sürede grafikler ne kadar gelişmiş olursa olsun, başka hiçbir Civ oyunu bana bunun kadar dokunmadı
Sanırım oyuncu pasif kaldığında çalmaya başlıyor, ama nasıl oynarsanız oynayın fiilen tetiklenme fırsatı neredeyse hiç olmuyor
Her fraksiyonun ayrı bir soundtrack’i varmış gibi geliyordu
Çalışma harika; haritayı ve yazıyı da beğendim. Gerçekten iyi yapılmış
Üzücü olan nokta, kara dokusunda güçlü kontrastlı sınırların görünmemesi. Her şey diğer bölgelere yumuşakça akıyor; dağlar görünüyor ama doku dağları neredeyse yok sayıyor. Kendi gezegenimizin dokusunda gördüğümüz sınırlar eksik
Muhtemelen xenofungus’tı, ama magma hissi de veriyordu ve kıtalar yarılıyormuş gibi görünüyordu. Yeni versiyonda bu his kaybolmuş
Yine de buna harcanan emeği takdir ediyorum ve ortaya çıkan sonuç da çok güzel görünüyor
O oyunu bırakabilmek için diski birine vermem gerekmişti. İşimi ve uykumu ciddi biçimde bozacak kadar etkiliyordu
Benzer bir bağlamda, fantazya haritalarının prosedürel üretimini ele alan “Here Dragons Abound” adlı blog var. Bir süredir güncellenmiyor: https://heredragonsabound.blogspot.com/