Criando seu próprio simulador de voo em C++ (1996)
(archive.org)- Material em inglês de 1996 sobre programação de jogos para DOS, abordando o processo de implementar por conta própria um simulador de voo em C++
- As tags do tema são classificadas principalmente como MS-DOS, 3D, Gamedev, tutorial, Retrogaming e C++
- Não é apenas um documento: também inclui uma imagem de CD-ROM com código de exemplo, preservando junto o ambiente de desenvolvimento da época
- Pode ser baixado no Internet Archive em vários formatos, como PDF, EPUB, Full Text, ISO Image e Torrent
- Para quem procura materiais sobre desenvolvimento de jogos retrô e programação em DOS, é uma versão preservada que reúne o livro e os materiais anexos em um só lugar
Material registrado no Internet Archive
- O material registrado no item do Internet Archive é Build Your Own Flight Sim In C++ (DOS GameDev)
- Os autores são Michael Radtke, Chris Lampton, e trata-se de um material em inglês publicado em 1996
- O ISBN é 1-57169-022-0
- O tema é classificado como MS-DOS, Programming, 3D, Gamedev, tutorial, Retrogaming e C++
Escopo de desenvolvimento abordado pelo livro
- O objetivo é escrever por conta própria um simulador de voo em C++
- É um material usado no contexto de programação de jogos em ambiente DOS, 3D e desenvolvimento de jogos retrô
- O simulador de voo inclui som SB16
- Também é fornecida uma imagem de CD-ROM contendo código de exemplo
Contexto do registro
- Quando Retro City Rampage foi portado para DOS, havia o contexto de um desenvolvedor lamentar ter descartado todos os livros de programação em DOS e desenvolvimento de jogos que possuía no passado, e que eles também eram difíceis de encontrar online
- Nesse contexto, este material é apresentado como um livro de desenvolvimento de jogos para DOS registrado no Internet Archive
Formatos disponíveis para download
- O Internet Archive oferece vários formatos de download
- PDF: 308.9M
- EPUB: 768.5K
- Full Text: 1.1M
- ISO Image: 11.5M
- Single Page Processed JP2 ZIP: 321.7M
- Torrent: 32.5K
- Arquivos relacionados a OCR também são oferecidos: CHOCR, HOCR, OCR Page Index e OCR Search Text
Preservação e metadados
- O tamanho do item é exibido como 706.7M
- Está incluído na CD-ROM Software Library, na CD-ROM Software Collection e na The Vintage Software Collection do Internet Archive
- O OCR foi processado com tesseract 5.0.0-alpha-20201231-10-g1236, e o idioma detectado é inglês
1 comentários
Opiniões no Hacker News
Ah, este livro! Lembra a época em que eu jogava Wolfenstein, Ken's Labyrinth e Doom e ficava me perguntando como diabos tinham feito aquilo
Eu trabalhava numa “loja de computadores” que às vezes não podia ou não queria pagar salário, e um dia disseram que eu podia levar qualquer livro da loja como pagamento pelo dia de trabalho; peguei este por impulso
No ônibus para casa, perdi o ponto em que precisava descer, porque, embora fosse um livro sobre simulador de voo, os algoritmos e técnicas dentro dele eram justamente o conteúdo de programação 3D que eu queria entender
Não cheguei a criar um simulador de voo, mas com o conhecimento que tirei deste livro fiz um jogo 3D tosco. Não tinha colisão com paredes, os itens baseados em sprites se corrompiam aleatoriamente depois de um tempo, e eu nunca consegui entender direito a sensação de usar multiplicação de matrizes em vez de transformações geométricas; ainda assim, foi um livro que consolidou meu amor por programação num momento em que, sem um projeto mais profundo, eu provavelmente não teria seguido adiante
O professor não entendia matemática e, mesmo quando ensinava matrizes em Álgebra II, não conseguia responder direito como matrizes eram usadas no “mundo real”
Mas, de algum jeito, encontrei numa edição da Byte de alguns anos antes um artigo sobre gráficos 3D, que falava sobre usar matrizes e pontos para rotações e coisas do tipo
Com aquilo, fiz um cubo girar num PET 2001. Em toda a majestade de uma tela 40x24. Na verdade eram 8 pontos e, se você apertasse os olhos no escuro, parecia um cubo
Mais tarde, na faculdade, pude usar um microcomputador Tektronix com tubo de armazenamento. Ao contrário de um terminal, era independente e conseguia renderizar um cubo razoavelmente bem. Também digitei, uma por uma, em instruções DATA do BASIC embutido, as coordenadas de um carro que eu tinha desenhado cuidadosamente em papel milimetrado
Naquela época, o livro inicial de Foley-Van Dam era o livro de computação gráfica que todo mundo cobiçava
Tirei C em “Survey of Physics” na faculdade, e a matemática para modelar fenômenos físicos era muito difícil para mim. Eu ia bem em cálculo e em coisas abstratas; não sei o que isso diz sobre mim
Se você tem interesse nisso, talvez também ache interessante um curso online que estou fazendo agora: https://pikuma.com/courses/learn-3d-computer-graphics-progra...
O instrutor ensina esse conteúdo em uma universidade em Londres, e dá para perceber claramente que ele tem muita experiência ensinando. Até agora o ritmo está perfeito, e é exatamente como a descrição do curso promete. Quando eu terminar o curso de gráficos, pretendo fazer mais alguns cursos desse instrutor
Ele ensina a programar gráficos do zero em C, e a única dependência é SDL2. No começo, você cria uma abstração em SDL2 que permite definir a cor de pixels individuais; depois, o curso inteiro é construído em cima disso. A estrutura é: se você consegue definir a cor de um único pixel, dá para aprender se consegue desenhar todo o resto, até uma coruja 3D texturizada
Estou acompanhando este curso em Rust, usando apenas os bindings de SDL2 para Rust. Estou gostando bastante e quis compartilhar porque acho que é uma troca honesta e um bom curso. Não vi muita gente falando desses cursos em outros lugares
Lembro de ter tido este livro. Eu devia ter uns 14 ou 15 anos, e tinha acabado de fazer minha primeira aula de voo e estava mergulhando de vez na aviação
Eu também tinha o MS Flight Simulator e estava aprendendo C++ sozinho, mas, para o meu nível na época, o conteúdo do livro era um pouco pesado. Mesmo assim, é bom relembrar a empolgação que senti ao conseguir este livro, com a expectativa de poder criar meu próprio simulador de voo. Claro que, se minha memória não falha, o simulador construído no livro era praticamente injogável
Este livro e “The Black Art of 3D Game Programming” eram meus dois favoritos quando eu era criança
https://archive.org/details/BlackArt3DEBook
Curiosamente, abri aleatoriamente na página 216 e encontrei um método um tanto básico, mas robusto, para mapear coordenadas 3D do mundo sobre uma esfera; por coincidência, recentemente li sobre a solução completamente diferente de geração de mundos de No Man's Sky
https://www.polygon.com/2017/3/2/14790028/no-mans-sky-was-fl...
Eu queria que ainda hoje saíssem mais textos assim. É realmente incrível.
Mas o link do ePub não baixa:
https://ia904505.us.archive.org/epub/index.php?id=build-your...
No valid doc name could be determinedUma pena, mas acho que vou me contentar com o PDF. Também é uma pena que o visualizador web do Internet Archive não seja muito bom.
Link do PDF que funciona: https://archive.org/download/build-your-own-flight-sim-in-c-...
Ainda tenho os programas que escrevi acompanhando este livro. A experiência de dar vida a um mundo 3D parecia mágica. Você começa com uma tela preta, desenha algumas linhas e, ao movê-las exatamente do jeito certo, de repente surge um mundo dentro da tela. Hoje em dia é difícil ter a mesma sensação.
Acho que ganhei este livro de presente no meu 13º aniversário, então parte da matemática era um pouco difícil para mim na época. Mesmo assim, aprender assembly e mergulhar em algoritmos mais complexos, como clipping de polígonos, foi um excelente treinamento para um programador iniciante.
É impressionante quantas páginas este livro usa para criar um universo. Naquela época, não bastava ligar uma biblioteca OpenGL e inicializar a stack.
O livro começa por coisas como quais registradores configurar para colocar a placa VGA no modo correto, como ler bitmaps e paletas do disco, como escrever seu próprio codificador run-length para economizar memória de bitmap e quais registradores configurar na porta do joystick.
Segui este livro até o fim. Como trabalhei no Mac, precisei fazer adaptações, mas implementei o algoritmo de Bresenham, clipping de polígonos, back-face culling etc.
Normalmente eu teria travado na matemática que estava vendo pela primeira vez, como matrizes, produto escalar e produto vetorial, mas tive sorte de estar fazendo álgebra linear no período de verão da faculdade, então o conteúdo do livro se encaixou muito bem com as aulas.
Se minha memória não falha, este livro vinha com um disquete de 5,25 polegadas contendo um simulador no qual era possível voar ao redor de montanhas em forma de pirâmide. Isso traz boas lembranças.