2 pontos por GN⁺ 2025-05-23 | 1 comentários | Compartilhar no WhatsApp
  • Recriação do planeta Chiron de Sid Meier’s Alpha Centauri (1999) com técnicas reais de cartografia, expandindo o mapa do jogo baseado em 128×64 tiles para um mapa-pôster em alta resolução
  • O trabalho central foi registrar manualmente os valores de altitude de 8.192 tiles do jogo e extrair dados de precipitação, rochosidade e xenofungus por meio de capturas de tela e amostragem no QGIS
  • Com base no fato de que Chiron é retratado como um planeta esférico e de que o mapa do jogo se conecta nas laterais, o mapa original recebeu uma cylindrical equal area projection com a variante de Trystan Edwards
  • Os dados de grade de baixa resolução foram transformados em um modelo de relevo mais orgânico com dispersão aleatória de pontos, interpolação TIN, triangulação de Delaunay, ruído, correções manuais e reescrita do DEM polar
  • O mapa final foi produzido com QGIS, Python, Photoshop, Illustrator e Eduard, mostrando que até mapas de mundos fictícios podem ser expandidos com técnicas cartográficas reais quando existe dados preexistentes aproveitáveis

Projeto de mapear Chiron, de Alpha Centauri

  • O resultado é um mapa-pôster do planeta de fundo Chiron, de Sid Meier’s Alpha Centauri
  • Chiron é o cenário do jogo e um de seus elementos centrais, e o mapa oficial embutido foi criado pelo designer Chris Pine
  • O foco do texto não está em apresentar o jogo, mas no processo de produção que transforma dados do jogo em um fluxo real de cartografia
  • Este projeto é um caso de aplicação de habilidades cartográficas existentes a um mundo fictício, mas tem uma natureza diferente de um mapa de fantasia criado do zero

Diferença entre mapas reais e mapas fictícios

  • Produzir mapas do mundo real é mais próximo de manipular e estilizar dados geográficos já fornecidos
  • Criar um mapa de fantasia ou ficção científica do zero exige gerar os próprios dados, o que pede outro conjunto de habilidades
  • O autor se vê mais como um manipulador de dados do que como um criador de dados
  • O motivo decisivo para conseguir fazer o mapa de Chiron foi a existência, dentro do jogo, de dados preexistentes que podiam ser aproveitados

Coleta dos dados do jogo

  • O mapa oficial de Alpha Centauri é composto por pixels em losango de 128×64
  • Cada pixel contém atributos como altitude, precipitação e rochosidade
  • Transcrição dos valores de altitude

    • O processo aproveitou o fato de o jogo mostrar o valor exato de altitude de cada tile
    • Foram registrados manualmente os valores de altitude de 8.192 tiles ao todo, com conferência posterior para reduzir erros de transcrição
    • Esse trabalho começou em 2022 e terminou em 2025
  • Precipitação e rochosidade

    • Os dados de precipitação vieram de um mapa temático de um mod, já que o jogo original não traz esse mapa
    • A precipitação é dividida em 3 níveis: rainy, moist e arid
    • Após capturar o mapa inteiro em screenshots, as cores foram separadas no Photoshop, e os valores raster foram amostrados no QGIS em pontos vetoriais por célula da grade
    • As áreas onde elementos do mapa cobriam a informação de precipitação foram corrigidas manualmente
    • A rochosidade foi extraída pelo mesmo processo, mas não foi usada no mapa final
  • xenofungus

    • O xenofungus é uma forma de vida nativa de Chiron e aparece no mapa do jogo como marcas rosadas ou avermelhadas
    • Esses dados são binários, apenas presença ou ausência
    • Como não havia um mapa temático separado, foi necessário amostrar pixels rosa/vermelhos no mapa normal do jogo e depois corrigir os resultados

Definição da projeção

  • O mundo do jogo funciona como um mapa cilíndrico, no qual é possível se mover infinitamente para a esquerda e para a direita, mas não além dos limites superior e inferior
  • Como Chiron aparece como um planeta redondo em várias mídias e na tela de título do jogo, o mapa 2D foi tratado como representação de um planeta esférico
  • Como as bases no jogo controlam a mesma quantidade de área em pixels independentemente da localização, foi assumido que cada pixel representa a mesma área
  • Para atender a essas condições, foi atribuída ao mapa do jogo uma cylindrical equal area projection
  • Definindo o paralelo padrão em 37,4°, obtém-se a mesma proporção do mapa do jogo, o que corresponde à projeção de Trystan Edwards
  • Essa configuração passou a servir como referência para o tratamento das coordenadas dos datasets gerados depois no QGIS

Expandindo a grade de altitude de baixa resolução para um DEM

  • Os dados originais de altitude têm grade de 128×64, resolução muito baixa para uso em um mapa-pôster
  • O objetivo era criar um modelo digital de elevação mais detalhado, preservando o que o jogo estabelecia como fato
  • Pontos aleatórios e interpolação TIN

    • Foram espalhados pontos aleatórios sobre cada tile, com distância mínima para evitar aglomeração excessiva
    • Cada tile da grade recebeu aproximadamente 1 a 3 pontos, e tiles sem ponto ganharam um ponto central adicional
    • Cada ponto recebeu o valor de altitude do tile em que foi colocado
    • Em seguida, foi gerado um modelo inicial de relevo com interpolação TIN, reduzindo o aspecto excessivamente quadriculado da interpolação baseada apenas na grade original
  • Triangulação de Delaunay e ruído

    • Para criar um relevo mais fino, foi usada repetidamente a triangulação de Delaunay
    • Novos pontos foram adicionados nos centros dos triângulos entre os pontos aleatórios, e sua altitude foi definida como a média dos três pontos vizinhos
    • Pequenos ruídos aleatórios foram somados à altitude de cada ponto para criar irregularidades, reduzindo a amplitude do ruído a cada repetição

Correções manuais e Garland Crater

  • Onde o resultado da interpolação divergia do mapa oficial de Chiron, foram feitas correções manuais
  • Havia casos em que ilhas do mapa oficial apareciam conectadas ao continente na interpolação, ou ficavam pequenas demais para aparecer no mapa final
  • Nessas regiões, foram adicionados pontos extras de altitude para ajustar a forma
  • Garland Crater, olhando apenas os valores de altitude da grade original, parece quase retangular, mas a representação visual do jogo indica uma intenção circular
  • Nessa área, foi usado rubbersheeting para deslocar os pontos de altitude originais e corrigir a cratera para uma forma mais circular

Suavização e DEM polar

  • Após a interpolação, foi aplicada uma combinação de vários processos de suavização
    • uso de mean e median em focal statistics
    • uso de line integral convolution com o plugin Karika do QGIS
    • adição de um pouco de Perlin noise
    • nova mistura entre camadas suavizadas e a camada original, seguida de mais suavização
  • O processo ficou mais próximo de ajustar até que o resultado parecesse adequado do que de seguir uma fórmula exata
  • Como a projeção cilíndrica original distorce muito as áreas polares, o relevo do polo norte e do polo sul foi interpolado novamente em projeções separadas
  • Nos polos havia grandes áreas sem dados do jogo, então quase ruído aleatório foi espalhado na parte central
  • Os DEMs do norte e do sul foram criados separadamente para possível uso futuro em mapas dessas regiões e depois mesclados de volta ao DEM principal
  • Mais tarde, ainda foram descobertos lagos e ilhas pequenas ausentes; alguns foram corrigidos no DEM, outros na etapa cartográfica com desenho manual

Projeção orthoapsidal e script customizado

  • O mapa principal usa a projeção orthoapsidal, também chamada de projeção Raisz Armadillo
  • Ela foi escolhida por transmitir mais diretamente ao leitor a sensação de estar olhando para uma superfície curva
  • Como o QGIS não oferece essa projeção, foi escrito um script em Python com base nas fórmulas de transformação da Wikipedia
  • Como ainda não havia familiaridade com PyQGIS, também houve ajuda do ChatGPT
  • A projeção foi adaptada à disposição dos continentes de Chiron
    • a inclinação vertical padrão de 20° foi alterada para -10°
    • a curvatura lateral foi reduzida
    • primeiro o mapa foi comprimido horizontalmente, projetado e depois expandido de novo na horizontal para reduzir a distorção de compressão nas bordas
  • Como o script só processava vetores, rasters como o DEM precisaram ser convertidos em polígonos por pixel, projetados e rasterizados novamente
  • Não era o método ideal e levava bastante tempo, mas funcionou na prática

Construção das camadas do mapa com foco no Photoshop

  • O mapa final foi montado principalmente com camadas no Photoshop
  • O relevo submarino foi criado a partir das partes do DEM com altitude igual ou inferior a 0, convertidas em raster preto e branco e recoloridas em tons de azul com gradient map
  • A terra firme foi recortada do modelo de altitude reprojetado removendo os valores submersos, e recebeu simulação de sombreamento manual em estilo suíço via Eduard
  • A linha de costa ganhou inner glow para separar terra e água e produzir o efeito de montanhas costeiras desaparecendo aos poucos
  • Como os valores de altitude do jogo são muito irregulares, muitas montanhas surgiam abruptamente bem ao lado da costa, então a faixa costeira foi tratada para parecer um pouco menos acidentada
  • O relevo terrestre recebeu tons amarronzados com uma camada de hue/saturation, além de um pequeno ruído de cor para parecer mais orgânico

Vegetação baseada em precipitação

  • Assim como no mapa oficial do jogo, os dados de precipitação foram usados para representar a vegetação
  • A camada de relevo foi duplicada, colorida de verde e combinada com camadas de ruído cromático e ajuste tonal
  • A máscara que mistura a camada verde de relevo com a camada marrom vem dos dados de precipitação
  • No QGIS, foi aplicada thin plate spline interpolation aos pontos de precipitação reprojetados para criar a base da máscara
  • No Photoshop, o modo de mesclagem dissolve e filtros de blur e sharpening foram usados para criar uma textura pontilhada de ruído suave
  • Assim, ao passar de áreas úmidas para secas, a vegetação não fica apenas transparente, mas parece se tornar mais rara
  • No material impresso isso pode ser difícil de notar sem lupa, mas na tela tende a produzir fronteiras de vegetação mais naturais

Xenofungus e rios

  • O xenofungus aparece tanto em terra quanto no mar
  • O xenofungus em terra foi tratado quase do mesmo modo que a vegetação
    • interpolação dos dados em pontos
    • suavização e adição de ruído
    • uso como máscara para uma camada de relevo avermelhada
  • O xenofungus marinho usa a mesma máscara pontilhada, mas em uma camada roxa separada limitada apenas às áreas de água
  • A camada de fungus no mar foi mesclada com a cor da água abaixo usando o modo linear burn
  • Como os rios do mapa do jogo ficam presos à grade e têm formato muito quadrado, eles foram redesenhados manualmente no QGIS
  • No Illustrator, foi aplicado um leve taper às nascentes, e no Photoshop foram adicionados cor e bevel para dar a sensação de canais escavados no terreno
  • Também foi tentada uma análise hidrológica baseada no DEM, mas como o relevo era irregular demais, surgiram muitas bacias internas e rios curtos, então desenhar manualmente foi mais fácil

Cor, efeito de pintura e reforço da curvatura

  • O mapa inteiro recebeu aumento de saturação e a adição de uma graticule para visualizar a curvatura
  • O aumento de saturação surgiu por acidente ao mover camadas no Photoshop, mas o resultado agradou e foi mantido
  • O esquema de cores ficou mais forte do que o habitual e foi assumido como uma experimentação de projeto pessoal
  • O mapa foi achatado em uma única camada, reduzido e recebeu o filtro dry brush do Photoshop para criar uma textura de pintura semiacabada
  • Como o filtro deixava tudo borrado demais, ele foi misturado 50:50 com o mapa original para equilibrar detalhe e suavidade pictórica
  • Por fim, foi adicionada uma sombra interna nas bordas para sugerir diminuição de luz e reforçar a impressão de uma superfície curva, não plana

Rotulagem e escolha tipográfica

  • A rotulagem inicial foi feita no Adobe Illustrator, cuja ferramenta de texto era melhor que a do Photoshop
  • Os rótulos finalizados foram então trazidos de volta ao Photoshop para integração com o mapa
  • O mapa sob cada rótulo foi desfocado para que as bordas do texto se destacassem mais que o fundo
  • Foram usadas técnicas de glow e smart halos para permitir letras claras sobre fundos claros e letras escuras sobre fundos escuros
  • Todos os rótulos foram definidos com BellTopo Sans, criada por Sarah Bell
  • O autor considerou que fontes serifadas pareciam delicadas demais para as cores fortes do mapa e não combinavam com um mapa de ficção científica
  • Eurostile, a fonte do próprio jogo, pareceu rígida demais para um mapa com paleta e estilo mais suaves
  • BellTopo Sans foi vista como adequada por combinar a força de uma sans-serif com elementos humanistas de desenho manual

Topônimos ambíguos e composição do pôster

  • Os acidentes geográficos do jogo nem sempre são claramente rotulados e aparecem como texto branco colocado sobre um único tile da grade
  • Em muitos casos, foi necessário interpretar diretamente os limites da feição geográfica
  • Planetneck foi o caso mais difícil
    • era ambíguo se o nome indicava um canal em forma de dedo ou a faixa de terra que o cruza
    • no mapa do jogo também existe uma área de linha marrom fina por onde se pode passar tanto em terra quanto em água, o que dificultava ainda mais a interpretação
    • no fim, decidiu-se que o nome se refere à entrada de uma enseada longa e estreita
    • essa decisão combina com o fato de o mapa oficial ter outros nomes para estreitos
  • O mapa oficial traz apenas 32 nomes, um número muito baixo para um mapa desse porte
  • Como criar novos nomes parecia desconfortável, foram usados apenas os nomes existentes
  • O pôster final inclui, além do mapa principal, mapas menores feitos com o mesmo dataset e as mesmas técnicas
    • um mapa que mostra os dados de altitude com mais clareza
    • dois mapas polares com menos distorção
  • Tanto o fundo quanto o mapa receberam scanlines discretas em homenagem à interface do jogo
  • O azul do título e da moldura também remete à interface do jogo

Limitações do trabalho e possibilidades futuras

  • Todo o processo foi extremamente intensivo em trabalho, combinando amostragem tediosa dos dados do jogo, transformações GIS, ajustes de projeção customizada e construção de camadas no Photoshop
  • Na prática, o andamento não seguiu uma ordem eficiente como a descrição sugere; houve meses de tentativa e erro e vários becos sem saída
  • Como o dataset agora existe, no futuro pode haver a possibilidade de ampliar pequenas áreas de Chiron e produzir mapas em escala maior
  • Nesse caso, seria possível explorar métodos para gerar relevo mais realista preservando os valores de altitude já conhecidos
  • A utilidade dos dados de rochosidade só foi percebida depois do design final; nesta escala eles não fariam tanta diferença, mas podem influenciar mapas ampliados
  • O DEM original ainda precisa de mais limpeza em relação a lagos e ilhas ausentes
  • Se surgir um método melhor para criar um modelo de elevação mais realista, o DEM atual pode ser substituído por outro superior
  • Este projeto só foi possível porque havia dados preexistentes e mostra que, mesmo em mundos fictícios, habilidades de manipulação de dados podem ser aplicadas com métodos reais de cartografia

1 comentários

 
GN⁺ 2025-05-23
Opiniões no Hacker News
  • A história de Daniel Huffman é bastante convincente e inspiradora: https://somethingaboutmaps.wordpress.com/about/
    A versão longa é ainda melhor: https://somethingaboutmaps.wordpress.com/2011/03/02/on-salva...

    • A descrição da depressão relacionada ao trabalho bateu muito forte
      Eu também queria encontrar a chama que ele encontrou, mas tenho medo de que a minha paixão já tenha sido moída e esgotada anos atrás
  • Este jogo foi muito importante para mim: lembro que foi a primeira vez que percebi de forma abstrata ideologias e crenças religiosas separadas de exemplos humanos específicos
    Eu gostava muito das várias facções e daquilo em que acreditavam, e isso sempre me fez imaginar que tipos de crenças alienígenas teriam, caso existissem

    • Era um jogo excelente
      O sistema político era muito bom; havia apenas 4 opções em cada uma das 4 áreas, mas era ótimo que as escolhas não se combinassem automaticamente de forma predeterminada
      Se quisesse, dava para ter um Estado policial de livre mercado. Acho que jogar isso na infância talvez fizesse a pessoa pensar um pouco mais sobre o que suas inclinações políticas realmente significavam. Claro, também dava para ler livros, mas isso estava fora de questão. Também combinava perfeitamente com um jogo de ficção científica, já que escritores gostam de brincar com combinações políticas estranhas
    • É por isso que gosto de ficção científica e fantasia. Claro, em nove de cada dez casos, são variações de culturas humanas ou, no começo, acabam reduzidas a uma única dimensão. Elfos são racistas elitistas, Klingons são uma espécie irritada, e assim por diante
      Mas séries de longa duração vão acrescentando nuances com o tempo e às vezes fazem os estereótipos lutarem contra a própria “natureza”
    • É uma pena que Civilization: Beyond Earth tenha sido tão decepcionante
      Em vez de líderes, facções e ideologias interessantes, recebemos “África espacial” e “Austrália espacial”
      Fico me perguntando se há algum problema jurídico que impeça a Firaxis de fazer um remake de verdade de Centauri
  • Sid Meier's Alpha Centauri foi um jogo realmente incrível
    Com SMAC, tive ideias sobre como uma sociedade futura poderia se organizar para garantir a sobrevivência e o progresso da humanidade, e também vi como speculative technology poderia transformar uma civilização
    Enquanto jogava, eu me sentia menos sozinho, porque o jogo mostrava que a solidão é uma condição humana universal que atravessa épocas. Vi esperança na visão da humanidade encontrando seu lugar entre as estrelas, fui levado a lidar com ideias muito maiores do que eu, e sentia que as escolhas no jogo mediam a minha capacidade de empatia
    Percebi também que a história, como um jogo, simplesmente avança sem uma bússola moral

  • Para quem se pergunta por que Sid Meier's Alpha Centauri usa a palavra “planetfall”: era um termo recorrente no jogo e significava o começo da história
    O prompt inicial era assim:

    $NAME3, a new era of struggle and opportunity awaits you. The UN Starship Unity has arrived in the Alpha Centauri system after a forty year voyage. All contact with Earth has been lost. After Captain Garland's assassination by an unknown assailant, the crew mutinied and split into factions. In the ensuing conflict, some seized control of the Unity's colony pods. You now shape the destiny of your $ faction, which has just made PLANETFALL!

  • “Então percorri o mapa e anotei o valor de altitude de cada tile. Eram 8.192 no total.”
    Com certeza devia haver um jeito mais automatizado do que fazer 8 mil entradas manualmente, não?

    • Acho que muita gente lendo este comentário conseguiria escrever bem rápido um script para extrair os dados do mapa e convertê-los em .CSV
      Ainda assim, há um certo valor em projetos longos e repetitivos, quase sem pensar, que você pode ir fazendo aos poucos quando quer ocupar um tempo com algo sem muita importância
    • Pensei a mesma coisa. Havia muitos nerds que adoravam esse jogo na época, e eu era um deles, então acho que eu teria topado o desafio de extrair esses pontos de dados por programação
  • Ao ler a descrição de Sid Meier's Alpha Centauri, percebi que a série animada Scavengers Reign tem um cenário muito parecido: colonos humanos fazem um pouso forçado em um planeta que parece ter inteligência
    Aproveito para recomendar que assistam. Se você é fã de ficção científica, ou se nomes como Greg Egan ou Vernor Vinge vêm à sua mente, provavelmente vai gostar. Mesmo que não seja fã de ficção científica, vale tentar. É boa assim

  • O design de som desse jogo era realmente muito bom. Um jogo excepcional

    • Eu adorava os sons estranhos de “eventos”, os pequenos bipes da interface, os sons de armas fazendo “piu-piu” e a excelente dublagem
      Desde que comprei a versão de varejo em 1999, sempre mantive esse jogo instalado em algum computador. É uma obra de arte. Por mais que os gráficos tenham evoluído nos últimos mais de 25 anos, nenhum outro jogo da série Civ chegou tão perto de mim quanto este
    • Minha única reclamação sobre o design de som é a forma como a música de fundo funciona
      Acho que ela começava a tocar quando o jogador ficava inativo, mas em qualquer partida quase nunca havia oportunidade de ela realmente disparar
      Parece que cada facção tinha uma trilha sonora separada
  • O trabalho é excelente, e gostei do mapa e do texto. Muito bem feito mesmo
    O ponto que lamento é não ver limites de alto contraste na textura da terra. Tudo flui suavemente para outras regiões; as montanhas aparecem, mas a textura quase as ignora. Faltam os limites que vemos nas texturas do nosso planeta

    • Concordo até certo ponto. Uma das características interessantes que tornavam o mapa original alienígena eram as linhas vermelhas que atravessavam tudo
      Provavelmente eram xenofungus, mas também tinham uma sensação de magma e pareciam continentes se rompendo. Na nova versão, essa sensação desapareceu
      Ainda assim, valorizo muito o trabalho colocado nisso, e o resultado parece muito bonito
  • Tive que dar o disco para outra pessoa para conseguir parar de jogar. Estava atrapalhando seriamente meu trabalho e meu sono

  • Em uma linha parecida, há o blog “Here Dragons Abound”, sobre geração procedural de mapas de fantasia. Não é atualizado há algum tempo: https://heredragonsabound.blogspot.com/