Самая сложная игра всех времён

Источник: habrahabr

Robot Odyssey

Нью-йоркский программист Дэвид Ауэрбах (David Auerbach) вспоминает компьютерную игру, для прохождения которой ему понадобилось 13 лет и которая определила его будущее как программиста.

В шесть лет Дэвид на компьютере Apple IIe со 128 КБ памяти увидел обучающую игру  Rocky"s Boots  от компании Learning Company. Эта игра знакомила детей с основами формальной логики. Через два года та же фирма выпустила шедевр под названием  Robot Odyssey , в котором сделала шаг от теории формальной логики к практике программирования. Чтобы пройти все уровни этой игры, даже самым талантливым игрокам требовались годы. Дэвид Ауэрбах смог сделать это за 13 лет. Правда, пришлось воспользоваться некоторой помощью извне. 

Дэвид уверен, что  любой  ребёнок, который заинтересовался этой игрой в детстве, неизбежно станет программистом. Да и среди взрослых интерес к Robot Odyssey явно указывает, что человеку надо бы сменить род деятельности и пойти в инженеры/программисты.

В любом случае, Robot Odyssey - одна из самых креативных игр эпохи Apple IIe, то есть середины 80-х гг. 

По сюжету, игрок во сне попадает в таинственный город Robotropolis. Чтобы вернуться домой, ему предлагают пять уровней сложности: средний, сложный, очень сложный, невозможный и невозможный-2. В принципе, за пару лет при большом желании можно пройти первые три уровня, но невозможные уровни - это уже за гранью фантастики. Тем гениям, которые смогли решить головоломки на сложных уровнях, компания-разработчик выдаёт специальные сертификаты. Например, в 2002 году один игрок получил сертификат как 34-й человек в мире, который прошёл игру.

Каждый уровень разрабатывал отдельный сотрудник Learning Company, поэтому у уровней мало общего. Например, дьявольский четвёртый уровень создал 16-летний школьник-эрудит Шон Гордон (Shaun Gordon). Именно на этом уровне навсегда застревали большинство игроков.

Руководители компании Learning Company считают, что вряд ли кто-то из сотрудников компании вообще прошёл эту игру на всех уровнях.

Для решения головоломок дают троих (иногда четверых) роботов, которых можно подколючать к контактам и программировать. Слева направо: это Sparky, Scanner и Checkers. Они могут двигаться, распознавать стены, подбирать и выбрасывать предметы, а также общаться друг с другом.


Sparky, Scanner и Checkers

Под программированием имеется в виду не привычное нам программирование высокого уровня, а самый что ни на есть низкоуровневый код, на уровне логических вентилей (AND, OR, NOT), из которых состоят микросхемы. Так что Robot Odyssey - это не только программирование, но также электротехника. Вентили реализуют примитивные операции из формальной логики или булевой алгебры.

Булева алгебра исключительно проста. Она имеет дело с двумя противоположными значениями: TRUE и FALSE, но здесь в случае с потоком электричества это превращается в ON и OFF. У роботов есть двигатели для передвижения, так что подключив роботы к тому или иному логическому вентилю, который получает значение извне, можно управлять движением робота в зависимости от внешних условий.

Управляя логическими вентилями, можно решать различные задачи, простые для начала, но всё более сложные с продвижением по уровням.

Когда нужно решать действительно сложные задачи, перемещая роботов, возможности программирования этих логических вентилей кажутся очень ограниченными, их не хватает. Но изюминка том, что с их помощью можно запрограммировать всё что угодно, если хорошенько пошевелить мозгами. Написание сложных программ на таких простых элементах буквально "плавит" мозг, говорит Дэвид Ауэрбах.

Например, игра позволяет "впечатывать" созданные электрические цепи в микросхемы для асбтракции. На иллюстрации показан один из таких чипов, в котором используется много логических вентилей OR для стереозаписи.

Идея игры заключается в том, чтобы смоделировать многогранную сложность мира с помощью самых простых элементов. Идеи, заложенные в те времена, нашли продолжение в некоторых играх современности, таких как Minecraft.


Страница сайта http://www.interface.ru
Оригинал находится по адресу http://www.interface.ru/home.asp?artId=35748