Compilemos como si fuera 1992 (2014)

La nostalgia por el desarrollo en PC de principios de los años 90 recorre este hilo, impulsado por un artículo sobre recompilar Wolfenstein 3D con Borland C++ y toolchains pequeñas y autocontenidas. Los comentaristas contraponen la facilidad de instalar un único IDE y dibujar formas o compilar juegos completos de inmediato con los ecosistemas pesados, los cambios de dependencias y las complejas pilas gráficas de hoy. En el camino comparten historias sobre recompilar títulos clásicos, recomiendan los libros de Fabien Sanglard sobre los motores de Wolfenstein y Doom, y debaten cómo ofrecer a los niños entornos igual de accesibles para aprender a programar y hacer juegos.

Nostalgia por el desarrollo de juegos y los libros de principios de los ’90

  • Muchos recuerdan los primeros juegos de PC (por ejemplo, la era de Wolfenstein/Doom) como algo divertido e inspirador a la vez: equipos pequeños creando trabajos revolucionarios.
  • La serie de “libros negros” sobre el motor de juego de Wolfenstein 3D y Doom es ampliamente elogiada por mezclar historia, trucos de bajo nivel y una explicación técnica clara.
  • Algunos lamentan que probablemente nunca habrá un libro igual de profundo sobre Quake/i586.

Recompilar juegos antiguos y gestionar toolchains

  • Recompilar juegos antiguos puede ser sorprendentemente viable cuando las toolchains y dependencias originales vienen incluidas (por ejemplo, proyectos de Visual Studio 6).
  • Otros informan lo contrario: enormes dificultades compilando ciertos títulos y mods antiguos (por ejemplo, motores complejos, mods viejos de Minecraft).
  • Algunos dicen que los proyectos comerciales/incrustados a menudo empaquetan dependencias y fijan toolchains, haciendo que las compilaciones sean reproducibles.
  • Debate sobre motores modernos: Unity/Unreal a menudo solo requieren la versión correcta del motor; Unity no se actualiza automáticamente y las versiones antiguas siguen disponibles.

IDEs de la era Borland, manuales y TUI

  • Fuerte nostalgia por los IDEs de Turbo C/C++/Pascal: pequeños, rápidos, con depurador integrado y una ayuda/tutoriales incorporados excelentes.
  • Los manuales impresos y la documentación dentro del IDE se consideraban material de aprendizaje excelente.
  • Las interfaces en modo texto con atajos de teclado se recuerdan como extremadamente rápidas; algunos quieren que resurjan TUI modernas de alta resolución.
  • Free Pascal y RHIDE se citan como ecos modernos; se señalan las limitaciones de los terminales Unix.

Gráficos antiguos vs modernos y “simple vs fácil”

  • Los entornos antiguos hacían trivial dibujar formas y animaciones simples; los usuarios echan de menos poder “llamar a circle” sin aprender pilas complejas (OpenGL, SFML, motores).
  • Algunos argumentan que el 2D moderno es estructuralmente más simple debido a texturas/superficies y canalizaciones de GPU, pero menos accesible para principiantes.
  • Una larga crítica contrapone las capas modernas “fáciles” (shaders de GPU, pilas web, microservicios) con la sensación “simple” del acceso directo al hardware y los runtimes todo-en-uno; se afirma que la productividad personal era mayor en el pasado.
  • Otros responden que las microarquitecturas modernas están en gran medida cableadas; el hardware totalmente reconfigurable por microcódigo no es cómo funcionan las CPU/GPU actuales.

Enseñar a niños y entornos para principiantes

  • Debate sobre el mejor paso después de Scratch: candidatos incluyen PICO-8, sistemas tipo BASIC/Pascal, Logo/gráficos de tortuga, Processing, canvas de JavaScript, p5.js, FreeBASIC, Python, Godot, modding de Minecraft y apps móviles de Python.
  • Tensión entre herramientas “para niños” y el uso de herramientas profesionales “reales” para motivar.
  • Se da una breve explicación de ámbito dinámico vs léxico usando un ejemplo simple de función/variable.

Notas técnicas misceláneas y nostalgia

  • Un usuario tuvo problemas descargando el zip fuente con curl por culpa de redirecciones; wget o curl -L funcionan.
  • SDL2 se describe como una capa multiplataforma delgada que usa por debajo APIs nativas de geometría de GPU; también se recomiendan raylib y SFML.
  • Fuerte nostalgia por los disquetes, los discos duros diminutos, el “olor” de las máquinas antiguas, las UIs de texto de DOS y herramientas como Midnight Commander como sustitutos modernos.