Faz alguns anos atrás eu vi um post do Facínora em que eram ditas algumas notícias bem interessantes na semana, dentre elas uma engine chamada BUILD2 que me chamou bastante a atenção.
Mais propriamente este post
https://www.gamingroom.net/noticias/minidoom2-build-2-amid-evil/Fui atrás de entender como funcionava, e me deparei com um projeto em C que gera imagens em 3D em tempo real, sem precisar compilar tudo e depois disso também tinha um editor de código embutido.
Isso era como na Unity3D, no entanto a Unity, Godot e outras faziam de uma forma meio mecânica. Enquanto na BUILD2 temos um editor tempo real, se você for despedaçando o código, as coisas vão se despedaçando na tela.
Decidi que queria usar a BUILD2 para fazer um minigame meu, como o post do facínora mencionava...
BUILD e BUILD2 são projetos de Duke Nukem, e o que rola é que tem menos pessoas em meu círculo que usam essas engines e todo o material estava em EnGriSh, logo tem certas coisas que eu não ia compreender de primeira.
Eu me esforcei bastante para fazer alguma coisa.
No final, fiz um mini mapa em que você atira projéteis em Duke Nukens inimigos, eles voam e podem te acertar te matando.
Enviei o meu vídeo para o youtube e mostrei para o Ken Silverman. Realmente eu me senti bem porque estava fazendo um jogo com uma engine que ninguem que eu vi na internet estar interessado a fundo.
Um tempo depois, Ken me respondeu e disse que eu deveria procurar melhorar em certos pontos, pois o que eu fiz foi bom mas era superficial, e logo ele mencionou que se eu quisesse editar a fundo o jogo e a engine, eu deveria aprender codar em C.
Claro, ele disse isso não por desmerecer, mas ele mesmo conhece as limitações da engine e sabe que se eu quisesse aproveitar ao máximo, deveria ter domínio em C voltado para a programação de jogos.
BUILD2 é um projeto criado com dois objetivos
- Dar continuidade a versão antiga da BUILD que ia ser feita para competir com Quake.
- Ensinar programação de jogos de forma simples e rápida, tendo em mente que o escopo dos projetos na BUILD2 são menores que os da BUILD1, sendo apenas para criar pequenas demos.
O que eu consegui fazer com a BUILD2?
- Um mini game com mapa, inimigo, modelos 3d voxel, texturas personalizadas e condições de morte e respawn (acredito que troca de níveis foi feita em algum momento, não estou claro se foi realmente)
- Carregar mapas de Duke Nukem, Blood, Shadow Warrior, Texturas e outros assets para criar mapas novos (no entanto, eles carregam a estrutura, tendo que ser adicionadas as texturas separadamente depois)
Acredito que se avançar no projeto, poderia ser feito um jogo de Duke Nukem a estilo Quake bem leve e simples, ja que a BUILD2 é nessa pegada mesmo.
No entanto, queria mudar umas coisas na User Interface da engine que não consigo, já que ainda não sou tão bom em C como gostaria e tem bibliotecas que a BUILD2 depende na hora de compilar e, sinceramente, eu não consegui avançar nessa parte ainda por motivos pessoais da vida e limitações de compreensão minha.
No mais é isso, eu acredito que se esse projeto avançar um dia, poderemos ter uma opção de criação de mapas e jogos que se afasta do modelo das engines atuais e fica mais próxima dos boomershooter, no entanto com estilo 3d de Quake e GoldSrc (HalfLife)
O site da AvdSys (site aonde a BUILD2 está hospedada) está em manutenção, fazendo o código fonte estar indisponível, mas você pode encontrar a versão demo da BUILD2 na internet no ModDB, procurem lá se quiserem.