Games · Devlog #01 · projeto pessoal

Ecos de Aether

A Ruína do Véu

Um RPG de fantasia por turnos no navegador, em pixel art e multiplayer, onde o Véu entre mundos rachou e os inimigos aprendem por reforço num laboratório NetLogo antes de chegar ao jogo em C#.

Entrada da Caverna dos Ecos no mapa do jogo, com a muralha da vila e o Arsenal da Guarda abaixo

O gancho

Comecei pelo que me incomoda em muitos RPGs: o chefe final é só um monstro com mais vida e um script previsível. Em Ecos de Aether, a aposta é outra. Os inimigos não fingem inteligência: eles aprendem.

Em muitos jogoso dragão tem 10.000 HP e um script.

Aquio dragão tem uma política treinada.

Em muitos jogoso NPC é um balão de fala.

AquiDarkover e Kemancouver jogam pelas mesmas regras que você: arena, loja, missões e presença no mapa.

Por trás disso existe um laboratório invisível em NetLogo, onde espécies inteiras lutam milhares (às vezes milhões) de vezes no escuro. O que sobra não é cutscene: é um JSON de Q-values que o runtime .NET importa como instinto de combate. Não é “IA no slide”, é arquitetura de aprendizado costurada à lore.

Aetherion não precisa de mais um monstro com barra de vida maior. Precisa de adversários que lembram como você venceu ontem.

— das notas de design

Capturas de tela

Exploração em visão de cima, em pixel art, com outros jogadores no mesmo mapa. Clique numa imagem para ampliar; dentro dela, as setas ← → trocam de captura e Esc fecha.

O mundo: Aetherion

Por séculos, o Véu, uma barreira forjada por magos e guerreiros antigos, separou o mundo mortal do Vazio. O Véu rachou. Das fissuras saem criaturas esquecidas, florestas adoecem, mortos despertam com a memória pela metade e sombras aprendem a usar nomes humanos.

A ordem das Sentinelas do Véu sumiu depois da primeira grande ruptura. O jogador carrega uma Marca ligada a ela, que lateja perto das fissuras como um instrumento afinado no silêncio errado.

O tom é de fantasia sombria leve: heroísmo, mistério, magia antiga, sacrifício, esperança e humor na hora certa. Sem gore e sem conteúdo adulto: a classificação é Livre (L).

Glossário de bolso

Véu

A fronteira que protegia tudo. Agora é cicatriz.

Fenda

A ruptura por onde o Vazio respira.

Aether

Energia residual do Véu: combustível de magia e de presságio.

Eco

Resto de consciência ou criatura que repete padrões de combate.

Marca

A herança das Sentinelas gravada no corpo do herói.

No lore, um Eco não é só um monstro: é memória combatente. No código, a metáfora fica perfeita para políticas treinadas, padrões que sobreviveram a milhares de mortes simuladas e voltaram ao mundo vivo.

Lugares

Nada de “área 1, área 2”. Cada lugar tem nome próprio e direção de arte, e o mapa-múndi e os mapas de diagnóstico já existem como arte pronta.

A vila

Ruas de pedra, casas com placas e oficinas, a Casa dos Artesãos e gente andando de um lado para o outro. É aqui que a missão “Ecos na Estrada dos Sussurros” começa: encontrar Mira na Estrada dos Sussurros.

Caverna dos Ecos

A entrada fica do lado de fora da muralha, perto do Arsenal da Guarda. Lá embaixo há galerias vulcânicas, pontes sobre o magma e o cristal do Santuário Oculto. Nos níveis profundos você não está sozinho: agentes andam pelo mesmo grid.

Salas particulares

Um canto só seu, com cama, lareira, baú e estante. O próprio jogo resume: “descanso seguro · canal privado”. A da captura é a de Sazinho.

Legenda do mapa

  • Valebruma · cidade sob tempestades púrpuras; ponto de partida, forja, cura, fofoca e medo
  • Lago Espelhado · água que devolve o que você não quer ver
  • Santuário Oculto · trilha e silêncio ritual
  • Bosque Enfermo · verde corrompido, bestas e espíritos que pedem cura ou fogo
  • Minas de Ferro Negro · túneis, armadilhas e Grothar, o Coração da Mina
  • Torre de Arken · puzzles, grimórios, autômatos e Seraphine: enfrentar ou redimir
  • Fortaleza da Fenda · o cerco final contra Malachar, o Arauto da Fenda
  • Caverna dos Ecos · descidas sob Valebruma: andares de magma, pontes e cristais

Jogar junto: grupos, missões e combate

O mapa é compartilhado: a presença dos jogadores é sincronizada em tempo real com SignalR, e o HUD mostra o seu grupo e quem está online na área. Nas capturas, dá para ver os nomes sobre os personagens, o painel do grupo e o botão de sair, além dos controles de toque.

MISSÃOEcos na Estrada dos Sussurros

Encontrar Mira na Estrada dos Sussurros (0/1)

→ Estrada dos Sussurros

Arco 1: a cadeia de missões

  1. PrólogoA Noite das Cinzastutorial sob ataque; a Marca desperta
  2. Cap. 1Estrada dos Sussurrosemboscadas, escolha moral e um posto abandonado das Sentinelas
  3. Cap. 2O Bosque Enfermocura, mini-chefe e um fragmento rúnico
  4. Cap. 3As Minas de Ferro NegroGrothar
  5. Cap. 4A Torre de ArkenSeraphine: lâmina ou misericórdia
  6. Cap. 5A Fortaleza da FendaMalachar e três finais

Flags narrativas estáveis (SavedBlacksmith, SeraphineSpared, ArtifactPreserved…) fazem o epílogo lembrar o que você fez, não só o nível que você farmou. São três finais:

Véu SeladoSacrifício do ArautoFenda Contida (gancho para o arco 2)

Origens, classes e facções

  • Três origens: Guardião de Valebruma (dever e defesa), Estudioso Errante (mana, grimório e perguntas perigosas) e Sobrevivente das Fronteiras (agilidade, pragmatismo e um mapa rasgado). Nenhuma é melhor no papel; cada uma muda o primeiro cheiro do mundo.
  • Guerreiro, movido a Fúria: corpo a corpo, posturas e provocação. Caminhos: Guardião, Berserker e Mestre de Armas.
  • Mago, com mana e Ressonância, que recompensa sequências (o Aether gosta de ritmo). Caminhos: Piromancia, Criomancia e Arcano.
  • Facções: Sentinelas do Véu (um fantasma histórico), Guarda de Valebruma, Culto da Fenda, Mercado Errante e Arquivo de Arken.

Combate por turnos que se explica

Dano, loot, ouro e XP nunca nascem no cliente: trapaça morre na porta. O log e os tooltips explicam por que você sangrou. Fogo contra pele que derrete, gelo contra sangue quente, resistência que pune a magia preguiçosa.

A dificuldade vai de História a Normal, Veterano e Pesadelo (pós-arco). E Pesadelo não é “+200% de vida”: é padrão melhor, foco no alvo vulnerável e gestão de recurso.

Agentes que aprendem

O bestiário tem duas filosofias. Slimes, ratos e goblins baixos usam IA fixa: regras e probabilidade, honestas e baratas (“HP baixo → cura”). Já orcs, elementais, dragões e The Architect usam IA treinável: ninguém entrega a eles a regra “se HP < 20%, cure”. Eles descobrem sozinhos, por recompensa e punição, ou morrem tentando, milhões de vezes, longe dos olhos do jogador.

Do laboratório NetLogo para o C#

  1. O jogo em C# define atributos, skills e regras.
  2. O NetLogo, em modo de treino, roda milhares ou milhões de batalhas sem animação.
  3. O agente observa um estado discretizado: faixa de HP, distância, MP, status…
  4. ε-greedy: explora bastante no começo e cada vez menos depois.
  5. Atualiza Q(s,a) ← Q + α [r + γ max Q(s′,a′) − Q].
  6. Exporta um JSON por espécie ou por chefe.
  7. O PolicyImporter (.NET) escolhe a ação em tempo de jogo, por argmax ou softmax.

O estado canônico usa a mesma string no simulador e no jogo:

hp=low|ehp=mid|mp=high|dist=close|self=buff|foe=vuln|lastSelf=fire|lastFoe=defend
  • Memória por espécie: goblins comuns compartilham uma Q-table, o Goblin King tem a dele e cada chefe carrega a própria política.
  • Self-play com arquivo: versões antigas (V1…V10) ficam guardadas para o agente não virar especialista em derrotar só a si mesmo de ontem.
  • Currículo: oponente simples → intermediário → classes diversas → equipamentos → estratégias → combate aleatório → adversários também treinados.
  • Fraqueza paga, resistência custa: no treino, explorar fraqueza elemental dá recompensa. O chefe não precisa de diálogo para parecer esperto; ele aprendeu que Fireball em golem de pedra é burrice cara.

Habitantes, não só inimigos

Darkover

Jogador-NPC autônomo. Usa DarkoverBrain com Q-learning tabular e os mesmos serviços que você (batalha, loja, missão, viagem). Aparece no mapa e pode ser recrutado.

Kemancouver

Explorador e memória do mundo: explora, conversa e compartilha fatos pelo AgentKnowledgeBridge.

Diálogo entre agentes

Um orquestrador com Ollama local dá voz ao mundo, com qualidade auditada e fallback offline.

Ecoeterno

Bot de farm que roda um loop HTTP de verdade (combate, loja, missões) e mantém o servidor sob pressão contínua: um teste de carga vivo. O nome junta eco e eterno: é o eco que nunca para de repetir.

Darkover não trapaceia: tem identidade e personagem próprios e segue o ciclo tick → política → executor → recompensa (ΔXP, ouro, missão, sobrevivência e novidade, menos a morte). Quando termina o arco, entra em modo Curiosity: o fim do conteúdo vira começo da vagância inteligente.

The Architect

O inimigo mais inteligente do sistema inicial, no nível 100: várias fases, escolha de alvo, buffs e debuffs, fraquezas, economia de recurso, combos, reação a padrões, invocação e terreno. Foi treinado contra Warrior, Mage, Tank, Healer, Assassin, Archer e Hybrid, não contra um único build de laboratório.

Stack e ferramentas

A parte de que mais me orgulho é o ferramental. Como todo herói precisa de equipamento, aqui vai o inventário:

  • Arma principalASP.NET Core MVC 8 · Razor · SignalRCamada web, com presença no mapa em tempo real.
  • GrimórioDomínioEntidades, enums e exceções: as regras de fantasia escritas como código.
  • EscudoGameEngineCombate com autoridade do servidor, progressão e IA.
  • ArmaduraEF Core · IdentityInfraestrutura: persistência, identidade, seed e auditoria.
  • Tomo arcanoNetLogo 6 + extensão tableTreino de combate por Q-Learning, com export em JSON.
  • AnelPolicyImporterRuntime de política: argmax ou softmax.
  • FamiliarBackgroundServices · Ollama (opcional)Agentes com políticas persistidas.
  • LanternaCanvas/JS · Web AudioCliente do mundo, com VFX de qualidade adaptável e respeito a prefers-reduced-motion.

Mochila de ferramentas

  • Estado canônico idêntico no simulador e no jogo
  • Arquivo de self-play (V1…V10)
  • Currículo de treino em 7 degraus até The Architect
  • Métricas de win-rate e de convergência
  • AgentKnowledgeBridge para memória compartilhada
  • Diálogo de agentes com qualidade auditada e fallback offline
  • Bot de farm como teste de carga contínuo
  • Mapa-múndi e mapas de diagnóstico
  • Flags narrativas estáveis para o epílogo
  • Story bible e GDD

A solução se divide em EchoesOfAether.Domain, GameEngine, Application, Infrastructure e Web. Os pilares de engenharia: autoridade do servidor, combate legível, narrativa distribuída, duas identidades fortes e extensibilidade (novas classes, áreas e capítulos sem reescrever o motor).

Diário de bordo e roadmap

Ecos de Aether está em desenvolvimento ativo. Não é um AAA lançado; é uma visão que eu já consigo executar, com lore, simulação e runtime no mesmo fio. Sem datas por enquanto: é projeto pessoal, e o ritmo é o do Aether.

Já forjado

  • Story bible e GDD
  • Combate
  • Seed de inimigos
  • Presença multiplayer no mapa
  • Agentes de RL
  • Laboratório NetLogo
  • Arte de mapas

Próximas missões

  • Fechar o Arco 1, do Prólogo à Fortaleza da Fenda
  • Dificuldade Pesadelo, depois do arco
  • Suporte a controle (joystick/gamepad) planejado
  • Arco 2, a partir do final “Fenda Contida”

Meta de conteúdo do Arco 1

Planejado, não entregue: é o tamanho que o arco deve ter.

áreas
12
missões
25
NPCs
20
inimigos
30
mini-chefes
6
chefes
3
itens
80
equipamentos
30
skills
30+
finais
3

Pergaminhos de bolso (frases do projeto)

RPG onde a dificuldade tem currículo.

Inimigos que treinaram fora do mapa.

Companheiros que usam a mesma API que você.

Pesadelo não é HP. É política.

Curtiu o devlog, ou quer trocar ideia sobre jogos, simulação ou aprendizado por reforço?

Me escreva

Visualizador de capturas