Show HN: 我花了 3 年时间,逆向工程一款 1986 年开发的拥有 40 年历史的股市模拟游戏
Hacker News 摘要原标题:Show HN: I spent 3 years reverse-engineering a 40 yo stock market sim from 1986
无法被攻克的巨龙
数十年来,多方势力曾试图重新开发一款名为 Wall Street Raider 的股票市场模拟游戏,但都以失败告终。丹佛的一家法律软件公司失败了,一家曾为迪士尼制作软件的游戏工作室在耗时一年、投入数十万美元并聘请数学博士和亚美尼亚程序员团队后也失败了。甚至连康 Commodore 计算机公司在研究源代码三个月后也选择了放弃。
这款游戏曾被认为是一个不可能的物体。它的逻辑异常复杂,连开发者本人都承认部分内容难以理解。代码使用原始的编程语言编写,专业开发人员根本无法解码。在近四十年的时间里,它一直处于一种孤立的状态。
直到2024年1月,一名来自俄亥俄州的29岁软件开发人员 Ben Ward 发出了一封电子邮件。现年81岁的游戏创作者 Michael Jenkins 最初并没抱太大希望,但他还是交出了源代码。一年后,这款被誉为史上最全面的金融模拟器终于迎来了新生。
哈佛法学院的笔记本
1967年,Michael Jenkins 在哈佛法学院就读时并没有专心听讲,而是在笔记本上构思一款棋盘游戏。他想做的不只是大富翁,而是一个可以买卖公司、发行股票、执行合并和杠杆收购的复杂系统。他希望模拟美国资本主义的整个运作机制,包括敌意收购和税务会计。
但在当时,这在现实中是无法实现的,因为计算量太大,没有人有耐心通过手工计算来完成。Jenkins 只能等待个人电脑的出现。在此期间,他毕业成为了一名经济学家、注册会计师和税务律师,处理着价值数十亿美元的并购案。
第一行代码与午夜疯狂
1983年,Jenkins 买了一台 Kaypro 个人电脑。他通过比尔·盖茨编写的微软 Basic 指南自学编程。在第一个晚上,当他在屏幕上成功打出 HELLO 时,他意识到这并非遥不可及。
Jenkins 陷入了长达四十年的痴迷。他在凌晨三点的理性爆发中编写了游戏最复杂的部分。为了确保合并逻辑、债权人利益、期权仓位、利率掉期和税务影响能够正确处理,他常常通宵达旦。他担心如果去睡觉,第二天就会忘记这些复杂的逻辑。
最终,代码量达到了 115,000 行 BASIC 代码。虽然代码结构在专业人士看来非常原始且不规范,但其逻辑却异常严密。
模拟市场的巨兽
从1986年从法律界退休到2020年,Jenkins 一直独自维护这款游戏。原本的棋盘游戏构想变成了一个庞大的系统,包含:
• 1600 家模拟公司,每家都有独立的财务数据。
• 涵盖股票、债券、看跌期权、看涨期权、期货、利率掉期、衍生品、ETF 和加密货币。
• 基于真实美国国税局法规的合并税务会计系统。
• 可切换的反垄断法规,甚至有追踪道德违规的因果报应系统。
• 一份长达 271 页 的详细说明书。
玩家们将这款游戏称为股票市场里的 Dwarf Fortress(矮人要塞)。它的深度如此之高,以至于有些玩家发现了利用漏洞赚取数万亿的方法,而 Jenkins 就像国税局一样不断修补漏洞,使代码层层堆叠,变得愈发不可逾越。
改变现实生活的模拟器
这款游戏不仅仅是娱乐,它意外地成为了高效的金融教育工具。Jenkins 收到了来自世界各地的感谢信:
• 一名菲律宾玩家通过玩试玩版自学金融,最终在上海的摩根士丹利担任外汇交易员。
• 一名对冲基金经理通过应用游戏中的低市盈率公司逆转策略,在十年间实现了 44% 的年复合增长率。
• 超过 200 名首席执行官和投资银行家表示,这款游戏塑造了他们的职业生涯。
选中的开发者与分层策略
Ben Ward 发现了这款游戏并意识到其惊人的深度。他是一名有着 ADHD 的开发者,曾成功将1976年的文本冒险游戏移植到现代平台。他向 Jenkins 提出了一个大胆的方案。
过去那些失败的团队总是试图用 C++ 完全重写代码,但由于缺乏对金融、法律和税务的深厚理解,他们无法还原复杂的模拟逻辑。Ward 的见解是:不要重写,而是分层。
他保留了 Jenkins 原有的 BASIC 引擎,但在其上包裹了一个现代化的接口。这种方法类似于企业更新旧系统,既保留了经过数十年测试的核心逻辑,又提供了类似 Bloomberg 终端 的现代操作体验。
传承与未来
为了帮助 Ward,Jenkins 在短短三天内手工重命名了代码库中所有的变量,使其更易于阅读。两人仅通过一次视频通话和数封邮件,就建立起了跨越50岁年龄差的信任。
目前,Wall Street Raider Remastered 已经在 Steam 上架。它拥有全新的用户体验,包括:
1. 基于原版手册的搜索系统。
2. 引导新玩家的入门教程。
3. 上下文工具提示。
4. 如同真实金融终端一样的快捷键操作。
Jenkins 表示,这是他保护这段游戏历史的最后努力,并将火炬传递给了 Ward。这款经历了近60年沉淀、从哈佛宿舍纸笔构思演变成现代软件的作品,终于通过 Steam 得以永久保存,不再依赖于某一个人的维护。