设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 IT综合资讯 查看内容

史上最困难的电脑游戏

2014-2-24 10:58| 发布者: joejoe0332| 查看: 3444| 评论: 0|原作者: 菜鸟浮出水|来自: 伯乐在线

摘要: 游戏的名字叫“Robot Odyssey”,我花了13年的时间才通关,而且它还让我走上了程序员的命运。在我6岁的时候,我非常喜欢这款游戏。2年后,我得到了“Robot Odyssey”这款游戏,它宣称扩展了“Rocky’s Boots”的基本 ...


  我上面提到的编程的意思,是比敲电脑代码更加原始的东西,甚至比汇编相对计算机运行来说更加底层的东西。我的意思是构成芯片内在的逻辑门(与,或,非)。与其说“Robot Odyssey”在玩编程,不如说它是在玩电子工程。你用来编程的东西是最基础的东西。你有的是电流通过导线和逻辑门的电路。这些逻辑门构成了布尔逻辑的基础操作。


Simple,right?

Simple,right?


  布尔逻辑其实十分简单。它就是两个相对的值,通常称为“是”或者“否”(如果用作逻辑判断的话),但是因为我们这里讨论的是电路,所以它们被称为“正”和“负”比较好一点。游戏里的机器人拥有推进器帮助它们移动。举个例子,如果你通过一根标记为“正”的导线向机器人推进器输入电流,那么推进器将会被打开并使机器人移动。除此之外,还有一类逻辑门来使电性相反。一个非门拥有一根进导线和一根出导线,它的作用就是颠倒输入导线的电性。如果输入的导线标记为正,那么在输出端就不会有电流。如果输入的导线标记为负,那么它就会在输出端就会输出电流。


A “wall hugger” robot.The actual logic is embedded “inside” the blue “2″ chip.


  通过使用这些以及另外的一些逻辑门,你必须动用机器人完成一些简单的任务,但是随着游戏的推进,任务将会变得越来越复杂。


  当任务变成需要你用一个机器人通过一根只能发送正负信号的天线,向另一个机器人发送信号来使它移动的时候,这些逻辑门有限的功能就不够看了。可笑的是,这些逻辑门并非是功能不强,只要有足够的组合,这些小小的逻辑门能够做到任何事情。但是这需要大量的思考。


  让这些简单的逻辑门来完成复杂的编程让我的大脑都快烧掉了。为了解决游戏中的难题,我儿时的脑袋,还不足以完成从这些简单的逻辑门到复杂的控制系统的思维跳跃。为了让你实现控制系统,游戏提供了把电路制成芯片的能力。下图就是一块芯片,用到了大量的或门,这是为了……,好吧,我不会再多看它们一眼了。


Inside a chip:Fun for the whole family!

Inside a chip:Fun for the whole family!


  关键在于,这些简单的逻辑门通过足够的组合和设计,可以实现异常复杂的东西。这就是所谓的计算机编程了,使用原始的操作来实现非常复杂的架构。对于Foote来说,这个游戏的基本诉求和数学以及计算机科学的基本诉求是相同的:“这个世界是逻辑的,并且是由简单的规则搭建起来的。通过如此简单的规则可以实现如此复杂的世界。”


  尽管游戏的续集从来没有出现(原来的包装盒上印着这个游戏是“Robot Odyssey I”),但是它还是赢得了各种奖项并且在《Scientific American》杂志上有一篇专门报导。这款游戏带给了Wallace在苹果粉丝团中极高的知名度,并且让他得到一次在帕罗奥多研究中心做演讲的机会,他随后又继续设计了一些电子玩具,包括“Nintendo Power Glove”,现在他拥有自己的公司“Pure Imagination”。Grimm一直待在Learning公司并开发了许多游戏,包括非常成功的“Reader Rabbit”,最近她正在开发供耳聋儿童使用的教育软件。


  “Robot Odyssey”绝对的复杂度使它成为了今天沙盒类游戏的精神鼻祖,比如说“Minecraft”。它可能导致了数百人从此成为了程序员,而且看起来这个数量还要更多。我在这里发起一个关于“Robot Odyssey”的挑战:正在看这篇文章的读者,谁第一个通关“Robot Odyssey”,并把游戏文件发送给我作为证明,将会获得一个Learning公司“Robot Odyssey”通关证明的仿制品。只有第一个完成并且没有查看攻略作弊的玩家才能够得到哦!


  提示:


1、如果你停止向导线通电流,那么机器人的推进器将会被关闭,然后机器人就会停止移动。

2、一个与门有两个输入端一个输出端,如果两个输入端都为正,那么输出就为正,否则没有电流输出。一个或门想要输出电流,它的两个输入中至少有一个为正。一个异或门想要输出电流,则它的两个输入必须只有一个为正,一个为负,当两个输入相同时,则没有电流输出。

3、这里有一个简单的例子。如果你想要使机器人向上移动,则必须使机器人天线接收到正信号才行(也就是天线为正),当天线没有接收到信号(也就是为负),机器人就向下移动。你把天线的输出端连到UP推进器上,这样当天线接收到正信号时,UP推进器被打开,反之亦然。你同样可以把天线的输出端连到DOWN推进器上,但是在前面再连一个非门,这样就改变了天线的输出。所以,当天线接收到正信号时,DOWN推进器就被关闭了,反之亦然。


原文链接: Slate Magazine 翻译: 伯乐在线 - 菜鸟浮出水
译文链接: http://blog.jobbole.com/59347/

2

酷毙

雷人

鲜花

鸡蛋

漂亮

刚表态过的朋友 (2 人)

  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部