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