9:58
youtube.com 04/06/2026 SRT AI Videos

I learned Odin

Desvendando Odin, o mítico deus nórdico, em uma jornada de descoberta com ThePrimeagen.

Odin Lua Tecnologia Jogos

Conteudo

TLDR;

Odin é uma linguagem parecida com C, projetada para a programação de jogos e com suporte fácil a bibliotecas como Raylib, SDL3 e Box2D, por isso o autor a escolheu para reescrever seu jogo em vez de continuar com muito código Lua. Ao migrar de Lua/Love2D para Odin com Raylib o autor já conseguiu renderizar níveis (Perlin noise), pathing e carregar JSON, achou Raylib muito mais conveniente que Love e descreveu Odin como fácil de aprender em ~20–30 horas. O autor usou AIs para gerar código Odin e obteve resultados úteis (por exemplo, parser de JSON), mas precisou refatorar e revisar porque a IA nem sempre produz código perfeito.

Resumo

Há cerca de um ano passei sete dias numa torre com amigos, incluindo o pixel artist Adam C. Eunice, construindo um jogo tower defense em Lua usando Love2D; depois retornamos para expandir ideias, criar cartas e eu implementei um sistema de UI dinâmico enquanto Teage desenvolveu o sistema de animação. Depois de muito trabalho o projeto ficou parado — eu me cansei de gerenciar dezenas de milhares de linhas de Lua — e decidi reescrever o jogo numa linguagem mais adequada para games: Odin. Em pouco tempo já tinha renderização correta, fundo gerado por Perlin noise, pathfinding e carregamento de dados via JSON. Odin me agradou por ser parecido com C, ter um sistema de importações que integra SDL3, Raylib, Box2D e outras bibliotecas, e por recursos de linguagem bem desenhados como sobrecarga explícita de funções e o mecanismo using que facilita trabalhar com coordenadas e células. Raylib também se mostrou muito superior ao Love2D para manipulação de texturas. Ainda não explorei recursos avançados como swizzling ou arranjos de estruturas, mas aprendi Odin rápido em 20–30 horas. Ferramentas de IA ajudam a gerar código para tarefas como leitura de JSON, mesmo exigindo refatorações. Planejo fazer devlogs enquanto continuo o desenvolvimento, em breve.