2048 (游戏)

《2048》是一款单人滑块类游戏，由意大利网络开发者加布里埃莱·奇鲁利（Gabriele Cirulli）编写，并在GitHub上发布。游戏的目标是在网格上让相同的数值的方块碰撞合并，最终取得数值为2048的方块；在达成目标后，玩家可以继续游戏，创造出更大数值的方块。作者花费一个周末，使用JavaScript和CSS编写了这款游戏，于2014年3月9日将其作为自由及开放源代码软件发布，采用MIT许可证。iOS和Android版本随后于2014年5月发布。

《2048》在两款《Threes!》仿制游戏的基础上做了改进，实际上借鉴了《Threes!》的概念。与2013年《Flappy Bird》变体泛滥的情况类似，《2048》发行后也有众多变体游戏涌现。游戏受到评论家的普遍好评，同时被称“如病毒般传播”。但《Threes!》的创作者们对此表示不满。由于《2048》的数学性质，众多人工智能研究者对该游戏做了研究。

## 玩法

<image>

《2048》在4×4的网格上进行。玩家可以使用上、下、左、右四个方向键移动所有方块。但在部分情形下，不可向某些方向移动。游戏开始时，网格上会出现两个数值为2或4的方块。每次移动后，另一个数值为2或4的新方块会随机出现在空方格上。方块会沿着指定的方向滑动，直到被其它方块或网格边缘阻挡。如果两个相同数值的方块碰撞，它们将合并成一个方块，其数值等于两个方块的数值之和。如果三个数值相同的方块碰撞，则只会合并靠近终点方向的两个方块，距起点最近的方块的数值不变。若一行或一列中的方块数值均相同，则沿着该行或该列滑动会合并前两个和后两个方块。在同一移动过程中，新生成的方块不能再与其他方块合并。数值较高的方块会发出柔和的光芒；但随着得分增加，光芒会不断变暗。方块数值都是2的幂，最大为131072。界面右上方的记分牌会记录玩家的分数。玩家的初始分数为零，每当两个方块合并时，分数会增加，得分取决于合并后方块的数值。

玩家取得胜利的条件是获得数值为2048的方块。达到这一目标后，玩家可以继续游戏，以获得更高的分数。当玩家没有合法的移动方法时，即出现了网格上没有空方格，且相邻方块的数值均不相同的情况，游戏就直接结束。

### 策略

《2048》的一种策略是将最大数值的方块保持在特定的角落，并且尽量避免移动它。对于其他方块，应尽可能让相邻方块的数字大小接近，并按照数字大小的线性顺序排列方块，以形成蛇形或是直角形。此外，尽量选择能够合并多个方块的移动方式。

## 开发

19岁的加布里埃莱·奇鲁利（Gabriele Cirulli）在博客中自称，在开发游戏之前，他沉迷于《1024!》和《2048》这两款游戏。其中，《1024!》由位于北京的Veewo Studio开发，是《Threes!》的仿品，其App Store的描述曾写着“无需为《Threes!》付费”；《2048》由Saming开发，是《1024!》的仿品，与奇鲁利开发的游戏同名，但在机制上略有不同。奇鲁利在《2048》的自述文件中提到，他的游戏基于Saming开发的《2048》。随后，为了“创建自己的版本”，并想要测试自己是否能从零开始编写一款游戏，他用了一个周末制作出了这款游戏，并于2014年3月9日在GitHub上发布，采用MIT许可证开源。他认为他制作的游戏结合了先前两款游戏的功能，因此起名为“2048”。他说：“这是打发时间的一种方式。”并称其与最近发布的iOS游戏《Threes!》“在概念上相似”，是《1024!》的仿制游戏。但《2048》对《1024!》的美术风格和游戏玩法做了一些改良。

这一周末项目在一周内就获得了超过400万的访问量，奇鲁利对此感到惊讶。奇鲁利表示他不愿意从其他人创造的概念中赚钱，因此游戏免费。他在博客中称，最初虽考虑开发移动端的应用程序，但因没有经验作罢；在Ketchapp开发移动版《2048》后，他后悔浪费了这个机会，并决定开发移动版应用。2014年5月，他发布了iOS和Android移植版本。

### 改编

<image>

《2048》控制方式简单，因此它能够在MYO手势控制手环的推广视频中使用，且由于源代码开放，它还可以作为编程教学辅助工具使用。在2014年的Matlab Central Exchange编程比赛中，获得第二名的是可以自动游玩《2048》的人工智能系统。其他人为原始游戏添加了许多内容，包括得分排行榜、撤销功能，以及对触摸屏操作的适配等。

《2048》的衍生版本已在网上发布，例如包含Doge表情包、《神秘博士》、《Flappy Bird》和《俄罗斯方块》元素的版本，以及3D版和网格大小不同的版本。奇鲁利将这些衍生作品视为“开源软件之美的一部分”，并且“只要它们在原始游戏上做出了新的、创造性的修改”，就不会反对。2014年，Ketchapp在iOS应用商店中发布了该游戏的非官方仿品，并通过广告获利。游戏还有《神秘博士》的衍生版本。任天堂3DS的eShop上也有一个仿品，由Cosmigo在2014年6月19日发行。

## 反响

《华尔街日报》形容这款游戏是“专为数学极客准备的《糖果传奇》”，而《商业内幕》则将其视为“《Threes!》的升级版”。《华盛顿邮报》的凯特琳·杜威（Caitlin Dewey）称其为“一款让人上瘾的、极简主义的、让人懊恼的游戏”，同时英国的《独立报》认为它“极富吸引力”。《洛杉矶时报》的评论家将《2048》发布后的现象与《Flappy Bird》相提并论。这两款游戏都取得了巨大成功，其简单易上手的操作方式导致许多衍生游戏迅速涌现。它们都“如病毒般传播”，且“非常容易让人着迷”。虎嗅网也称，“《2048》是一款现象级的游戏，其在全球的风靡程度甚至超越了《Flappy Bird》”。然而，《Flappy Bird》的迅速爆红给创作者阮河东带来了巨大的压力，因此他随即决定将游戏下架。当奇鲁利被问及是否可能会遇到类似的情况时，他表示，尽管《2048》的规模远不及《Flappy Bird》，但他已经“经历了这个阶段”；并且一旦决定不在这款游戏上盈利，他就“不再感到尴尬”。

《独立报》的James Vincent将《2048》称为“仿品的再仿品”。面对广泛的模仿现象，《Threes!》的创作者们在游戏官网发表了一份约45000字的声明，并附上了游戏在14个月中的开发日志。在声明中，他们透露曾尝试过《2048》的方块合并玩法，但最终决定不采用，因为这样会使游戏变得过于简单。他们也声称，《2048》太容易通关，是一款“失败的游戏”；而《Threes!》的设计目的是“持续数月，甚至数年”。虎嗅网的评论认为，《2048》比《Threes!》更加简单，而这正是它的优势，玩家可以在碎片时间里游玩。同时，评论中也提到，《Threes!》不敌《2048》，很大程度上是设计及定价的问题。

## 人工智能

《2048》的数学性质使其成为人工智能研究者感兴趣的游戏。截至2022年，人工智能就有超过95%（可能超过98%，但测量存在噪声）的概率合成数值为16384的方块，超过75%（可能超过80%）的概率合成数值为32768的方块，并且超过3%的概率合成数值为65536的方块（相比于之前的研究结果有所提升）。由于游戏的随机性，以及空余空间的缺乏，合成数值为65536的方块的最佳概率预计会较低；这也印证了受限棋盘的最优解。

《2048》的AI策略使用期望最小最大算法搜索到指定的深度，并使用换位表以避免重复。与终局数据库类似，换位表可用于估计很多数值较大的方块在合适的位置上时成功的概率（即构建数值足够大的方块，同时不破坏方块的布局）。位置评估函数会优先选择空方格，倾向于选择有更多合并可能性的移动方式，并尽量将较大的方块放置在边缘，同时会考虑方块大小的单调性，尤其是数值较大的方块。一些论文使用了时序差分学习。

## 基本资料

- 头衔：2048
- 开发者：加布里埃莱·奇鲁利（Gabriele Cirulli）
- 出版社：Solebon llc、Cosmigo（3DS）
- 发行日期：网页iOS、Android任天堂3DS
- 类型：益智
- 模式：单人