红警,准确的说应该叫“红色警戒”,是大部分 80 后记忆里跟游戏二字关系最深的情节。相信每一名 80 后,都有一段难忘的红警岁月,甚至可以说很多人的青春,就叫红警!
图片来自 Pexels
最近,有网友在 Github 上发现,EA 悄悄的将红警 1 代源码公开。顿时唤起了无数人的童年回忆。
01.EA 部分开源红警啦!
5 月 27 日,知名游戏公司 EA 在 GitHub 上搞了个大新闻,把《命令与征服》系列中的 2 个游戏的部分源码开源了!
这两个游戏分别是:Tiberian Dawn(泰伯利亚的黎明) 和 Red Alert(红色警戒)。
开源地址:
https://github.com/electronicarts/CnC_Remastered_Collection
《命令与征服》系列是西木工作室(Westwood Studios)的招牌作品。1998 年,EA 收购了西木。
02.满满的回忆:红色警戒
说到红色警戒游戏,可能很多 80 后和 90 后可能想到的是这款了:
或者:
大概在 2000 年之后,星际和红警都在网吧必装游戏之列。(PS:有些可能安装的是红警共和国之辉,这是第三方开发的 MOD,不是官方作品。)
我们宿舍有个游戏大佬,带我们认识过 XBOX。其他人玩红警,基本受他影响带入坑的,宿舍内部联机,或者拉网线和隔壁宿舍对战。
哈哈哈,联机当然也包括了 CS 或魔兽了……往事不堪回首!
03.西木工作室的 C++ 代码
网友评论:这也太规范了吧
其实这次 EA 开源的红警,是在 1996 年 10 月 31 日正式发布的第一代红警。
游戏截图
红警 1 的启动程序名为 RA95.exe,因此在国内也有很多叫「红警 95」。
此次开源,并不涉及游戏素材和游戏引擎,只包括 TiberianDawn.DLL 和 RedAlert.dll 的源码,允许 Mod 社区更好的改变游戏行为。6 月 5 日,这两款游戏发布重制版。
命令与征服系列游戏是 C++ 实现,代码非常规范,注释清晰,让人折服。
比如:飞行器的源文件,所有函数的功能,已全部放源文件头部列举清楚。
下面是飞行器找新降落点的函数,函数功能、输入、输出、代码修改历史都写的非常清楚。
我们在微博发出后,除了 “赏心悦目”、“秀色可餐”、“太规范” 的剪短评价外,
还有:
观摩学习地址:
- https://github.com/electronicarts/CnC_Remastered_Collection
也有童鞋好奇了,为啥前面「游戏截图」那么清晰?答:因为这是我从官网扒的这 2 款的重制版高清图。
再贴几张:
小测试:我是先玩红警 2,后来才玩红警 1。如果你也是红警 2 的老玩家,下面这些英文,应该能自动脑补音效吧
- On my way.
- I have the tools.
- Unit ready.
- Tech building lost.
- Construction complete.
上面这 5 个,分别是什么操作,或什么游戏单元触发的?欢迎老玩家答题。
编辑:陶家龙
出处:转载自微信公众号程序员的那些事(id:iProgrammer)