3 pontos por GN⁺ 2023-09-04 | 1 comentários | Compartilhar no WhatsApp
  • 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

 
GN⁺ 2023-09-04
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

    • No meu caso foi uns 15 anos antes disso. Meu professor de matemática tinha um TRS-80 e um simulador de voo antigo; o terreno era composto por uma grade, aeroportos e cordilheiras simples e planas, e carregava a partir de fita cassete
      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
    • Na verdade, o autor Christopher Lampton tem um livro anterior sobre esse estilo de jogo. O título é “Gardens of Imagination, Programming 3d maze games” e pode ser visto aqui: https://archive.org/details/gardensofimagina00lamp
    • Coisas assim foram o que me levaram a começar em programação. Nunca trabalhei nessa área, mas foi uma inspiração enorme, e antigamente eu costumava comprar CD-ROMs com dumps de sites como Dr. Dobb's
    • Peraí, por que era preciso usar multiplicação de matrizes em vez de transformações geométricas?
      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

    • Tricks of the Windows Game Programming Gurus também era excelente. Tricks of the 3D Game Programming Gurus traz um motor 3D completo em C, isto é, um rasterizador por software, começando do desenho de um único pixel
  • 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 determined
    Uma 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-...

    • Estranho. Eu consegui baixar um ePub que funciona, mas ainda assim recomendo a versão em PDF. O OCR e a formatação do ePub eram grosseiros, no nível de um rascunho gerado automaticamente.
    • O ePub provavelmente é gerado na primeira solicitação.
  • 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.

    • Por que hoje é difícil? Alguns meses atrás comecei a criar um rasterizador de software e senti exatamente isso.
  • É 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.

    • Há um arquivo ISO de 11 MB incluído, e dentro dele também há alguns arquivos exe.