Todos os projetos pessoais
Artificial Life & SimulationNo ar

Quark

De regras simples emerge inteligência.

Next.js 16React 19TypeScriptPixiJSZustandReact FlowRechartsTurborepoCloud Run

Simulação de Vida Artificial

Quark

Preview interativo. Experimente a demo ao vivo para a experiência completa

14 → 8 → 4 MLPRede
Ecossistema + GeracionalModos
7 presetsCenários
PixiJS canvasRenderização

Quark é uma simulação interativa de vida artificial em que criaturas sobrevivem com redes neurais pequenas e algoritmos genéticos. Sem comportamentos scriptados, pathfinding ou IA ajustada à mão. Cada agente começa com uma rede feed-forward inicializada aleatoriamente e zero conhecimento do ambiente. Ao longo das gerações, agentes bem-sucedidos se reproduzem e passam cérebros e traços físicos mutados à prole. Você pode observar a evolução em tempo real, ajustar parâmetros, inspecionar o cérebro de qualquer criatura ao vivo e comparar estatísticas entre gerações.

IA emergente sem bibliotecas de ML: rede neural, algoritmo genético e loop de evolução feitos do zero em TypeScript

Dois paradigmas de simulação: modo ecossistema contínuo e experimentos geracionais controlados

UX interativa rica: inspeção de cérebro em tempo real, espaço 3D de traços adaptativos e gráficos geracionais

Engenharia de produção: monorepo Turborepo, build Docker standalone, CI/CD no GCP Cloud Run

  • Neuroevolução com MLP customizado (14 → 8 → 4) e ativações sigmoid
  • Algoritmo genético: seleção por torneio, crossover, mutação e elitismo
  • Traços de DNA evolutivos: visão, velocidade, metabolismo, drive predador, resistência a toxinas
  • Modos ecossistema e geracional com dinâmica de predação
  • Sete cenários preset mais randomize, de jardins a seleção severa
  • Sistema climático: umidade, temperatura, chuva, seca e modificadores de crescimento
  • Inspetor de cérebro: visualização React Flow com inputs, outputs e ativações ao vivo
  • Adaptive Space: scatter Three.js de percepção × biomecânica × metabolismo
  • Stats ao vivo: população, fitness, diversidade, famílias de espécies ao longo do tempo
  • Mais de 20 sliders interativos para evolução, ambiente e parâmetros das criaturas

O motor de simulação vive em um monorepo TypeScript puro (`apps/web/engine/`): loop de tick do mundo, colisão, sensing, predação, clima e vegetação em um módulo de ~2000 linhas. PixiJS rende o canvas a 60fps desacoplado do React; Zustand sincroniza snapshots do mundo via game loop requestAnimationFrame com velocidade configurável (0.25× a 4×). O app é publicado como imagem Docker Next.js standalone no GCP Cloud Run.

  • 01O design de fitness molda o comportamento emergente mais do que o tamanho da rede. Redes pequenas produzem estratégias surpreendentemente complexas
  • 02Sliders de laboratório como tetos evolutivos mantêm a UX compreensível sem impedir evolução aberta
  • 03Desacoplar a renderização PixiJS do estado React foi essencial para simulação fluida com populações maiores