70亿人 | |||||||
![]() | |||||||
原名 | 7 Billion Humans | ||||||
常用译名 | 70亿人 | ||||||
类型 | 解谜、编程 | ||||||
平台 | Microsoft Windows | ||||||
分级 |
| ||||||
开发 | Tomorrow Corporation | ||||||
发行 | Tomorrow Corporation | ||||||
制作人 | Kyle Gabler Kyle Gray Allan Blomquist | ||||||
模式 | 单人 | ||||||
发行时间 | Microsoft Windows、MacOS、Linux:2018年8月23日 Nintendo Switch:2018年10月25日 | ||||||
相关作品 | 前作:人力资源机器 |
《70亿人》(英语:7 Billion Humans)是由Tomorrow Corporation开发并发行的一款可视化编程游戏。2018年8月23日发布于Windows、MacOS、Linux平台,之后游戏被移植至iOS、Android、Nintendo Switch等平台。
简介
与前作人力资源机器一样,玩家的任务仍然是编程移动小人解决任务。通常这些任务包括对一些带有数据的方块进行处理。不同于前作,本作中玩家将操作多个小人,而他们连走路都不会了!在游戏中期解锁“记忆体”(Memory)之前,小人的每一步都需要玩家使用“行走”(step
)指令完成。本作终于引入了if
语句,同时编程界面有所调整,看上去更像Scratch。但是,饱受诟病并大大提高游戏难度的jump
却依然保留(for、while等循环语句并未引入),另外一方面游戏后期又提供了“巡视”(forEachDir
)这个功能受限的遍历语法和小人之间的消息传递,使得本作的代码风格独树一帜,介于汇编语言和高级语言之间,又掺入了移动角色等类似于Scratch的要素。
本作相较于前作有更多的关卡,许多关卡的BGM也是前作BGM的remix。
指令系统
本作存在下列指令。在程序开始时,所有角色都会执行相同的指令,但是由于每个小人周围的环境和状态不同,他们很快会分道扬镳。
- 行走(step):朝周围方向(上下左右、左上左下右上右下)行走一格。如果选中多个方向,则朝着随机方向行走一格。也可以用“最接近的(nearest)”指令走到对应位置。
- 拿起(pickup):让小人从自己所在的位置拿起一样物品。如果这个位置为空,操作会被自动忽略。
- 取自(takefrom):可以从打印机取出物品,也可以取自己周围地上的数字方块,也可以截取周围工人手里的数字方块。如果目标位置没有数字方块,这个操作会被忽略。
- 交给(giveto):将手里的物品交给粉碎机或者其他工人,如果手里没有物品,交给其他工人的操作会被忽略。如果两手空空交给粉碎机那么就会自己跳进粉碎机把自己粉碎掉!
- 放下(drop):放下手里的物品,如果这个位置有数字方块/打印机/粉碎机,这个操作也会被忽略。
- 写下(write):在数字方块中写下记忆体中的数值,可以超过0~99的范围。
- 设置为(set):将一个对象存入记忆体,可以是数值(立即数,只能是0~99的整数),也可以是数字方块、工人、粉碎机等物。
- 最接近的(nearest):自动将最接近这个小人的特定对象的位置存入记忆体,这个对象可以是洞、数字方块、其他小人、粉碎机、打印机或者按钮(按钮仅在最后几关出现,用于控制数字显示器)。
- 计算(calc):在记忆体中进行数值运算,只有加减乘除运算,运算结果可以不局限于0~99允许算出很大的数,但是数字位数太多的话根本看不清,运算结果会需要存入记忆体。
- 告诉(tell):对特定工人说话,也可以对所有人说话。
- 聆听(listen):等待听到有人对自己说特定的话,再进行后面的操作,否则一直等待。
- 如果(if):用于条件判断,多个判断条件之间可以用“和”或“或”连接,类似于高级程序语言的and和or[1]
- 终止(end):小人接到终止指令后,本局游戏的剩余时间内不会再进行任何操作。
- 巡视(foreachdir[2]):让小人扫描自己周围8个格子的状态(可以是空、粉碎机、打印机、其他小人、墙壁、洞、数字方块连同其上的数字等),存入记忆体遍历。
新元素
相比于前作,本作引入了不少新的游戏元素:
小人操纵
本作中玩家将操作多个小人,编写的程序将同步到所有小人,但他们的运行状态相互独立(也即多线程),也没有“全局变量”之类的功能。不同于前作,小人的移动需要玩家编程。此外,小人之间可以传递数据方块。
地图结构
本作中不再有固定的输入、输出、存储位置,游戏的范围扩展到了整个房间,画面也更为卡通。
- 墙壁
- 普通地面(无/nothing):每一格都可以放置一个数据方块。
- 打印机:绿色的盒子,上方总是有一个方块,上面印有0~99的随机数。可以使用“取自”(
takeFrom
)指令取出一个方块。每当取走一个方块,打印机紧接着会再产生一个新方块供下次取用。 - 粉碎机:红色的盒子,上方是锯齿状的洞。可以使用“交给”(
giveTo
)指令把手上的方块送进粉碎机,该方块立即被粉碎。 - 洞:无尽的深渊。走进它的小人会被连人带方块立即彻底销毁。
- 杀手机器人(killbot):在某些关卡中出现,如果工人走到killbot的位置就会被刺死。
数据方块随机跳变
许多关卡中,摆放在地上的数据方块的数据会一直随机变化,直到程序开始执行才会停止变化。这种机制使得直接找出答案(例如求最大值时,直接一眼看出最大值的位置而不使用程序寻找)的策略完全不可行,也在一定程度上增加了难度。
记忆体
每个小人都有自己独立的4个记忆体(mem1~4
)。记忆体是弱类型的,即对于记忆体中的一个在地面上的数据方块,“行走”至该记忆体和使用该记忆体参与数学表达式运算都是合法的指令。小人会自行寻路至记忆体中的数据方块和机器,能避开墙壁和洞。
人际沟通
游戏中后期会解锁“告诉”(tell
)和“聆听”(listen
)指令,玩家可以借此在小人之间通讯。然而,玩家只能编写一份程序,所以玩家需要把发送和接受两个不同的程序整合。令程序员玩家不爽的是“聆听”(listen
)指令并不是一个回调事件,而是阻塞当前小人的进程,直至收到信息,这依然与通常的设计模式背道而驰。
游戏提示
如果卡关,玩家可以从上司处获得提示或暂时跳过关卡。最多可以跳过5个关卡,完成之前跳过的关卡后可以取回跳过的次数。
随机测试
当玩家完成了一个关卡后,效率诊断界面会给出玩家程序的代码行数以及通过25次随机输入数据的测试计算得到的平均用时,以柱状图的方式给出。在该界面中,绿色表示测试通过,红色表示不通过。只有通过率达到50%以上才会视为成功通过关卡,否则会被定性为“缺乏鲁棒性”。
由于测试的随机因素,使用完全相同的解决方案通过同一个关卡两次,平均用时可能会出现±1~2秒的差异。
官网给出了本作在封测阶段,所有通过关卡(在随机测试中通过率超过50%的程序才视为通过)的程序的用时/代码行数的频数分布直方图(仅统计通过的解决方案,通过率低于50%的已经被剔除),具体可在 https://tomorrowcorporation.com/7billionhumansStats/ 查找到。游戏效率诊断的挑战目标就是根据上述的分布统计图设计的,代码行数和运行时间的挑战目标的阈值大致在前10%分位数的位置。
剧情
本作的剧情承接前作。与前作一样,本作的剧情集中于“咖啡时间”中。游戏开场(第1年)的动画中,所有的工作都被机器人取代,人们有了舒适的生活,但人们仍然要求工作,于是机器人创造了工作,也就是玩家操作的这些小人。
但是,从动画中可以看出,此时的世界由机器人掌控,因此这些可能只是机器人的一面之词。
黑色幽默/细思极恐
展开可能引起不适,谨慎点开 |
---|
成就
本作的Steam版本有19个成就,现在此列出。
成就名称 | 中文翻译 | 说明 | 备注 |
---|---|---|---|
Career Milestone 1 | 生涯里程碑1 | 完成第1部分剧情。 | |
Career Milestone 2 | 生涯里程碑2 | 完成第2部分剧情。 | |
Career Milestone 3 | 生涯里程碑3 | 完成第3部分剧情。 | |
Career Milestone 4 | 生涯里程碑4 | 完成第4部分剧情。 | |
Career Milestone 5 | 生涯里程碑5 | 完成第5部分剧情。 | |
Worker's Comp: Explosive Failure | 员工的赔偿:爆炸性失败 | 一名工人因为爆炸而不幸遇难(某些关卡中,如果使用了错误的粉碎机或者拿起了错误的数字方块就会引发爆炸)。 | |
Worker's Comp: Crushing it | 员工的赔偿:碾压 | 一名工人拿起一个器具(粉碎机、打印机)后被砸死。 | |
Worker's Comp: Shredding it | 员工的赔偿:粉碎 | 一名工人惨遭粉碎机粉碎。 | |
Worker's Comp: Trust Exercise | 员工的赔偿:信任危机 | 一名工人掉进了一个洞。 | |
King of Verbosity | 冗长之王 | 通关使用的代码行数超过“优化诊断”规定的4倍。 | 在前作中也有出现。 |
Queen of Inefficency | 低效之王 | 通关的平均用时超过“优化诊断”规定的4倍。 | 在前作中也有出现。 |
Glorious Failure: Solution not Robust | 伟大的失败:解决方案不具鲁棒性 | 在25次随机测试中,解决方案的通过率低于50%。 | 在前作中也有出现。 |
Worker's Comp: Shrieking Steel Blade | 员工的赔偿:令人害怕的钢刀 | 一名工人被杀手机器人(killbot)杀害。 | |
Excellent Instruction Follower | 优秀的指令执行者 | 通过所有关卡 | 在前作中也有出现。 |
Social Engineer | 社交工程师 | 在一个关卡中,倾听每个工人的发言(鼠标左键点击场景中的工人,便会弹出发言)。 | 在前作中也有出现。 |
Blue Optimization Award | 蓝色优化奖励 | 所有蓝色关卡通过效率诊断。 | |
Green Optimization Award | 绿色优化奖励 | 所有绿色关卡通过效率诊断。 | |
Red Optimization Award | 红色优化奖励 | 所有红色关卡通过效率诊断。 | |
Orange Optimization Award | 橙色优化奖励 | 所有橙色关卡通过效率诊断。 |
|
|