![]() | ||||||||||||||||||||||||||||||
![]() |
![]() |
|
|
|||||||||||||||||||||||||||
![]() |
|
Самая сложная игра всех времёнИсточник: habrahabr
![]() Robot Odyssey Нью-йоркский программист Дэвид Ауэрбах (David Auerbach) вспоминает компьютерную игру, для прохождения которой ему понадобилось 13 лет и которая определила его будущее как программиста. Дэвид уверен, что любой ребёнок, который заинтересовался этой игрой в детстве, неизбежно станет программистом. Да и среди взрослых интерес к Robot Odyssey явно указывает, что человеку надо бы сменить род деятельности и пойти в инженеры/программисты. В любом случае, Robot Odyssey - одна из самых креативных игр эпохи Apple IIe, то есть середины 80-х гг. По сюжету, игрок во сне попадает в таинственный город Robotropolis. Чтобы вернуться домой, ему предлагают пять уровней сложности: средний, сложный, очень сложный, невозможный и невозможный-2. В принципе, за пару лет при большом желании можно пройти первые три уровня, но невозможные уровни - это уже за гранью фантастики. Тем гениям, которые смогли решить головоломки на сложных уровнях, компания-разработчик выдаёт специальные сертификаты. Например, в 2002 году один игрок получил сертификат как 34-й человек в мире, который прошёл игру. Каждый уровень разрабатывал отдельный сотрудник Learning Company, поэтому у уровней мало общего. Например, дьявольский четвёртый уровень создал 16-летний школьник-эрудит Шон Гордон (Shaun Gordon). Именно на этом уровне навсегда застревали большинство игроков. Руководители компании Learning Company считают, что вряд ли кто-то из сотрудников компании вообще прошёл эту игру на всех уровнях. Для решения головоломок дают троих (иногда четверых) роботов, которых можно подколючать к контактам и программировать. Слева направо: это Sparky, Scanner и Checkers. Они могут двигаться, распознавать стены, подбирать и выбрасывать предметы, а также общаться друг с другом. ![]()
Под программированием имеется в виду не привычное нам программирование высокого уровня, а самый что ни на есть низкоуровневый код, на уровне логических вентилей (AND, OR, NOT), из которых состоят микросхемы. Так что Robot Odyssey - это не только программирование, но также электротехника. Вентили реализуют примитивные операции из формальной логики или булевой алгебры. ![]() Булева алгебра исключительно проста. Она имеет дело с двумя противоположными значениями: TRUE и FALSE, но здесь в случае с потоком электричества это превращается в ON и OFF. У роботов есть двигатели для передвижения, так что подключив роботы к тому или иному логическому вентилю, который получает значение извне, можно управлять движением робота в зависимости от внешних условий. Управляя логическими вентилями, можно решать различные задачи, простые для начала, но всё более сложные с продвижением по уровням. ![]() Когда нужно решать действительно сложные задачи, перемещая роботов, возможности программирования этих логических вентилей кажутся очень ограниченными, их не хватает. Но изюминка том, что с их помощью можно запрограммировать всё что угодно, если хорошенько пошевелить мозгами. Написание сложных программ на таких простых элементах буквально "плавит" мозг, говорит Дэвид Ауэрбах. Например, игра позволяет "впечатывать" созданные электрические цепи в микросхемы для асбтракции. На иллюстрации показан один из таких чипов, в котором используется много логических вентилей OR для стереозаписи. ![]() Идея игры заключается в том, чтобы смоделировать многогранную сложность мира с помощью самых простых элементов. Идеи, заложенные в те времена, нашли продолжение в некоторых играх современности, таких как Minecraft.
|
|