или как за пару вечеров, не особо напрягаясь, глубоко изучить архитектуру компьютера
Главное игровое окно игры Turing Complete
Была обнаружена компьютерная игра Turing Complete в жанре «головоломка», суть
которой: соединять проводочки, организовывать регистры памяти, писать машинный
код — и всё это надо делать в точности так, как это происходит в реальном
процессоре. При этом, чтобы начать играть — ничего особо о компьютерах знать
не нужно, вся теория объясняется игроку по ходу дела.
Поиграв в Turing Complete часов 30..40 — можно об архитектуре компьютера
узнать больше, чем за 2..3 года изучения аналогичных институтских курсов (не
думаю, что это преувеличение).
При этом игра очень наглядная, удобная и интуитивная. Для сравнения, вот как
выглядит одна из программ (Logisim), по которой учатся обычные компьютерные
студентоиды:
При всём уважении к Logisim (2014), визуально и интерактивно он сильно
проигрывает Turing Complete. А привлекательнее Logisim в институтских кругах
вроде ничего особо и не крутится.
Разница между традиционной программой Logisim и игрой Turing Complete — это
разница между «я ничего не понял, было скучно, я забил и не ходил» и «это был
самый интересный курс за всё время учёбы».
Суть такова
В отличие от многих подобных «игр для программистов», в игре Turing Complete
большинство головоломок — это прямое воспроизведение архитектуры реального
компьютера, а не просто абстрактные логические задачи. Т.е. можно, пройдя все
этапы игры, реально прочувствовать, как (буквально) нолики и единички
превращаются в компьютерные программы.
Игрок собственными руками с нуля (с уровня логических ворот, если точнее)
строит аж собственный полноценный процессор. При этом в игре настолько плавно
растёт сложность, что каждый новый шаг естественно вытекает из предыдущего.
💡
Название «Turing Complete» переводится как «полный по
Тьюрингу». Грубо говоря, вычислительная машина называется «полной по
Тьюрингу», если она может воспроизвести «любой» машинный алгоритм. Полнота по
Тьюрингу занимает центральное значение в теоретической информатике и в жизни
программистов-абьюзеров, создающих Тьюринг-машины там, где это не особо
предполагалось.
Ниже подробно описываю всё то, что было показано в трейлере. Не могу назвать
это спойлерами, ибо этапы игры ожидаемо соответствуют любому традиционному
институтскому курсу по архитектуре компьютера:
Игра стартует с задач уровня «собери из нескольких логических
ворот новые логические ворота»:
На середине игры нужно создать небольшую тьюринг-полную
вычислительную машину (с шестью 8-битными регистрами памяти), на которой на
созданном пользователем машинном коде (ассемблере) надо программировать
простые алгоритмы:
Мой пездюк 🥰
К этому моменту игрок изучает:
Логические ворота (также известны как: Logic gate, логический вентиль)
Регистры памяти (пока 8-битовые, но далее будут вплоть до 64-битных)
Работу с отрицательными числами в двоичном коде
Арифметически-логические операции (сложение, сравнение, сдвиг и т.п.)
Программирование процессора двоичным кодом (т.е. ноликами и единичками)
Создание собственного ассемблер-языка
Ещё не прошёл последние уровни игры, но судя по всему, в них
изучаются:
Также в игре всегда открыт режим песочницы, который полностью
доступен с самого начала. В этом режиме одним энтузиастом, например, был
воспроизведён процессор Intel 8008 (это известный процессор 1972 года, часто
детально разбираемый на традиционных курсах компьютерной архитектуры).
В игре сделано всё, чтобы изучать архитектуру компьютера было легко и
интересно.
Но совсем чисто по приколу пройти игру не получится. На многих уровнях нужно
вникать, напрягаться, думать, изучать теорию:
В самой игре теория даётся очень сжато. В большинстве случаев этой теории
достаточно, но иногда приходится изучать теорию на сторонних ресурсах. В
любом случае, по справке игры всегда можно понять, хотя бы какой запрос
надо вбить в гугл.
К большинству уровней есть ютуб-решения от разработчика (они открываются,
если нажать кнопку «подсказка» в игре). Там, где нет решений от разработчика
— можно подсмотреть решения у летсплейщиков (ибо смысл игры вроде как —
научиться програть процессоры, а не сделать всё строго самому без
подсказок).
Не часто, но бывает, что задания не совсем понятно сформулированы. На паре
уровней мне приходилось смотреть решения, чтобы понять, что вообще нужно
получить.
Очень удобно, что в игре для каждого уровня есть готовый отладчик и готовый
список тестовых прогонов. В профессиональных прогах при разработке подобных
схем — все эти тестовые прогоны приходилось бы писать самому.
После прохождения игры открывается рейтинговая система, вроде как
основанная на параметре Delay (что-то типа быстродействия разработанной схемы).
Можно сравнивать «профессионализм» своих схем с схемами других игроков. Правда,
не уверен, что рейтинговая ситема работает при игре из РФ. У меня пока не
работает, лол.
Дай сюда
Я покупал игру в Steam. В нынешних реалиях для России деньги на
кошелёк Steam можно занести через QIWI upd 2024: больше нет, а потом через Казахстанский кошелёк
уже перевести на Steam. Игра стоит 435₽ (в декабре 2022 года). С учётом
комиссий и конвертаций у меня вышло 570₽.
Игра «Turing Complete» (пока?) не переведена на русский язык.
Игра (несмотря на экстаз, в который она способна вогнать всех
проникшихся) не очень популярна. На ютубе о ней мало видиксов, и мало учебных
материалов. Но прохождения уровней всегда таки есть где найти.