1 分•作者: daniel_rh•大约 21 小时前
2015年,我在DOSBox中玩经典的《战神》(Wing Commander),突然意识到游戏的运行状态竟然可以装进64KB的数据段里。 我和我哥哥花了十多年的时间进行了一系列实验(停止与前进、转向、通信),同时探测内存。我们找到了变量的位置,学会了如何将调用注入游戏函数,以及如何在网络上同步游戏状态,这样我们就可以一起进行剧情任务了。 我最喜欢的发现是:摄像机位于实体槽0x3D,这可能是原始开发者对“3D”的引用。 你可以在浏览器中访问 [https://fireflyk64.github.io/dosbox](https://fireflyk64.github.io/dosbox) 玩。如果你拥有《战神》,请拖入安装程序,因为这里不托管任何游戏文件。如果你没有,页面将加载Vega Strike的原始DOS/3Dfx版本,在我开源它之前。我使用AI对DOS版Vega Strike的艺术进行了放大和重制,但现在它支持多人游戏,并且感觉很相似。 接下来的几个小时我会在大厅,如果你想一起玩的话。 披露:我还使用了AI来完成最后一步,帮助编译到浏览器,并将我们的TCP网络堆栈移植到WebRTC,支持语音,并修复了一些遗留的bug。