前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >红警代码20年就开源了!为啥最近又火了?

红警代码20年就开源了!为啥最近又火了?

作者头像
程序员小义
发布2024-04-10 15:59:59
1520
发布2024-04-10 15:59:59
举报
文章被收录于专栏:小义思

最近不少公众号,甚至是大V都在转发红警代码开源的文章,有的是23年6月份就说这事了,有的是这几天发布的,而文章内容大都有这么一词,“最近”,也就是红警代码开源的时间。小义就纳闷了,红警95版代码2020年的时候不就开源了吗?难道又开源其他东西了,仔细核查才发现是同一件事,互联网果然是没有记忆的,以前的热点现在拿出来炒也很香。

红色警戒,是当年西木头(WestWood)打造的爆款即时战略游戏之一,可以说是很多80后90后的回忆。在零几年网吧还火遍大江南北的时候,红警也是网吧必装游戏之一。那时候去网吧,一眼望去一半以上机子都是红警画面。猜猜下面这版本的红警全名叫什么?

在2020年6月份的时候, GitHub Trending榜单,有个项目偷偷爬上了热榜的位置,它就是:CnC_Remastered_Collection。里面存放的,就有国外知名电子游戏公司 Electronic Arts所开源的经典游戏代码:Red Alert(红色警戒)。项目地址https://github.com/electronicarts/CnC_Remastered_Collection,具体代码见Red Alert文件夹。

这款游戏主要是用 C++ 写的,随便打开一个文件,都可以发现其代码之整齐,注释之详细,方法之巧妙,让人不得不佩服。

代码语言:javascript
复制
/***********************************************************************************************
 * AircraftTypeClass::From_Name -- Converts an ASCII name into an aircraft type number.        *
 *                                                                                             *
 *    This routine is used to convert an ASCII representation of an aircraft into the          *
 *    matching aircraft type number. This is used by the scenario INI reader code.             *
 *                                                                                             *
 * INPUT:   name  -- Pointer to ASCII name to translate.                                       *
 *                                                                                             *
 * OUTPUT:  Returns the aircraft type number that matches the ASCII name provided. If no       *
 *          match could be found, then AIRCRAFT_NONE is returned.                              *
 *                                                                                             *
 * WARNINGS:   none                                                                            *
 *                                                                                             *
 * HISTORY:                                                                                    *
 *   07/26/1994 JLB : Created.                                                                 *
 *=============================================================================================*/
AircraftType AircraftTypeClass::From_Name(char const * name)
{
  if (name != NULL) {
    for (int classid = AIRCRAFT_FIRST; classid < AIRCRAFT_COUNT; classid++) {
      if (stricmp(As_Reference((AircraftType)classid).IniName, name) == 0) {
        return(AircraftType)classid;
      }
    }
  }
  return(AIRCRAFT_NONE);
}

当然,当时开源的红警1代码也只是一部分,是为了允许 Mod 社区更好的改变游戏行为,从而帮助EA公司发布这款游戏的重置版。当时还有不少人爆料之所以红警2不开源是因为西木头工作室被EA收购了之后红警2的源码没人保管造成了丢失,不得不说是一个遗憾。

让我们再把时间拉回到现在,相信不少人还是不知道红警1代码开源,所以才会有不少公众号断章取义,盲目跟风报道,不过只要打开git项目地址就可以发现端倪。虽然是炒冷饭,4年前的事还要拿到现在来说,但小义也希望能够有更多人关注这个事情,共同回忆我们这一代人的青春。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-01-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员小义 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档