English Version

O Jogo da Forca 3D

Um Jogo da Forca que escrevi em 1993 para uso em cursos de informática para crianças. Animação 3D a 320x240 com mapas de textura, mensagens sarcásticas e dicionário configuráveis, fontes anti-aliased, tudo isso com velocidade decente para os 386s e 486s da época -- e roda até hoje.


Tela principal do jogo

Tela de saída com senha

Tela de créditos

Sobre o jogo

Um requisito de projeto era que ele fosse usado em sala de aula por crianças irriquietas. Por isso, é deliberadamente difícil sair do jogo: ao pressionar F10 para sair, o jogo pede uma senha que presumivelmente só o instrutor saberia. Ela fica no arquivo de configuração e o default é "VON NEUMANN".

A idéia era ter um visual fantástico/surreal, daí minha opção por fazer tudo em 3D (essa escolha foi minha) -- coisas em 3D chamavam bastante atenção naquela época. Havia outra razão mais pragmática: eu não sabia desenhar, então não teria como fazer arte baseada em bonequinhos ou personagens fofinhos, como é comum em programas para crianças.

O símbolo com uma esfera e vários romboedros girando no topo da janela era o logotipo da empresa que me encomendou o programa, o ITECI. De novo, minha falta de habilidade artística me fez optar por uma solução mais técnica. Eu procurei vender a idéia como propaganda para a empresa, pois o logotipo era parte integrande do jogo. Mas alguns diretores não curtiram o lance do logotipo ser mutilado à medida em que o jogador errava.

Já naquela época, as crianças vinham ficando cada vez mais petulantes. Por isso, o conjunto default de mensagens tenta ser um tanto provocativo.

Eu mesmo nunca ministrei aulas usando esse programa nem acompanhei o resto do projeto do ITECI sobre ensino para crianças. Em algumas das InfoNordeste da vida, eu via o programa sendo demonstrado nos stands, o que eu achava hilário.

Em uma dessas coincidências que provam que a comunidade de TI de Recife é uma pequena panelinha, um dos instrutores que usou esse programa foi Aldo Albuquerque, hoje um dos mais antigos integrantes da Tempest.

Técnicas interessantes

A renderização usava algumas rotinas altamente otimizadas desenvolvidas por Michael Abrash e publicadas na revista Dr. Dobbs Journal para fazer as transformações lineares (rotações, translações, etc) e o desenho dos polígonos texturizados totalmente usando aritmética inteira. Os loops mais internos foram escritos em assembler.

O engenho de fontes e outros efeitos gráficos, tais como o degradê do fundo, fontes com anti-aliasing e fades, bem como toda a modelagem geométrica, fui eu mesmo que fiz -- na época, usando o Borland C++ 3.1 (mas a maioria do programa foi escrito em C puro). Isso tudo foi antes do meu envolvimento com redes e segurança; na época, meu fascínio era computação gráfica.

O jogo usava o então popular modo X das placas de vídeo VGA, que suportava 256 cores e, mais importante, o buffer duplo imprescindível para evitar piscadeiras causadas pelo redesenho dos quadros da animação -- hoje uma técnica banal conhecida como "double buffering".

O programa também oferecia tratamento correto dos acentos gráficos da língua Portuguesa -- uma banalidade hoje em dia graças ao Unicode, mas uma raridade na época do DOS; e essencial para um programa que pretendia ser educativo.

O programa verifica um checksum das mensagens da primeira tela de créditos (a única que é hardcoded) para dificultar que ela fosse alterada -- prática comum entre os piratas de software da época.

Licenciamento e Downloads

Depois de 15 anos, suspeito que um programa tão obsoleto não seja mais útil nem para o ITECI, de sorte que eu não vejo problemas em colocá-lo no domínio público. Mesmo à época eu já o via sendo copiado indiscriminadamente em listas de arquivos de BBSs, quanto mais hoje em dia.

Eu perdi os fontes originais há muitos anos atrás. Quando finalmente reencontrei em um backup, o disquete só dava erro de leitura. Se algum dia eu encontrar algum outro backup que leia, eu posto aqui.

Kiko > SoftwareEUtilitarios > JogoDaForca3D
Creative Commons License   The content of this site is made available under the terms of a Creative Commons License, except where otherwise noted.
  O conteúdo deste site está disponibilizado nos termos de uma Licença Creative Commons, exceto onde dito em contrário.