Então: masoquismo. Você deve saber que seu nome vem do nobre e escritor austríaco do século 19, Leopold Ritter von Sacher-Masoch – e especificamente do conteúdo de sua famosa obra, Vênus em Pelesque catalogou a natureza submissa do narrador e o gosto por vivenciar dor e humilhação. O próprio Masoch aparentemente não gostou do fato de seu nome ter sido associado a tais predileções – provavelmente justo, visto que o termo foi usado pela primeira vez em um livro intitulado Psicopatia Sexualisque também foi pioneiro na negação ao especular que o próprio Masoch “teria alcançado a verdadeira grandeza se tivesse sido movido por sentimentos normalmente sexuais”. Felizmente, as atitudes modernas em relação à parte “S” do BDSM são significativamente mais esclarecidas do que eram nas décadas de 1880 e 1890.
Em notícias totalmente não relacionadas, um YouTuber chamado gelo– cuja biografia no site diz simplesmente “tente agora, sofra depois” – escreveu um jogo de tiro em primeira pessoa completo no maldito COBOL.
Se você nunca teve que lidar com COBOL, bom para você, e provavelmente deveria continuar assim. A linguagem está entre as linguagens de computador mais antigas e foi desenvolvida na década de 1960 para gerenciar mainframes empresariais. Provavelmente foi isso que levou o pobre Ginsberg a Homens loucos fora de sua mente. O COBOL continua em uso hoje, principalmente em mainframes legados e em outros locais onde não é viável substituir sistemas existentes que, apesar de todas as suas fraquezas, ainda funcionam.
Um propósito para o qual ele absolutamente não permanece em uso – e, na verdade, nunca foi usado – é a programação de jogos de tiro em primeira pessoa. Então, por que, em nome de tudo o que é bom e sagrado, alguém faria isso consigo mesmo?
Em seu vídeo, icitry explica que o projeto começou com ele se perguntando: “Qual é a linguagem mais idiota, mas ainda tecnicamente possível, para escrever um pequeno jogo no estilo FPS?” A resposta foi, sim, COBOL, e porque as leis do universo ditam que tudo o que pode acontecer deve acontecer, o gelo começou a funcionar. Horas de trabalho longas, meticulosas e tediosas.
Como ele ressalta, o COBOL é “velho, detalhado, sem a maioria dos recursos que até mesmo as linguagens modernas mais ruins têm… e definitivamente não foi criado para o desenvolvimento de jogos”. Tudo isso é verdade, embora, para ser justo com o COBOL, ele tenha sido criado em uma época em que as pessoas ainda estavam descobrindo como a programação deveria funcionar e qual deveria ser o objetivo de uma linguagem de programação. Seu padrão mais antigo é anterior à ideia de programação estruturada, embora logo tenha atraído críticas dos defensores desse conceito – Edsger Dijkstra, em particular, notoriamente odiava a linguagem e disse seu uso “paralisa a mente”.
Aos olhos modernos, apenas tentar analisar um programa COBOL é suficiente para induzir uma dor de cabeça, e muito menos tentar escrever um jogo nele – mas, milagrosamente, icitry consegue fazer seu projeto Wolfenstein 3D funcionar. Ele evita a completa falta de funções gráficas do COBOL tratando basicamente o jogo como o que ele chama de “gerador de quadros”: seu código calcula o conteúdo de cada quadro e usa uma função de saída padrão para escrever os resultados em um formato de imagem simples. Isto é renderizado por ffplay– o que, sim, provavelmente é trapaça, mas nem mesmo o velho Leopold tentaria escrever uma API gráfica inteira do zero em COBOL.
Em outros lugares, o icitry evita a falta de gerenciamento de entrada do COBOL usando o console para inserir caracteres únicos em seu jogo. Ele não se esquiva tanto da falta de funções matemáticas vetoriais do COBOL – que são importantes para um jogo onde todo o ciclo de jogo gira em torno do cálculo e manipulação de vetores de movimento 2D – como ele apenas contorna-os escrevendo-os ele mesmo. E então, como se tudo isso não fosse autopunição suficiente, ele vai além ao implementar RUÍNA funções do motor como altura de teto variável.
Todo o projeto é uma prova da engenhosidade, desenvoltura e capacidade da humanidade de resistir a todos os tipos de punição autoinfligida. Observando o jogo rodar, você nunca imaginaria que ele foi escrito em uma linguagem tão manifestamente inadequada para a tarefa em questão.
Ainda! Pelo menos não é FORTRAN, certo? Certo?? *corte para um aristocrata austríaco em sua mesa com uma cópia de O sistema de codificação automática Fortran para o IBM 704 e o RUÍNA código fonte*













