2 pontos por GN⁺ 2025-05-23 | 1 comentários | Compartilhar no WhatsApp
  • Este projeto recria com grande precisão o mapa de Chiron, o planeta fictício de Sid Meier’s Alpha Centauri
  • Usando dados reais do jogo (elevação, precipitação, relevo etc.), o mapa original de baixa resolução foi reconstruído em uma nova versão de alta resolução e com formas mais orgânicas
  • Foram usados vários métodos de projeção cartográfica (equal area, orthoapsidal etc.) e ferramentas como QGIS, Photoshop e Python para criar um visual único e esteticamente marcante
  • O processo envolveu uma construção complexa do DEM (modelo digital de elevação), com amostragem de dados, ajustes manuais, adição de ruído e mais
  • É um exemplo significativo de desafio técnico e estético tanto para jogadores quanto para cartógrafos

Introdução: visão geral e motivação do projeto

  • Este projeto recria o mapa de Chiron, o planeta de fundo do jogo Sid Meier’s Alpha Centauri, lançado em 1999
  • Chiron é o palco central desse jogo de estratégia sci-fi com fandom duradouro e tem importância comparável à dos próprios personagens
  • O autor, como cartógrafo profissional, compartilha sua experiência sobre como trabalhar com mapas do mundo real difere da criação de mapas de mundos fictícios
  • Enquanto muitos cartógrafos trabalham com dados já fornecidos, mapas fictícios exigem começar pela geração dos próprios dados, o que demanda criatividade e habilidades adicionais
  • Este projeto só foi possível graças ao uso do dataset do jogo real, e o resultado final pode ser baixado gratuitamente por qualquer pessoa

Coleta de dados

  • O jogo Alpha Centauri tem um mapa oficial criado diretamente por Chris Pine (128 × 64 pixels em losango)
    • Cada pixel contém vários atributos, como elevação, precipitação, índice de rochosidade etc.
  • No caso da elevação, todos os valores dos tiles foram amostrados manualmente dentro do jogo, um por um (8192 entradas manuais)
  • A precipitação foi extraída com separação por cor e mapeada no QGIS usando um mapa temático detalhado expandido por mod
  • Os dados de rochosidade também foram processados, mas não foram usados no mapa final
  • A distribuição de Xenofungus (forma de vida exótica) foi convertida em um dataset binário por meio de amostragem e correção das cores dos pixels

Configuração da projeção

  • O mapa do jogo tem a forma de uma projeção cilíndrica, repetindo-se infinitamente na horizontal e tendo limites na vertical
  • Partindo da ideia de que cada pixel representa a mesma área no espaço real, foi aplicada uma cylindrical equal area projection (usando a fórmula de Trystan Edwards)
  • A projeção e a proporção de resolução foram ajustadas para corresponder a um globo realista, e essa configuração foi estabelecida antes da amostragem dos dados

Refinamento e aumento de resolução dos dados de elevação do DEM (modelo digital de elevação)

  • Como objetivo de representar o relevo com mais detalhe do que no mapa original (128 × 64), foram testados vários métodos de interpolação por pontos
    • Dispersão aleatória de pontos: colocação de 1 a 3 pontos por tile para criar sobreposição e aleatoriedade
    • Aplicação dos valores de elevação do entorno a cada ponto e geração do primeiro modelo de elevação com interpolação TIN (triangulated irregular network)
    • Repetição do processo de avaliação e interpolação adicional (triangulação de Delaunay, extração de pontos centrais, média dos três pontos vizinhos, adição de ruído)
    • Repetição por várias rodadas, aumentando gradualmente a densidade de pontos e ruído
  • Processo de tratamento e correção: comparação com o mapa real para corrigir distorções do relevo, como ligação de ilhas e bloqueio de estreitos (com adição manual de pontos)
  • Para corrigir a distorção de um elemento marcante, a Garland Crater (de formato quadrado para circular), foi usada a técnica de correção por rubbersheeting
  • O DEM final foi suavizado, e as regiões polares foram tratadas com projeção separada e adição de ruído
  • Quando defeitos eram encontrados na etapa de criação do mapa, eram feitos ajustes adicionais (lagos artificiais, pequenas ilhas etc. com trabalho manual separado)

Aplicação de diferentes projeções

  • O mapa principal usa a projeção orthoapsidal (Armadillo), um tipo que enfatiza visualmente a curvatura da superfície
    • Foi desenvolvido em Python um script de projeção customizado (com ajuda da documentação oficial de Python + ChatGPT)
    • Os valores de curvatura e inclinação foram ajustados para combinar com as características do mapa
    • A projeção em si só suportava vetores, então dados raster como o DEM foram processados por poligonização e rerasterização

Produção do mapa em si: explicação das camadas no Photoshop

  • Fundo oceânico profundo (sombreamento): rasterização em preto e branco das áreas abaixo de 0 m no DEM, seguida da aplicação de um gradiente azul
  • Áreas terrestres (relevo sombreado): uso do simulador de estilo desenhado à mão suíço (Eduard), com inner glow na linha costeira para destacar a separação entre terra e água
  • Cores e textura: combinação de várias adjustment layers e máscaras, incluindo relief marrom/verde, ruído de cor e efeitos de iluminação
  • Vegetação: interpolação thin plate spline baseada nos dados de precipitação, com uso de dissolve + máscara de ruído no Photoshop para criar o padrão
  • Xenofungus: baseado nos dados de distribuição do jogo, com relief vermelho e tratamento semelhante à técnica de padrão do verde
  • Rios: curvas desenhadas manualmente no QGIS e finalizadas com taper e efeitos no Illustrator/Photoshop (a geração automática com base no DEM não produziu bons resultados)
  • Várias camadas separadas, como glow do oceano e do contorno costeiro, além da distribuição oceânica de xenofungus, foram combinadas no final
  • A adição de saturação de cor aumentada e grade (linhas de latitude/longitude etc.) elevou a sensação de volume e a clareza visual
  • Por fim, foi aplicado um aspecto semi-painterly com o filtro dry brush (misturado em 50% com o original)

Rotulagem (topônimos)

  • O rascunho foi feito no Adobe Illustrator e depois colado/mesclado no Photoshop
  • Efeitos de desfoque no fundo sob os nomes, glow e smart hollow foram usados para melhorar a legibilidade e o contraste com o fundo
  • Foi adotada a fonte BellTopo Sans (adequada às cores suaves e ao cenário futurista não humano)
  • Os nomes seguem os topônimos do jogo, e áreas ambíguas foram definidas segundo o julgamento do autor
  • No layout de pôster, foram usados submapas (elevação, polos etc.), além de scanlines e fundo azul/com moldura/ruído inspirados na UI do jogo

Encerramento e impressões finais

  • No geral, este é um projeto que concentra um alto nível de trabalho manual e técnica, incluindo amostragem de dados do jogo, conversão do modelo de elevação, customização de projeção e montagem de camadas
  • O processo foi uma longa jornada de tentativa e erro, refinamento visual e ajuste de detalhes
  • No futuro, há possibilidade de usar o dataset para ampliações parciais ou trabalhos de relevo em outros estilos (incluindo experimentos adicionais com dados de rochosidade)
  • As limitações atuais do DEM (lagos ausentes, pequenas ilhas) ainda estão sendo corrigidas, e ele deverá ser substituído depois por um DEM mais preciso
  • Este trabalho é um exemplo de desafio técnico interessante de mapeamento de espaço fictício para profissionais de GIS/cartografia, e também de satisfação estética para o fandom
  • Todo o processo resulta da combinação entre habilidade própria e paixão, com foco na transformação de dados já existentes

1 comentários

 
GN⁺ 2025-05-23
Opiniões no Hacker News
  • A história do autor Daniel Huffman é realmente cativante e inspiradora
    A versão longa da história proporciona uma experiência ainda mais comovente
    (Referência: mais detalhes em https://somethingaboutmaps.wordpress.com/about/ e https://somethingaboutmaps.wordpress.com/2011/03/02/on-salvation/)

    • A parte em que Daniel Huffman descreve a depressão relacionada ao trabalho me atingiu com força
      Eu também queria encontrar essa centelha que ele encontrou, mas sinto que minha paixão já desapareceu há muito tempo
  • Esse jogo foi uma das primeiras experiências que teve um grande significado para mim
    Lembro de ter percebido várias ideologias e crenças religiosas abstraídas, sem ligação com pessoas específicas
    Tenho lembranças de ter ficado completamente imerso nas diferentes facções e em suas ideias
    Eu costumava imaginar que tipo de crenças alienígenas poderiam existir

    • Foi uma experiência de jogo realmente excelente
      O sistema político também é impressionante, e gosto do fato de que as quatro opções em cada uma das quatro áreas não estão automaticamente ligadas entre si
      Dá para fazer misturas como uma economia de mercado com Estado policial
      Acho que jogar esse jogo quando eu era criança me levou a pensar com mais profundidade sobre inclinações políticas e seus significados
      (Claro, isso também pode ser aprendido em livros, mas na prática não é tão simples)
      É exatamente o tipo de clima em que roteiristas podem criar combinações políticas estranhas em um jogo de ficção científica

    • Foi uma pena como Civilization: Beyond Earth ficou muito aquém das expectativas
      Em vez de líderes, facções e ideologias interessantes, apareceram coisas como "Space Africa" ou "Space Australia"
      Fico curioso se a Firaxis tem algum problema jurídico que a impeça de fazer um remake de verdade de Centauri

  • Eu sempre tive curiosidade sobre por que o termo "planetfall" aparece com tanta frequência em Sid Meyer's Alpha Centauri
    No jogo, esse termo significa "o ponto de partida da história"
    O prompt no início é o seguinte

    $NAME3, chegou o momento em que uma nova era de luta e oportunidade espera por você
    A nave da ONU Unity chegou ao sistema Alpha Centauri após 40 anos de viagem
    Todo contato com a Terra foi perdido, e depois que o capitão Garland foi assassinado por um agressor desconhecido, a tripulação se rebelou e se dividiu em facções
    Depois disso, alguns tomaram os pods de colônia da Unity, e agora a facção $M1:$FACTIONADJ0 que você lidera acaba de fazer PLANETFALL

  • "Então, percorri o mapa e anotei o valor de altitude de cada tile. No total, eram 8.192"
    Certamente devia haver uma maneira de automatizar isso em vez de fazer 8 mil vezes na mão

    • Tenho certeza de que muita gente lendo os comentários aqui conseguiria rapidamente escrever um script para extrair os dados do mapa e convertê-los em .CSV
      Mas às vezes mergulhar em uma tarefa repetitiva por muito tempo, sem pensar demais, acaba sendo um projeto surpreendentemente satisfatório
      É perfeito quando você quer se concentrar em algo que não é tão importante assim

    • Penso de forma parecida
      Dá até um certo orgulho imaginar que muitos nerds que um dia amaram esse jogo (inclusive eu) teriam aceitado de bom grado o desafio de programar essa extração de dados

  • O design de som desse jogo é realmente excelente
    Sempre fico admirado com a qualidade do gameplay

    • Eu gosto muito dos sons estranhos de "evento", dos bipes e ruídos peculiares da interface, dos sons tipo "pow pow" das armas e da ótima dublagem
      Desde que comprei o jogo no varejo em 99, sempre tive ele instalado em pelo menos um computador
      Acredito que é uma obra de arte
      Nenhum jogo posterior da série Civ conseguiu me emocionar tanto (não importa o quanto os gráficos tenham evoluído)

    • A única coisa de que sinto falta é de como a música funciona
      Parece ter sido planejada para tocar apenas em momentos de inatividade, mas no jogo de verdade quase nunca dá para ouvi-la
      Acho que existe uma trilha sonora separada para cada facção

  • O resultado final, o mapa e o próprio texto produzido são um trabalho excelente
    A única ressalva que tenho é que, na textura da terra, os limites de contraste não se destacam, e todas as áreas acabam se conectando de forma suave
    Dá para ver as cadeias de montanhas, mas as bordas marcantes que aparecem nas texturas da Terra quase não estão representadas neste mapa

    • Concordo até certo ponto
      Uma das características mais marcantes do mapa original é aquela linha vermelha cortando tudo
      Imagino que seja o xenofungus, mas parece quase magma dividindo os continentes
      Esse elemento desapareceu na nova versão
      Ainda assim, valorizo muito o esforço colocado no trabalho, e no geral achei o visual excelente
  • Quando li "existe um mapa do planeta oficialmente bem lapidado", fiquei curioso
    Será que existe algum framework matemático para otimizar um mapa de forma a maximizar a diversão do gameplay?

    • Gastei uma quantidade absurda de tokens com um longo raciocínio do Claude Opus 4, e saiu uma resposta muito interessante!
      Se levarmos essa pergunta a sério, chegamos ao cruzamento de várias áreas que mudaram radicalmente o design de jogos
      O motivo de o mapa de Alpha Centauri funcionar tão bem é que sua estrutura equilibra muito bem várias tensões matemáticas
      • <i>Distribuição de recursos</i>: segue uma lei de potência e cria choke points naturais e territórios valiosos (reduzindo a previsibilidade)
      • <i>Métricas de distância</i>: são projetadas para garantir interação entre facções, mas evitar conflitos imediatos
      • <i>Conectividade do terreno</i>: dá origem a problemas interessantes de navegação e profundidade estratégica
        <i>Matemática da teoria do flow</i>: o conceito de flow de Csikszentmihalyi é modelado matematicamente
        A dificuldade desenha uma curva em que há sempre uma pequena margem de desafio acima da habilidade, e no mapa isso se traduz em uma estrutura que sempre oferece escolhas significativas adequadas ao nível do jogador
        <i>Entropia da informação</i>: um bom mapa não deve ter entropia nem alta demais nem baixa demais
        Há estudos sugerindo que uma escala de entropia de 0,3 a 0,5 para a variedade do terreno é ideal para a jogabilidade
        <i>Aplicação da teoria dos grafos</i>: considerando a estrutura do mapa como um grafo
      • centralidade de conexão (identificação dos principais choke points)
      • coeficiente de agrupamento (grau de "aglomeração" da distribuição de recursos)
      • distribuição dos caminhos mínimos (diversidade no tempo de deslocamento)
        estão todos diretamente ligados ao nível de imersão do jogo
        <i>Insight central</i>: ao tratar seriamente a noção vaga de "diversão" como objetivo de otimização, acabamos lidando de frente com a satisfação humana na tomada de decisões
        Os melhores frameworks não definem diversão; eles maximizam a <i>riqueza de escolhas significativas</i>
        É por isso que até a geração procedural de mapas nos jogos modernos não é mero acaso, mas usa algoritmos que calibram matematicamente a imersão
  • Para conseguir largar esse jogo, cheguei a dar o CD para outra pessoa
    Era tão viciante que estava prejudicando seriamente meu trabalho e meu sono

  • Existe um blog com uma vibe parecida chamado Here Dragons Abound
    Ele fala sobre geração procedural de mapas de fantasia, mas ultimamente as atualizações têm sido meio raras

  • Eu nunca joguei Alpha Centauri; na verdade, eu gostava mais de Master of Magic ou Syndicate
    Mas lendo o texto sobre este projeto, fiquei meio arrependido de ter ignorado Alpha Centauri naquela época
    Olhando para trás, percebo que, quanto mais velho fico, mais tenho um único critério para o que me atrai nas pessoas
    É ver alguém mergulhar com paixão em um interesse profundo e de nicho, sem se importar se os outros estão olhando ou não (ou até se importando cada vez menos com isso)
    Mesmo quando não é um interesse meu, uma das melhores coisas é observar alguém realmente apaixonado pelo próprio tema
    Na verdade, talvez eu consiga apreciar ainda melhor essa paixão justamente porque eu mesmo não fui fisgado por aquele assunto
    O tipo de pessoa que quero por perto não é alguém com os mesmos interesses que eu, mas alguém que tenha paixão por <i>qualquer coisa</i>
    (Dito de maneira indireta: não sou muito fã de existencialistas nem de niilismo)

    • No Master of Magic, eu sou apaixonado pelo fato de Cracks Call ser um desastre para builds de personagem artesão
      É um feitiço raro, mas de morte instantânea sem possibilidade de resistência, e ainda existe Web na mesma escola, então nem voar adianta