03 января 2023

Или как за пару вечеров, не особо напрягаясь, глубоко изучить архитектуру компьютера.

Главное игровое окно игры Turing Complete

Главное игровое окно игры Turing Complete

Была обнаружена компьютерная игра Turing Complete в жанре «головоломка», суть которой: соединять проводочки, организовывать регистры памяти, писать машинный код — и всё это надо делать в точности так, как это происходит в реальном процессоре. При этом, чтобы начать играть — ничего особо о компьютерах знать не нужно, вся теория объясняется игроку по ходу дела.

Поиграв в Turing Complete часов 30..40 — можно об архитектуре компьютера узнать больше, чем за 2..3 года изучения аналогичных институтских курсов (не думаю, что это преувеличение).

При этом игра очень наглядная, удобная и интуитивная. Для сравнения, вот как выглядит одна из программ (Logisim), по которой учатся обычные компьютерные студентоиды:

При всём уважении к Logisim (2014), визуально и интерактивно он сильно проигрывает Turing Complete. А привлекательнее Logisim в институтских кругах вроде ничего особо и не крутится.

При всём уважении к Logisim (2014), визуально и интерактивно он сильно проигрывает Turing Complete. А привлекательнее Logisim в институтских кругах вроде ничего особо и не крутится.

Разница между традиционной программой Logisim и игрой Turing Complete — это разница между «я ничего не понял, было скучно, я забил и не ходил» и «это был самый интересный курс за всё время учёбы».

Суть такова

В отличие от многих подобных «игр для программистов», в игре Turing Complete большинство головоломок — это прямое воспроизведение архитектуры реального компьютера, а не просто абстрактные логические задачи. Т.е. можно, пройдя все этапы игры, реально прочувствовать, как (буквально) нолики и единички превращаются в компьютерные программы.

Игрок собственными руками с нуля (с уровня логических ворот, если точнее) строит аж собственный полноценный процессор. При этом в игре настолько плавно растёт сложность, что каждый новый шаг естественно вытекает из предыдущего.

<aside> 💡 Название «Turing Complete» переводится как «полный по Тьюрингу». Грубо говоря, вычислительная машина называется «полной по Тьюрингу», если она может воспроизвести «любой» машинный алгоритм. Полнота по Тьюрингу занимает центральное значение в теоретической информатике и в жизни программистов-абьюзеров, создающих Тьюринг-машины там, где это не особо предполагалось.

О жизни программистов-абьюзеров будет написано в отдельной статье:

/статья в процессе/

</aside>

Подробнее, о чём игра

Трейлер игры:

https://www.youtube.com/watch?v=-YY73ejihZo&ab_channel=TuringComplete

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

<aside> 1️⃣ Игра стартует с задач уровня «собери из нескольких логических ворот новые логические ворота»:

Untitled

</aside>

<aside> 2️⃣ На середине игры нужно создать небольшую тьюринг-полную вычислительную машину (с шестью 8-битными регистрами памяти), на которой на созданном пользователем машинном коде (ассемблере) надо программировать простые алгоритмы:

Мой пездюк 🥰

Мой пездюк 🥰

К этому моменту игрок изучает:

<aside> 3️⃣ Ещё не прошёл последние уровни игры, но судя по всему, в них изучаются:

Пример одного из эндгейм-уровней: некий «декодер инструкций».
Взято из летсплея: https://www.youtube.com/watch?v=gPB2POKnEf4

Пример одного из эндгейм-уровней: некий «декодер инструкций». Взято из летсплея: https://www.youtube.com/watch?v=gPB2POKnEf4

</aside>