像 1992 年那样编译吧 (2014)

围绕 90 年代初 PC 开发的怀旧情绪贯穿了这场讨论,导火索是一篇关于用 Borland C++ 和小巧自包含工具链重建 Wolfenstein 3D 的文章。评论者将当年安装一个 IDE 就能立刻画图或编译整款游戏的轻松,与今天沉重的生态、依赖关系和复杂图形栈形成对比。大家还分享了重新编译经典作品的经历,推荐了 Fabien Sanglard 关于 Wolfenstein 和 Doom 引擎的书,并争论如何为孩子提供同样易于上手的编程与游戏制作环境。

对 90 年代初游戏开发和书籍的怀旧

  • 许多人还记得早期 PC 游戏(例如 Wolfenstein/Doom 时代)既有趣又鼓舞人心:小团队创造出开创性的作品。
  • 关于 Wolfenstein 3D 和 Doom 的游戏引擎“黑书”系列广受好评,因为它把历史、底层技巧和清晰的技术讲解结合在一起。
  • 有些人惋惜,像 Quake/i586 这样深度的书很可能再也不会有了。

重新编译老游戏与管理工具链

  • 如果原始工具链和依赖都被打包好了,重建较老的游戏会出人意料地可行(例如 Visual Studio 6 项目)。
  • 也有人报告相反的经历:编译某些更老的作品和模组会遇到巨大困难(例如复杂引擎、旧的 Minecraft mod)。
  • 有人说商业/嵌入式项目通常会内置依赖并锁定工具链,从而使构建可复现。
  • 关于现代引擎也有讨论:Unity/Unreal 通常只需要正确的引擎版本;Unity 不会自动更新,旧版本仍然可用。

Borland 时代的 IDE、手册和 TUI

  • 对 Turbo C/C++/Pascal IDE 的怀旧之情非常强烈:体积小、速度快,集成调试器很好用,内置帮助和教程也很棒。
  • 纸质手册和 IDE 内文档被认为是极好的学习材料。
  • 文本模式界面配合键盘快捷键被记得极其高效;有人希望现代高分辨率 TUI 复兴。
  • Free Pascal 和 RHIDE 被提为现代风格的回声;也提到了 Unix 终端的若干限制。

旧图形与现代图形,以及“简单”与“容易”

  • 旧环境让绘制形状和简单动画变得极其轻松;用户怀念那种无需学习复杂栈(OpenGL、SFML、引擎)就能“直接调用 circle”的感觉。
  • 有人认为现代 2D 其实在结构上更简单,因为有纹理/表面和 GPU 管线,但对初学者不那么友好。
  • 一段长评论对比了现代“容易”的层(GPU 着色器、Web 栈、微服务)与直接硬件访问和一体化运行时所带来的“简单”感;并声称过去个人生产力更高。
  • 其他人回应说,现代微架构在很大程度上是硬连线的;完全可由微码重配置的硬件并不是当前 CPU/GPU 的工作方式。

教孩子与初学者环境

  • 讨论 Scratch 之后最好的下一步是什么:候选包括 PICO-8、类似 BASIC/Pascal 的系统、Logo/海龟图形、Processing、JavaScript canvas、p5.js、FreeBASIC、Python、Godot、Minecraft modding,以及移动端 Python 应用。
  • “给孩子用的工具”与“直接用真正的专业工具”之间存在张力,后者被认为更能激发动力。
  • 还给出了一个用简单函数/变量示例解释动态作用域与词法作用域的简短说明。

其他技术笔记与怀旧

  • 有用户用 curl 下载源码 zip 时因为重定向遇到问题;wgetcurl -L 可以工作。
  • SDL2 被描述为一个薄的跨平台层,其底层使用原生 GPU 几何 API;同时也推荐了 raylib 和 SFML。
  • 对软盘、小硬盘、老机器的“气味”、DOS 文本界面以及 Midnight Commander 等工具有强烈怀旧;它们被视为现代替代品。