我上面提到的编程的意思,是比敲电脑代码更加原始的东西,甚至比汇编相对计算机运行来说更加底层的东西。我的意思是构成芯片内在的逻辑门(与,或,非)。与其说“Robot Odyssey”在玩编程,不如说它是在玩电子工程。你用来编程的东西是最基础的东西。你有的是电流通过导线和逻辑门的电路。这些逻辑门构成了布尔逻辑的基础操作。 ![]() Simple,right? 布尔逻辑其实十分简单。它就是两个相对的值,通常称为“是”或者“否”(如果用作逻辑判断的话),但是因为我们这里讨论的是电路,所以它们被称为“正”和“负”比较好一点。游戏里的机器人拥有推进器帮助它们移动。举个例子,如果你通过一根标记为“正”的导线向机器人推进器输入电流,那么推进器将会被打开并使机器人移动。除此之外,还有一类逻辑门来使电性相反。一个非门拥有一根进导线和一根出导线,它的作用就是颠倒输入导线的电性。如果输入的导线标记为正,那么在输出端就不会有电流。如果输入的导线标记为负,那么它就会在输出端就会输出电流。 ![]() A “wall hugger” robot.The actual logic is embedded “inside” the blue “2″ chip. 通过使用这些以及另外的一些逻辑门,你必须动用机器人完成一些简单的任务,但是随着游戏的推进,任务将会变得越来越复杂。 当任务变成需要你用一个机器人通过一根只能发送正负信号的天线,向另一个机器人发送信号来使它移动的时候,这些逻辑门有限的功能就不够看了。可笑的是,这些逻辑门并非是功能不强,只要有足够的组合,这些小小的逻辑门能够做到任何事情。但是这需要大量的思考。 让这些简单的逻辑门来完成复杂的编程让我的大脑都快烧掉了。为了解决游戏中的难题,我儿时的脑袋,还不足以完成从这些简单的逻辑门到复杂的控制系统的思维跳跃。为了让你实现控制系统,游戏提供了把电路制成芯片的能力。下图就是一块芯片,用到了大量的或门,这是为了……,好吧,我不会再多看它们一眼了。 ![]() 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”通关证明的仿制品。只有第一个完成并且没有查看攻略作弊的玩家才能够得到哦! 提示:
2、一个与门有两个输入端一个输出端,如果两个输入端都为正,那么输出就为正,否则没有电流输出。一个或门想要输出电流,它的两个输入中至少有一个为正。一个异或门想要输出电流,则它的两个输入必须只有一个为正,一个为负,当两个输入相同时,则没有电流输出。 3、这里有一个简单的例子。如果你想要使机器人向上移动,则必须使机器人天线接收到正信号才行(也就是天线为正),当天线没有接收到信号(也就是为负),机器人就向下移动。你把天线的输出端连到UP推进器上,这样当天线接收到正信号时,UP推进器被打开,反之亦然。你同样可以把天线的输出端连到DOWN推进器上,但是在前面再连一个非门,这样就改变了天线的输出。所以,当天线接收到正信号时,DOWN推进器就被关闭了,反之亦然。
|