机器人奥德赛:玩了13年才通关 史上最变态的游戏

任何一个成年人如果能够通关的的话,那么TA绝对有资格去当一名软件工程师。

玩了13年才通关 史上最变态的游戏

氧分子网科技 拉里 2月26日编译

这款游戏的名字叫《机器人奥德赛》(Robot Odyssey),这是一款难度极高但又迷人的游戏,以下文章的作者花了13年的时间才完成通关,而且这款游戏还决定了他最终成为一名程序员的命运。

以下是全文概要

Apple IIe是我的第一台电脑,当时最流行的益智类游戏是《Rocky’s Boots》,一款教孩子们基本逻辑能力的创造类游戏。当我还是个6岁的小毛孩时,我极度痴迷该游戏。直到两年后,我迷上了了前文提到的那款《机器人奥德赛》,该游戏可以说《Rocky’s Boots》的一次扩展,但是它将其简单的逻辑玩法变成了实际的编程游戏。

玩了13年才通关 史上最变态的游戏

 

这款游戏太变态了,它几乎摧毁了我,因为它的高难度对于绝大多数人来说是不可逾越的。不过最终,13年后,我终于在没有其他人帮助的情况下完成了通关。

可以说,任何一个能够独自通关的孩子最终都能成为一名了不起的软件工程师,而任何一个成年人如果能够通关的的话,那么TA绝对有资格去当一名软件工程师。毫不夸张的说,《机器人奥德赛》绝对是有史以来最难的益智类游戏,它同时也称得上是一项伟大的科技成果,而且也是Apple IIe时代最具创新性的游戏之一。

玩了13年才通关 史上最变态的游戏

 

尽管它很难,但是却有一批狂热的追捧者。在《机器人奥德赛》里,玩家扮演一个角色,然后会进入了梦境里的神秘城市——机器人之城(Robotropolis)。在这个虚拟的城市里,玩家会有5个难度递增的难度等级可供选择,只有完成才能回家。我对这5个等级的难度做了大概的评估:

1、下水道:比较适度

2、地铁:具有一定的挑战性

3、城镇:非常难

4、主控制中心:几乎不可能完成

5、高架公里:几乎不可能完成

前三个等级相对不太难,只要用心,一般都能通关,不过后两个等级却非常难。可以说,如果前三个等级是一般的小学算术的话,那后两个等级就是高中代数。而且当时还没有互联网,想要找到一位同样也玩这款游戏的人进行一些交流是几乎不可能的事情。

值得一提的是,游戏开发者同时也是一名硬件黑客的Quinn Dunki曾今创作过一款非常著名的游戏——《Gate》,而该游戏正是借鉴了《机器人奥德赛》的诸多设计概念。科技法学教授James Grimmelmann跟我说,《机器人奥德赛》给他的十年游戏生涯留下了难以磨灭的心理阴影。

那么这款游戏到底有多难呢?下面不放来简单了解一下。

玩了13年才通关 史上最变态的游戏

 

为了破解游戏中的谜题,玩家将会得到3个(最终是4个)机器人伙伴的帮助,它们将会为玩家连线和编程。这些机器人如上图所示,从左到右分别是Sparky,Scanner和Checkers。它们能够移动,探测墙壁,拿起或是放下物品,而且可以相互交流。

这里所谓的编程其实比通常我们讲的电脑代码更加原始,甚至可以说只是最底层的组合。我指的是组成内置芯片的逻辑门(AND, OR, NOT)。所以说玩《机器人奥德赛》不止是在编程,而且也是在玩电子工程。玩家用来编程的工具是最基本的,玩家可以使用电流通过导线和逻辑门的电路。这些逻辑门构成了布尔数学体系逻辑的基本操作。

玩了13年才通关 史上最变态的游戏

 

布尔数学体系的逻辑其实十分简单。它其实是两个相对值,通常称为“TRUE”或者“FALSE”,但是我们讨论的是电路,所以称之为“ON”和“OFF”似乎更恰当些。游戏中的机器人拥有各自的推进器,以便可以自由移动。比如说,如果你通过一条“ON”的导线向机器人推进器输入电流时,那么它的推进器将会被打开并驱动机器人移动。

玩了13年才通关 史上最变态的游戏

通过使用这些逻辑门,玩家需要利用机器人来完成一些一开始非常简单的任务,但是随着游戏环节的不断深入,任务将会变得越来越困难。

随着游戏的深入,当有些任务需要玩家用一个机器人通过一根只能发送“ON”和“OFF”信号的天线向另一个机器人发送信号来使它移动的时,这些逻辑门的功能就不够用了。但是这些逻辑门其实是非常强大的,只要有足够的组合,这些小小的逻辑门可以完成任何任务。但是这需要玩家去思考,这也是游戏的精髓所在。

这些简单的逻辑门可以通过足够的组合来完成极其复杂的任务。这就是计算机编程,利用基本的操实现非常复杂的架构。

该游戏得到了业界的一致认可,获奖无数。尽管规划中的续作始终未能发布,但是这丝毫不能掩盖其光辉的历史。

您可能还喜欢…

发表评论

邮箱地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>