→ Use sua própria IA. → Lance sem custos-surpresa.
Mundos que continuam vivendo quando ninguém está olhando: ecologia, clima, ecossistemas inteiros seguem simulando sem um único jogador. Aqui embaixo a engine está inicializando de verdade - sete processos, quatro camadas, dezenas de módulos.
Tudo está conectado./Tudo é Entity./Tudo é simulado.
Engines clássicas carregam uma fase, executam e descartam. ASE administra um planeta persistente: o modelo de mundo é projetado para bilhões de entidades e transmitido chunk por chunk.








O axioma fundador é arquitetura, não um slogan: tudo é conectado, tudo é Entity, tudo é simulado. Para uma CPU executar isso, vale uma disciplina dura - sistemas nunca chamam uns aos outros. Eles se comunicam exclusivamente por Components.
Todo componente carrega um status em seu registro VERSION - e ele não é alegado, é auto-derivado da contagem de commits do componente. Isto é exatamente onde a ASE está hoje, não uma promessa. Arquitetura e visão estão de pé; a implementação está em andamento - publicamente rastreável, commit por commit.
seed → poc → init → core → feat → refine é calculado automaticamente a partir da contagem de commits de cada componente; alpha · beta · stable são definidos à mão. Clique em qualquer status para ver exatamente quais componentes estão ali - direto dos registros VERSION.
Todo módulo vive em um grafo. Clique em um bloco abaixo - o grafo ao vivo se reconecta à cadeia downstream real daquele módulo, extraída direto dos docs de causalidade da engine. Quando atmosphere.temperature cai abaixo de genetics.cold_tolerance, um animal congela - dois módulos, zero acoplamento direto, uma regra de comparação no hub.
Nenhum script escreveu isto. A cadeia abaixo é o que a saída de um módulo faz com todo módulo downstream - porque eles compartilham um grafo.
Inspirado no replication layer de Star Citizen - repensado de forma independente para equipes de uma pessoa: o estado do jogo vive no Replica, instâncias World são computação intercambiável, e o navegador fala exclusivamente com o Replica. Nunca com a Engine, nunca com uma World.
Como o navegador está conectado ao Replica e não ao World, a ASE pode mover, dividir e mesclar o compute por trás de uma região - um handoff de assinatura de tópico - enquanto o jogador continua andando. A continuidade não é um truque; ela decorre da topologia.
ase-codegen faz o parse do backend C++ e gera o cliente becsy - componentes, sistemas e constantes - com paridade 1:1. A mesma lógica determinística então roda no servidor e no seu navegador, que é exatamente o que permite ao fio enviar uma semente em vez de uma imagem.
class AtmoSimPrsChgSystem
: public ecs::System {
void tick(Registry& r, float dt) {
auto v = r.view<AtmoStPrsChgComponent,
AtmoStPrsBaseComponent>();
for (auto [e, chg, base] : v.each()) {
chg.timer_s += dt;
if (chg.timer_s >= 60.0f)
chg.delta = std::min(base.p, MAX_P);
}
}
};
@system(s => s.after(AtmoSimPrsAltSystem)
.inAnyOrderWithWritersOf(AtmoStPrsChgComponent))
export class AtmoSimPrsChgSystem extends System {
private readonly query = this.query(q => q.current
.with(AtmoStPrsChgComponent).write
.with(AtmoStPrsBaseComponent).read);
execute(): void {
const dt = this.delta;
for (const e of this.query.current) {
const chg = e.write(AtmoStPrsChgComponent);
const base = e.read(AtmoStPrsBaseComponent);
chg.timer_s += dt;
if (chg.timer_s >= 60.0)
chg.delta = Math.min(base.p, MAX_P);
}
}
}
registry.view<A,B>()→this.query(q => q.with(A).with(B))view.each()→query.currentstd::min / std::sin→Math.min / Math.sinfloat x = 0.0f→let x: number = 0.0float field→@field.float32constexpr PI→const PI · importado (SSOT)Duas engines escritas à mão divergem na primeira vez que alguém corrige um bug em apenas um lado. Então a ASE nunca escreve duas: a lógica é escrita uma vez em C++ e o gêmeo TypeScript é transpilado a partir dela. Uma lógica nos dois lados é o que permite ao navegador recalcular o mundo a partir de uma semente em vez de transmitir a imagem, prever através de um pico de latência sem travar e permanecer travado ao servidor. Ele ainda deriva - ponto flutuante e previsão sempre derivam - mas o servidor autoritativo o traz de volta com deltas minúsculos, do jeito que o NTP disciplina um relógio de quartzo contra uma referência atômica. A mesma lógica é o que mantém a deriva pequena e a correção minúscula.
Components e sistemas determinísticos que existem no servidor e no cliente com campos idênticos. Estado que precisa renderizar - posição, pressão, saúde. Os sistemas transpilados vivem aqui.
Buffers, requests, broadcast, persistência e acesso ao Hub. Eles permanecem em C++ e nunca cruzam o fio, então o cliente não carrega nada do peso do servidor.
Sistemas NetworkInput, RenderSync e EntityExport que o codegen escreve para você - o encanamento que aplica os dados de rede ao ECS e os sincroniza no React.
float to @field.float32, uint32_t to @field.uint32. Mude um campo em C++ e o tipo do cliente se remodela ao regenerar.O daemon Reasoning-Edge da ASE conduz a CLI que você já paga - então o pesado custo de iteração de construir um MMORPG movido a LLM permanece uma assinatura mensal fixa durante o desenvolvimento, não uma conta de API medida.
Na ASE uma skill não é um arquivo markdown ou um microsserviço registrado. É uma entidade ECS nascida em runtime a partir de um manifesto declarativo e capturada por uma query - o mesmo princípio Tudo-Pode-Nada-Deve, estendido ao reasoning.
id: lore-consistency-checker subscriptions: [ DialogueIntent, LoreState ] reads: [ CharacterMemory, WorldFacts ] writes: [ AnomalyIntent ] # nada fora disto é permitido work_type: reasoning_heavy # uma necessidade, não um nome de modelo cost_layer: game communication_pattern: standard memory: [ episodic, semantic, procedural ] quota: { usd, rate, concurrency, … } # 10 eixos, verificados antes do gasto
O Reasoning Tier controla toda chamada de LLM por trás de dez eixos de cota ortogonais. Uma skill com prompt injection ou descontrolada não pode acumular uma conta, porque o gasto nunca começa. Limites amigáveis a indies são uma propriedade da arquitetura, não uma promessa.
Anti-cheat é um caso de uso de reasoning embutido com uma hierarquia de autoridade de três tiers que escala em irreversibilidade - e nunca chega a deixar um LLM banir um jogador por conta própria.
Todo MMO morre das mesmas feridas: farming de bots, speed hacks, griefing coordenado, inflação descontrolada - e no final ficam os wipes e o êxodo de jogadores. Três décadas de história de MMO ensinam a mesma lição, e fiscalização acrescentada depois do lançamento chega tarde demais: a economia já está envenenada. ASE puxa essa lição para a arquitetura desde a hora um: detecção, quarentena e sanções assinadas por humanos são primitivas da engine, não um patch pós-lançamento.
Isso não são recursos do ASE - são mundos construídos COM ele. Aetheria é a prova tomando forma. Mítico na superfície, mecânico por baixo.
A engine não é um monólito - é uma estrela de módulos L3 independentes que escrevem saídas e leem uns aos outros através de um Communication Hub, com zero acoplamento direto. Todo módulo L3 na árvore abaixo - cada um seu próprio marcador, com sua maturidade real.
A ASE é construída em camadas estritas, L0 a L5 - e a linha entre engine e jogo passa bem no meio delas. Os desenvolvedores da engine são donos de L0–L3; você constrói seu jogo em L4 e L5, e não vê nada além do header ase-sdk.
A ASE é fortemente direcionada, e vale ser honesto sobre quem deveria construir sobre ela hoje - e quem não deveria. Complementar por design, não competitiva.





Integramos desenvolvedores solo e pequenos estúdios em ondas - deixe seu endereço e enviaremos um sinal quando sua onda abrir. Sem spam, sem cartão, sem compromisso.