查看原文
其他

红警1 游戏开源,代码非常规范。网友:秀色可餐

The following article is from 程序员的那些事 Author 程序员的那些事

(给算法爱好者加星标,修炼编程内功

来源:程序员的那些事(id:iProgrammer)

最后有一个小测试!测测你是不是红警老玩家


EA 部分开源红警啦!


5 月 27 日,知名游戏公司 EA 在 GitHub 上搞了个大新闻,把《命令与征服》系列中的 2 个游戏的部分源码开源了!


这两个游戏分别是:Tiberian Dawn(泰伯利亚的黎明) 和 Red Alert(红色警戒)。


https://github.com/electronicarts/CnC_Remastered_Collection


《命令与征服》系列是西木工作室(Westwood Studios)的招牌作品。1998 年,EA 收购了西木。



满满的回忆:红色警戒


说到红色警戒游戏,可能很多 80 后和 90 后可能想到的是这款了:



或者:


大概在 2000 年之后,星际和红警都在网吧必装游戏之列。(PS:有些可能安装的是红警共和国之辉,这是第三方开发的 MOD,不是官方作品。)


我们宿舍有个游戏大佬,带我们认识过 XBOX。其他人玩红警,基本受他影响带入坑的,宿舍内部联机,或者拉网线和隔壁宿舍对战。


哈哈哈,联机当然也包括了CS或魔兽了……往事不堪回首!  



西木工作室的 C++ 代码,网友:这也太规范了吧


其实这次 EA 开源的红警,是在 1996 年 10 月 31 日正式发布的第一代红警。


( 游戏截图)


红警1 的启动程序名为 RA95.exe,因此在国内也有很多叫「红警95」。


此次开源,并不涉及游戏素材和游戏引擎,只包括 TiberianDawn.DLL 和 RedAlert.dll 的源码,允许 Mod 社区更好的改变游戏行为。6 月 5 日,这两款游戏发布重制版。


命令与征服系列游戏是 C++ 实现,代码非常规范,注释清晰,让人折服。


比如:飞行器的源文件,所有函数的功能,已全部放源文件头部列举清楚。



下面是飞行器找新降落点的函数,函数功能、输入、输出、代码修改历史都写的非常清楚。



我们在微博发出后,除了 “赏心悦目”、“秀色可餐”、“太规范” 的剪短评价外,


还有:



观摩学习地址:

https://github.com/electronicarts/CnC_Remastered_Collection


此外:《红警1》和《泰伯利亚的黎明》网上有第三方做的开源版,用 C# 重写的,支持 Widows、macOS、Linux 和 *BSD 系统。


链接:

https://github.com/OpenRA/OpenRA/releases




也有童鞋好奇了,为啥前面「游戏截图」那么清晰?


答:因为这是我从官网扒的这 2 款的重制版高清图。再贴几张:



小测试:


我是先玩红警2,后来才玩红警1。如果你也是红警2的老玩家,下面这些英文,应该能自动脑补音效吧 


  1. On my way.

  2. I have the tools.

  3. Unit ready.

  4. Tech building lost.

  5. Construction complete.


上面这 5 个,分别是什么操作,或什么游戏单元触发的?欢迎老玩家答题。



- EOF -




推荐阅读  点击标题可跳转

1、益智游戏克星:BFS 暴力搜索算法

2、13 年来,我写了这些糟糕的游戏代码

3、游戏中的敏感词过滤算法如何实现的?


觉得本文有帮助?请分享给更多人

关注「算法爱好者」加星标,修炼编程内功

好文章,我在看❤️

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存