Projeto pessoal / Estudos, Jogo · 2024
pythoncraft
Um clone do jogo Minecraft Java, desenvolvido em python.
Tecnologias
Um sandbox 3D inspirado no Minecraft, feito inteiramente em Python com a engine Ursina, que roda sobre a Panda3D. A pergunta era: dá para construir os sistemas fundamentais de um jogo voxel do zero e em Python (uma linguagem de automação que não dimensiona threads)?

O mundo é gerado com perlin noise. Em cima dele vieram os sistemas que fazem o jogo funcionar: jogador em primeira pessoa com física e dano de queda, mineração com animação de quebra, drops, inventário e hotbar, crafting, vida e fome, ciclo de dia e noite com iluminação, partículas e sons.
A parte mais importante foi a arquitetura. O main.py só orquestra; a lógica do jogo fica em módulos separados, sem depender da engine. Blocos, itens, entidades e texturas vivem em registros indexados por nome, e a partida é uma máquina de estados: menu, carregando, jogando, pausado e morto, com transições explícitas.
Separar a lógica da engine foi o que permitiu testar: física, mineração, crafting, inventário, modos de jogo e o estado da partida têm testes automatizados, que rodam no GitHub Actions a cada mudança. O jogo também tem tradução para português e inglês.



