Eu sou interessante em saber mais sobre como jogos de vetor como Elite e Star Wars Atari foram construídos do zero. A questão não é como implementar gráficos vetoriais com APIs 3D modernas, como OpenGL e DirectX, pois isso é bastante fácil e não requer a construção de um sistema de vetores / matrizes do zero, como fizeram esses jogos.
Algumas coisas que presumo sobre esses jogos:
- Eles trabalham em um nível extremamente baixo e são escritos em ASM
- Eles são jogos 3D reais e não fingem como o After Burner. Também não é como o Wolfenstein 3D. O Afterburner usou efeitos rotozoom / raster e o Wolfenstein 3D usou raycasting e escala 2D e não é realmente 3D, já que você não pode subir. Mesmo que você possa gostar do Build Engine que o Duke Nukem 3D usou, tudo, exceto as paredes, é apenas um sprite. A Star Fox está mais próxima, já que usa modelos 3D reais, mas a implementação usa o chip Super-FX do SNES e provavelmente emprega truques de scanline. Sei que o Elite provavelmente também usa esses truques (pelo menos em algumas implementações como o Elite NES), mas não tenho certeza sobre o SWA, pois ele usava uma máquina de fliperama personalizada; de qualquer maneira, eu gostaria de saber mais sobre isso.
- Seus modelos 3D são modelos 3D reais. Eles são definidos como vetores e transformados de acordo com a posição da câmera.
Eu sei que a melhor coisa a fazer seria desmontar a fonte do Elite e ver como as coisas foram feitas por mim, mas antes de fazer isso, quero saber mais sobre como elas foram feitas e se existem projetos modernos de código aberto que mostram técnicas semelhantes . Não me refiro a Elite remakes como Oolite (que usa OpenGL e Obj-C), mas projetos que usam técnicas semelhantes e evitam usar APIs como OpenGL diretamente - não necessariamente projetos de baixo nível, porém, usando biblioteca 2D como SDL (sem OGL) deve ser suficiente, pelo menos por enquanto.
Eu sei que o código fonte do MESA3D provavelmente contém muitas das rotinas que jogos como Elite e SWA implementaram - eu só quero vê-los no contexto de um jogo. Eu sei que o que a Elite e a SWA basicamente fizeram foi implementar a rasterização, criar seu formato para modelos e um carregador (tenho certeza de que pelo menos a SWA tinha modelos construídos a partir de modeladores usando ferramentas, embora não seja impossível codificar os TIE-Fighters é difícil fazê-lo com precisão) e muitas outras coisas das quais posso desconhecer. Mas é realmente demorado entrar e eu não me importo com muitas das coisas que estão nele. Lembre-se de que jogos como o Elite eram muito leves devido à baixa ROM e RAM que os computadores e consoles tinham na época.
Eu sou novo em gráficos 3D e todas as minhas suposições são baseadas no meu conhecimento limitado de geometria 3D e matemática no nível da escola, desculpe se eu disse alguma besteira. Mas eu realmente gostaria de saber mais sobre como esses jogos funcionam em todos os detalhes, e possivelmente não apenas "comprar um livro X", já que estou sem dinheiro. Embora eu comprasse um livro sobre o desenvolvimento do Elite ou um jogo similar, se ele existisse. Algumas sugestões gerais seriam suficientes.