TwKit
正在载入
TwKit

一个看不懂汇编的人,把 24 年前一款没有源码的游戏,搬进了手机浏览器。 《战地 1942》,2002 年的。 现在 iPhone、安卓打开网页就能玩,最多… · @tvytlx · TwKit

@tvytlx

一个看不懂汇编的人,把 24 年前一款没有源码的游戏,搬进了手机浏览器。 《战地 1942》,2002 年的。 现在 iPhone、安卓打开网页就能玩,最多 64 人联机。 干这事的是独立开发者 levelsio。 他之前也把 Quake、DOOM 搬上过网页,但那俩早就有一堆开源项目垫着。 战地 1942 什么都没有:官方从没开源,没有开源引擎,也没人移植过。 手里只有编译好的程序。 半年前他试过一次,放弃了。 这次换了 Opus 5.5,在 Claude Code 里开头就一句话: "能不能把这个文件夹里的 BF1942 demo 移植到网页" 然后它干了这些: 把 x86 机器码反汇编,扒出 5.7 万个函数 每个函数翻成 C,一共 10 万行 用 Emscripten 编译成 WebAssembly 游戏里用到的 300 来个 Windows 和 Direct3D 接口,重写成 WebGL 再自己搭一套网络层,走 WebSocket 连联机服务器 这个哥们原话是:mov eax, [esi+0x110] 变成了 eax = READ32(esi + 0x110),顺便说下,我完全不知道这是啥意思。 我写了这么多年代码,看到这个清单还是愣了一下。 后面两天更离谱。 从 demo 升到了 2004 年的 1.61 版。 挂成了官方服务器,当年的原版客户端和浏览器里的玩家,在同一张地图里对枪。 这游戏的官方联机,2014 年 GameSpy 关服就没了。 我觉得这事真正的信号是: "没有源码"这把锁,开始松了。 以前闭源软件很大一部分安全感,来自逆向太贵。 把一堆机器码还原成能跑、能改的代码,是极少数逆向高手熬很久的活。 现在一个看不懂汇编的人,一天就跑起来了。 全世界有大量公司还跑着源码早就丢了的老系统,没人敢碰,这里面的活很大。 反过来,靠"二进制没人看得懂"护着的东西,墙会越来越薄。版权这块接下来估计挺热闹。 当然也别想太远。 这是一款 20 多年前的游戏,体量小。竖屏会把手臂和载具内部切掉,飞机他自己到现在都没搞明白怎么开。 现代大作动辄上百 GB,还带一堆保护,难度差得远。 但半年前,它连这个都做不到。 我准备回家把抽屉里那摞老游戏光盘翻出来了。 以前觉得是占地方的破烂,现在看每张都像一个还没开工的项目。 https://x.com/levelsio/status/2118117357172191242

曝光 136 · 评论 2 · 点赞 1 · 书签 0

查看原帖