Executando verificação de segurança...
5

[Desafio] - 30 dias estudando Bevy Engine para desenvolvimento de jogos.

Olá, estamos no início de um novo ano, e com ele vêm novos horizontes, desafios empolgantes e a vontade de explorar novas possibilidades.

Neste ano, meu estou focado em entrar no mundo do desenvolvimento de jogos. É uma paixão antiga que decidi priorizar e me dedicar mais profundamente. Porém, enquanto muitos pensam em aprender a utilizar engines como Unity, Unreal ou Godot para desenvolver seus jogos - e confesso que tenho um carinho especial pela Godot - decidi iniciar minha jornada com uma abordagem um tanto diferente: a Bevy Engine.

Descobrindo a Bevy Engine

Imagine uma engine leve, com várias funcionalidades e nascida da linguagem Rust. A Bevy não apenas se alinha com meus objetivos, mas também se destaca ao adotar o sistema de Entity Component System (ECS). Para quem não conhece, este é um paradigma no desenvolvimento de jogos que organiza os dados de uma forma diferente do que usando Orientação a Objeto por exemplo.

A Escolha da Bevy: Além do Convencional

Você pode se perguntar: por que não escolher uma engine mais estabelecida? A resposta é multifacetada. Rust é a linguagem que desejo aprimorar este ano. Embora C++ (Unreal), C# (Unity), e GDScript (Godot) sejam excelentes opções, meu foco inicial está firmemente no universo Rust.

Além disso, tenho uma inclinação por ferramentas de código aberto. A Bevy encapsula essa filosofia, e a ideia de contribuir para um ecossistema ainda em crescimento é algo que me chama muito a atenção. Sim, o ambiente de jogos em Rust ainda é embrionário, mas vejo isso como uma oportunidade, não uma limitação.

Compromisso e Accountability

E como vou documentar esta jornada? Bem, anteriormente mantive os avanços semanais aqui na comunidade falando do meu uso do editor Helix? Este ano, planejo divulgar meus avanços através de vídeos curtos no meu canal no YouTube e no meu canal do discord, capturando momentos de progresso e aprendizado. E, para os interessados em acompanhar, convido a todos para se juntarem a essa jornada comigo.
Além disso no final dos 30 dias vou postar aqui um resumo de como foi esse período.

Por fim, este ano pra mim promete ser muito diferente de anos anteriores. Estou ansioso para compartilhar cada vitória, desafio e aprendizado enquanto transito de um desenvolvedor web para criador de jogos. Nos vemos em breve nesta jornada!

Carregando publicação patrocinada...
1

Eu já fiz algumas coisas com a Bevy e ela tem muitos pontos positivos que eu adoro:

  • Ela é toda feita em ECS e divida em "Plugins". O sistema de renderização, de importar modelos 3D (gltf), de hud, de janela nativa (windows, linux, etc), tudo isso é um plugin. Se você quiser substituir a renderização pra uma feita do zero com vulkan, você consegue. Ela é extremamente modular.
  • Ela ajuda muito com a chatice do borrow checker do Rust, então a maioria das vezes você nem vai precisar se preocupar com isso.
  • A performance de um jogo nativo com ECS chega a ser muito superior a Unity ou qualquer outra. E com o tempo vai só melhorar.

Só tem algumas coisas que é legal levar em conta, que podem e já me atrapalharam bastante:

  • A Bevy não tem editor. Tudo que você vai fazer é no código, criar modelo e importar via código. Não existe nenhuma interface, quem tem que fazer é você. Tem vários plugins que o pessoal fez no github que criam um "editor", mas são um pouco limitados.
  • A Bevy é um projeto relativamente novo, então você vai encontrar alguns problemas pelo caminho. Pelo o que eu lembre o sistema de HUD e áudio da engine é bem precário, que é o motivo que não criaram uma "interface para a engine" ainda.

Resumindo, eu amo Rust e a Bevy Engine é uma ótima escolha. Eu acredito que tem muito potencial, tem muita gente trabalhando e ajudando pra melhorar ela. E qualquer coisa se você não achar uma solução já existente na engine, procura um plugin público ou faz o seu, é bem intuitivo.

Abraço :)

1

Opa obrigado pelas informações, quanto a parte de editor eu to acostumado a usar vim então é tranquilo eu vi alguns editores para ajudar a editar tilemap e algumas coisas talvez pra mim já resolva o meu jogo é pra ser de escopo pequeno.