3 pontos por GN⁺ 2024-02-27 | 1 comentários | Compartilhar no WhatsApp

Configuração do sistema de arquivos

  • Criação de duas pastas que precisam de unidades DOS para compilar o código-fonte de Wolfenstein 3D.

Download

  • Download do compilador Borland C++ 3.1, do código-fonte de Wolfenstein 3D e dos arquivos VGA.

Descompactação

  • Descompactação dos arquivos baixados.

DosBox

  • Download e inicialização do DosBox.

Montagem do sistema de arquivos

  • Montagem do sistema de arquivos para atribuir pastas a cada unidade.

Instalação do compilador

  • Execução do processo de instalação do Borland C++ 3.1.

Instalação do código-fonte de Wolfenstein 3D

  • Descompactação do código-fonte no sistema em que o compilador foi instalado.

Início da compilação

  • Inicialização do Borland C++ 3.1, abertura do projeto, configuração dos diretórios e tentativa de compilação.
  • Ocorre um erro por falta do executável TASM; após ajustar o PATH, a compilação é refeita.
  • Para resolver uma falha de linking, o caminho dos arquivos-objeto é corrigido no projeto e a compilação é concluída com sucesso.

Obtenção dos assets

  • Para os assets do jogo, baixar a versão shareware de Wolfenstein 3D ou comprar a versão completa.
  • Após instalar o jogo no DosBox, copiar o executável compilado para a pasta do jogo.

Execução do jogo

  • Tentativa de executar o jogo, mas a tela é exibida incorretamente por causa de um problema no índice dos arquivos gráficos.
  • Para resolver o problema, os arquivos de assets VGA são substituídos por arquivos regenerados para corresponder ao código-fonte.

Framebuffer VGA e proporção de tela

  • Ajuste da opção de proporção de tela do DosBox para ficar igual à tela do jogo original de 1992.

Opinião do GN⁺

  • Este artigo explica o processo de compilar o jogo clássico Wolfenstein 3D em sistemas modernos. Isso pode ser interessante para engenheiros de software iniciantes com interesse em desenvolvimento de jogos retrô.
  • O artigo mostra como fazer código antigo voltar a funcionar usando um compilador e um emulador obsoletos, destacando a importância de preservar e estudar o valor histórico do software.
  • Ele oferece aos desenvolvedores modernos a oportunidade de entender softwares do passado e, por meio disso, obter insights sobre a evolução da tecnologia atual.
  • Sob uma perspectiva crítica, esse processo pode consumir muito tempo e, às vezes, enfrentar problemas de compatibilidade com ambientes de desenvolvimento modernos.
  • Para adotar essa técnica, é necessário ter capacidade de entender e modificar o código-fonte de jogos clássicos.
  • A vantagem de escolher essa técnica é poder aprender técnicas de desenvolvimento de jogos do passado; a desvantagem é ter de resolver problemas de compatibilidade com ambientes de desenvolvimento modernos.

1 comentários

 
GN⁺ 2024-02-27
Comentários do Hacker News
  • Recomendação de livro sobre Wolfenstein 3D

    Há um livro sobre Wolfenstein 3D que é técnico sem ser entediante e apresenta muitos truques old-school e métodos de otimização. Inclui 64 funções para escalonamento de texturas de parede, a forma de armazenar sprites "de lado", gerenciamento complexo de placas gráficas e hacks de modos gráficos para conseguir exibir o jogo.

  • A diversão nos sistemas retrô

    Em sistemas retrô, existe a diversão de reunir as ferramentas e recriar tudo. Por exemplo, para recompilar o jogo Uplink, basta ter o Visual Studio 6.0. O arquivo de desenvolvimento inclui todas as dependências necessárias para compilar o jogo; levou algum tempo para ajustar as dependências, mas no fim o jogo funcionou bem. Também foram corrigidos alguns pequenos defeitos e adicionadas melhorias aqui e ali.

  • Saudades das interfaces de texto baseadas em DOS

    Sinto falta das interfaces de texto baseadas em DOS. É uma lembrança de uma época confiável, em que continuei usando um PS/2 até 1997.

  • Experiência de aprender a programar no Borland Turbo C++

    Houve a experiência de aprender programação no Borland Turbo C++. Era fácil chamar funções de formas geométricas para desenhar na tela. Depois de desenhar as formas, dava para usar a função xor para fazer animações. Era incrível criar um pequeno sprite que parecia estar correndo com apenas 1000 linhas de código C++. Junto com amigos, foram usados esses truques, sprites feitos à mão e um mundo de jogo explorável para criar um jogo no estilo Final Fantasy.

  • Leitura do livro sobre os criadores de Doom

    Ao ler o livro "Masters of Doom", ficou a impressão de que os jogos já eram muito empolgantes na época, mas, olhando para a história, inspira ainda mais ver o que alguns jovens conseguiram criar.

  • Recomendação de livro sobre desenvolvimento de jogos

    É um excelente livro que faz pensar novamente no desenvolvimento de jogos dos velhos tempos. Anos atrás, ele foi lido inteiro enquanto se esperava na fila de um restaurante.

  • Memórias de trocar disquetes sem ter disco rígido

    Instalar no drive C era luxo. Como não havia disco rígido, era preciso trocar disquetes entre os drives A e B. Aquela época foi divertida, mas hoje em dia as crianças nem acreditam quando ouvem essas histórias.

  • Doces lembranças da IDE MS-DOS da Borland

    O Borland C++ era uma IDE que cabia em cerca de 5 megabytes, incluindo compilador C++, biblioteca padrão e depurador, e o esquema de cores amarelo e azul característico da Borland era acolhedor.

  • Link relacionado

    Há um link relacionado ao texto intitulado "Let's compile like it's 1992 (2014)". Ele foi publicado no Hacker News em fevereiro de 2017 e tem 80 comentários.