Процессор, который использовался в «Тетрисе»: на каких SoC работала недорогая микроэлектроника в 90-х?
В наше время большинство портативных устройств работает на базе достаточно мощных микроконтроллеров, которые способны запускать даже интерпретируемый код на Lua/Python. Чего уж там говорить — даже современная кофеварка или умный электрочайник может быть в разы мощнее оригинального IBM-PC, не говоря уже о автомобильных бортовых компьютерах, которые зачастую мощнее топовых ПК из начала нулевых. Но давайте вспомним конец 90-х и начало 2000-х, когда разработка собственной электроники была практически недоступна рядовому пользователю, а микроконтроллеры программировались в основном только на ассемблере. Недавно я нашёл некоторую информацию о том, какой процессор вероятно использовался в таких знакомых нам приставках Brick Game, которые мы называли «Тетрисами»! Более того, мне удалось найти полный даташит с описанием всех модулей этого процессора, который гордо можно назвать «система на кристалле». Какой была разработка микроэлектроники в 90-х? Читайте в статье!
❯ Немного о «Тетрисе»
Пожалуй, Тетрис или Brick Game был одной из самых популярных портативных игровых консолей в странах СНГ. Появившись где-то в конце 90-х, этот гаджет быстро стал бестселлером среди детишек благодаря наличию сразу нескольких игр, полноценного ЖК-экрана, звука и невероятной дешевизны. Не знаю, сколько Тетрис стоил в момент выхода, но в нулевых цена на него была крайне низкой — около 100-200 рублей в зависимости от корпуса. Типичный школяр мог накопить на собственный Тетрис за несколько недель, что делало его самым доступным игровым девайсом на рынке.
Конечно же, на рынке уже были различные консоли с гораздо более богатым функционалом — например GameBoy и даже GameBoy Color с цветным дисплеем, а люди, родившиеся в конце 90-х или начале 2000-х уже застали PlayStation Portable с реально крутой 3D-графикой и телефоны с хорошим игровым потенциалом — как, например, SE K500i. Однако цена на них была непозволительной роскошью для небогатых семей: PSP стоила 250$ (около 7-8 тысяч рублей по тому курсу), плюс каждый UMD-диск с игрой стоил около 1.000 рублей, GameBoy были относительно редкими в России, а телефоны — это всё же прерогатива более юных ребят, да и в нулевых далеко не всем перепадал крутой K500i — чаще всего покупали телефон попроще типа Siemens A55 (грузчика помним?) или Motorola C350 (а мотоциклиста?). Поэтому тетрисы оставались чуть ли не единственным средством развлечения у небогатых ребят.
Ощутимым плюсом было и то, что Тетрис работал от батареек: они были не слишком дорогими в то время, а если носить с собой в кармане парочку, то можно не бояться, что консоль сядет в долгой дороге и продолжать себя забавлять, да и сам Тетрис работал довольно долго, мне хватало на неделю игры (может и меньше). Несмотря на низкое разрешением всего в 10x20 пикселей, Тетрис обладал достаточно большим монохромным дисплеем без подсветки, на котором было комфортно играть.
Ещё одним немаловажным плюсом консоли была возможность «кооперативной» игры и эдакого азарта: будучи неискушенными детьми, многие из нас пытались поставить рекорды и выбить как можно больший счёт в каждой из доступных игр. Чем больше счёт, тем ты круче среди друзей!
Но что же у Тетриса «под капотом»? На чём он работал внутри? Недавно я нашёл информацию о том, что потенциально в Тетрисе могла использоваться 4х-битная система на чипеHoltek HT1130, которая использовалась в самой разной носимой электроники: от часов на батарейках, до полноценных игровых консолей. Причём я ничуть не преувеличиваю, это действительно SoC: уже в 90-х, тайваньская компания смогла объединить звуковой модуль, контроллер ЖК-дисплея, ввод/вывод и таймер в один чип! Однако тут важно понять, что 100% сказать, на чём работал Тетрис, нельзя — процессор спрятан под компаундом и у него нет корпуса с маркировкой, лишь «голый» кристалл. Тем не менее, мы можем предположить, что это был один из чипов Holtek и посмотреть, на чём же работала портативная электроника тех лет поближе!
Заранее прошу прощения за отсутствие нормальных фотографий. Под рукой у меня не оказалось «старого» Тетриса, а на новодельных показывать как-то не очень.
На данный чипсет есть «утёкший» в сеть даташит с полным описанием регистров микроконтроллера и его ТТХ. Чип был спроектирован так, чтобы не требовать практически никакой обвязки в виде конденсаторов/резисторов и других SMD-элементов — он работал фактически напрямую от пальчиковых батареек и его легко было развести на плате даже начинающему инженеру. Микроконтроллер стабильно оперировал при напряжении от 2.4в до 3.3в, что позволяло просто вставить две последовательно соединенные AA или AAA батарейки с напряжением 1.5-1.6в и получить необходимое питание для работы всей «приставки».
❯ Вычислительное ядро
Саму систему на кристалле можно разделить на несколько соединенных модулей в один чип. Основным, конечно же, является 4х-битное вычислительное ядро неизвестной архитектуры, которое компания Holtek разработала сама или лицензировала как IP-ядро у другой компании для использования в собственном чипе (как, например, MediaTek лицензирует у ARM ядра Cortex). Система команд, по крайней мере, описание мнемоник ассемблера в даташите наводят на мысли о некоторой схожести с микроконтроллером Intel 8051 (однако 8051 был 8-битным) и в целом, напоминают типичную интеловскую архитектуру из 80х. Однако только по мнемоникам точно определить архитектуру невозможно: здесь есть «проприетарные» команды типа SOUND и TIMER.
Чип работает на частоте 1мгц от встроенного тактового генератора, большинство команд выполняется за один такт, максимум — два. Если говорить совсем грубо, то даже ATMega328 в Arduino условно в 16-раз мощнее HT1130, хотя это совсем некорректное сравнение.
Длина машинного слова HT1130 — 4 бита, что отсылает нас в начало 70х годов, если мы говорим о компьютерах. Это означает, что процессор «аппаратно» мог выполнять операции только с числами от 0 до 16, хотя при программной реализации мог пересчитывать хоть 32х-битные числа. Ширина шины данных — 12 бит, что позволяло адресовать вплоть до 4Кб встроенной ROM-памяти. Кроме того, в МК было встроено 128 ячеек оперативной памяти (или 64 байта), где в00H..7FHхранились временные данные программы (например, позиция танчиков на экране) и сE0H..FFHхранился «буфер» кадра, который определял текущую на экране. Также у микроконтроллера были следующие регистры:
R0-R4 — регистры общего назначения. Пары из регистров используются для адресации памяти.
ACC — регистр-аккумулятор, который хранит результаты текущей операции.
PC — указатель на текущую инструкцию в ROM, которую выполняет процессор.
Стековый регистр — судя по всему, «невидимая» связка регистров, которую процессор использует для хранения PC при вызове функций. Ограничен максимум двумя адресами, что не даёт возможность писать программы с вложенностью более двух функций.
С стековым регистром всё интересно получается. В отличии от привычных нам архитектур, HT1130 не хранит в этом регистре указатель на память, он сам по себе как-бы является стеком. Пример допустимого и недопустимого кода:
Выбор 4х-битного процессора очевиден — они очень недорогие в производстве и достаточно простые. Примеры использования 4х-битных архитектур можно найти даже в советских играх: например, в игре «Волк и яйца» (клоне Nintendo Game & Watch) использовалась «микроЭВМ» КБ1013ВК1-2.
В встраиваемой и переносной электронике, 4х-битные вычислительные ядра продолжают использоваться и сейчас: в калькуляторах, в пультах для управления техникой, в часах. Связано это с простой и дешевизной подобных решений, да и если честно, реализация этих устройств была готова ещё в прошлом веке. Зачем дополнительно тратить деньги на R&D существующих решений? :)
❯ Графика
HT1130 специально разрабатывался для переносимых устройств с новомодными LCD-дисплеями. В те годы было нормой, когда на дисплейной матрице не было собственного контроллера с распространенным интерфейсом по типу 8080 или MIPI: частенько, драйвер дисплея либо выделялся в отдельный чип, либо реализовывался прямо в системе на кристалле. У Brick Game был дисплей разрешением в 10x20 пикселей, причём кастомизированный — с «захардкоженными» значками и сегментными индикаторами:
Работа с дисплеем была не особо сложной: один сегмент памяти был отведен специально под эдакий «фреймбуфер» — всё, что мы записывали туда, контроллер дисплея моментально отображал на нашу ЖК-матрицу. Поскольку дисплей был одноцветным, без градаций цвета, память была организована 1 бит — 1 пиксель. Работать со всем этим было как-то так:
MOV A, 0 ; Первая часть адреса (если я не напутал endianness)
MOV R1, A
MOV A, 0b0111 ; Вторая часть адреса. Не удивляйтесь, что по факту получается 224 при 128 байт ОЗУ - часть адресного пространства была как-бы зарезервирована
MOV R0, A
MOV A, 1 ; Закрасим первый пиксель в строке
MOV [R1R0], A ; И запишем это значение в ОЗУ
Частичным доказательством того, что этот чип мог использоваться в Brick Game — это то, что компания Holtek производила готовые «игры на кристалле» — вероятно, уже запрограммированные с завода HT1130 с определенными играми:
Примечательно, что даташит на готовые игры датируются ноябрём 1998 года, в то время как даташит на HT1130 — 1999. Если у вас появился Тетрис раньше этого времени — напишите пожалуйста в комментариях!
❯ Звук
Помимо этого, чипсет имел собственный генератор звука, или как вы вероятно подумаете — «пищалку». В чип (или SDK, если честно, не особо понятно из даташита) была уже встроена звуковая библиотека — причём половину из них как раз таки для игр, что ещё раз косвенно подтверждает догадки об использовании этого чипа в «Тетрисе». Всего поддерживалось до 16 «каналов», в которых было по 3 тональности. В звуковой библиотеке содержались следующие звуки:
Шумы
Мелодии
Выстрелы
Будильники
Управлять звуковым трактом было очень просто — буквально несколькими командами на ассемблере. Команда SOUND <номер канала> выбирала один из предопределенных звуков (причем не совсем ясно, где они хранились — возможно в ROM), а команда SOUND ONE/LOOP воспроизводила его в одном из режимов — один раз или повторяющийся. SOUND OFF же выключала звук совсем. Как-то так:
play:
SOUND A
SOUND ONE
SOUND OFF
CLC ; А если нет, то снова выполняем, пока не переполнится, эта операция очищает флаг переноса
loop:
INC A ; Увеличиваем значение в аккумуляторе
JC play ; Если флаг переноса установлен, то наш "таймер" как-бы переполнился и пора снова проиграть звук
JMP loop;
Совсем немудрено, согласитесь? :)
❯ Порты ввода/вывода и кнопки
Кроме этого, HT1130 имел несколько портов ввода-вывода, которые, однако, назвать GPIO нельзя — было 12 портов для вывода, которые могли читать логический уровень (для кнопок), и 4 пина, который мог задавать логический уровень (например, управлять вибромотором или светодиодом). Настройки портов задавались с помощью флагов: можно было настроить встроенные pull-up резисторы и они могли вызывать прерывания при переходе из высокого уровня в низкий.
Выходной порт мог быть сконфигурирован под тип выхода — CMOS или NMOS. Работа с портами шла с помощью команд IN и OUT — как в x86, а обрабатывать их можно было как-то так:
loop: IN A,0b00110010 ; Загрузить в аккумулятор значение порта PM
AND A,0b0001 ; Отсекаем биты состояний других кнопок и проверяем, нажата ли первая кнопка?
JNZ A, btn_pressed ; Если в аккумуляторе не 0 (а значит кнопка нажата) - то переходим на другую метку
JMP loop ; Если нет - то проверяем по новой
btn_pressed:
SOUND 0
SOUND ONE ; Воспроизвести звук при нажатии
❯ Таймер
В чипсете есть встроенный таймер — ну его ж не просто так для часов использовали. :) Основная суть работы аппаратных таймеров заключается в том, что его тактирует какой-либо внешний тактовый генератор с определенным делителем, в нашем случае — от 1 до 6 относительно системного генератора частоты (т.е 1мгц) и с определенной частотой он делает инкремент внутреннего регистра. Как только регистр переполняется — он очищается и вызывается соответствующее прерывание в основном процессоре.
Это позволяет регулировать скорость работы таймера, а посчитать количество тиков в таком случае не особо сложно. Однако учтите, что чем выше делитель таймера (а значит и обратно-пропорционально снижается точность таймера) — тем реже вызываются прерывания и меньше «кушают» наше процессорное время!
❯ Можно ли написать свою программу для Тетриса?
К сожалению, написать какую-нибудь свою игру для этой консоли в домашних условиях невозможно — таких удобных инструментов для прошивки, как у AVR ещё не было. Holtek предлагала собственный SDK, в которое входила IDE, ассемблер и симулятор отладки финальной программы. Однако дабы получить настоящее «хардварное» устройство, необходимо было заказывать у компании Holtek производство кастомизированного чипа с вашей программой на борту.
Чипсет использовал настоящую масочную Read-Only Memory, которая прожигалась один раз и навсегда на заводе. Производитель электроники отсылал скомпилированную программу Holtek, а они в свою очередь производили кастомный чип с прошитой программой. Несмотря на всю простоту ассемблера и устройства в целом, самому под него ничего написать не получится — внешних шин то у него нет. :(
Однако, в наше время можно разработать и собрать «Тетрис» самому: в том числе, с цветным дисплеем и на базе гораздо более мощного железа! Тут тебе и готовые мощные микроконтроллеры, и возможность собрать приставку на базе легендарного процессора Z80, да при желании можно симулировать почти настоящий HT1130 на FPGA!
❯ Заключение
Разработка вычислительной и при этом недорогой электроники в 90-х было весьма веселым занятием. Несмотря на то, что устройства были на первый взгляд достаточно примитивными, в них всё равно крылось много разных нюансов, которые ограничивали программистов во многом.
Однако embedded-разработка тех лет была весьма интересной: когда полноценные игры вмещали в ПЗУ размером пару килобайт, на ремейки Space Invaders на современных движках весом в под сотню мегабайт смотришь с некоторой улыбкой. :)
Спасибо за наводку ресурсу retroscene:
Пост Legnahar, который один из первых опубликовал предположения насчет HT1130 и комментарию =A=L=X= под тем же постом.
А кто из вас мог и дальше зайти?
Есть только 2 вещи в мире которые не прощают ошибок-это женщины и тетрис на 9 скорости
Тюмень — Новый Уренгой. Дальше вертолетом до Мессояхи
«По-другому никак не добраться, по крайней мере летом. На весь путь ушли почти сутки: Ямал встретил нас дождливой и ветреной погодой, вертолет задержали. Погода в этих местах суровая. Круглый год не прекращаются сильные ветра. Летом они спасают от мошек и комаров, а зимой делают здешние морозы под -50° С испытанием даже для экстремалов! Бррр. Поводов влюбиться в эту землю — столько же, сколько звезд над Гыданской тундрой долгой полярной ночью. Работать в Арктике и не стать романтиком не получится».
Россия против США в финале Чемпионата по Тетрису (2023)
Россиянин Андрей Косенко победил на чемпионате мира по классическому «Тетрису» — впервые в истории. В финале турнира CTM Futures August 2023 Косенко обыграл американца под ником LeCaptain.
Матч получился невероятно напряжённым, поскольку сначала россиянин проиграл две игры подряд. Затем Андрей Косенко собрался с силами и обыграл LeCaptain со счётом 3:2.
Помимо России и США, в турнире также участвовали представители других стран: Мексики, Австрии, Австралии, Канады и Филиппин.
Турниры по классическому «Тетрису» в рамках CTM Futures проходят ежемесячно. Ознакомиться с записями всех матчей можно по ссылке.
Постоянное перекладывание
Сварили еду, съели половину и перекладывать приходиться. Сначала в кастрюлю поменьше, чтобы место в холодильнике освободить.
А из кастрюли поменьше в контейнер, при этом приходится постоянно мыть предыдущую посуду. Надоело!
А вы тоже занимаетесь этим тетрисом в холодильнике и перекладыванием? Или поставили огромную кастрюлю в холодильник и забили болт? Кто как делает, поделитесь опытом?
Техника в фильме «Тетрис»: правда и вымысел
На Пикабу было много разборов этого фильма и рецензий на него, но никто особо не обращал внимания на компьютеры и прочую электронику, которая мелькает в кадре. А ведь она в кино, посвящённом компьютерной игре, занимает далеко не последнее место.
Коллеги из музея подготовили для меня серию вопросов о технических моментах фильма «Тетрис». Останавливаться на его зрительских качествах и спорить о том, какая клюква вкуснее, я не буду — есть люди, которые умеют это делать намного лучше меня.
1. Насколько достоверно в фильме показаны компьютеры и другая техника тех лет?
У киностудии явно были консультанты, и в кадре можно увидеть вполне аутентичные автомобили, предметы быта и образцы техники. Но если говорить конкретно о компьютерах, то реквизиторы фильма допустили много вольностей.
Уже в одной из первых сцен, когда говорится, что Алексей Пажитнов работает с микро-ЭВМ «Электроника-60», в кадре показана другая, куда более поздняя машина — ДВК-3 либо ДВК-4. Аббревиатура ДВК расшифровывается как «диалоговый вычислительный комплекс». Это были 16-разрядные ПК, совместимые по системе команд с распространённым американским мини-компьютером DEC PDP-11.
Хотя ДВК можно отнести к тому же семейству, что и «Электроника-60», конкретно показанная в фильме модификация компьютера в 1984 году ещё не существовала. Да и экран ДВК-3 был чёрно-белым, а не чёрно-зелёным.
Реальное рабочее место Алексея Пажитнова выглядело так:
Более того, в следующей сцене на экране того же компьютера работает совсем другая версия Тетриса — его вариант, адаптированный программистом Вадимом Герасимовым для машин семейства IBM PC.
Это невозможно с технической точки зрения, поскольку линейка ДВК несовместима с IBM PC. Да и монитор в ходе этой метаморфозы волшебным образом превращается из монохромного в цветной.
В анимированной сцене, которая иллюстрирует распространение Тетриса по стране, нарисованы хорошо знакомые многим 3,5-дюймовые дискеты, но они в те годы в СССР были практически неизвестны, и дисководов для них не выпускалось.
В реальности Тетрис могли распространять на 5-дюймовых дискетах — таких, как на фото посередине:
В сцене, действие которой по сюжету происходит в Венгрии, роль абстрактных IBM-совместимых ПК исполняют британские компьютеры BBC Micro — тоже совершенно иной архитектуры. Возможно, это связано с тем, что большая часть съёмок проходила в Глазго.
Тем не менее, я бы не был слишком строг к фильму по технической части. Очень малый процент зрителей сможет распознать подмену, а в целом выбранные компьютеры соответствуют эпохе. Вполне правдоподобно в фильме показаны игровые приставки, аркадные автоматы, а также программный код на экранах компьютеров.
2. Какие языки программирования использовались в то время? На каком был написан Тетрис?
Используемый язык программирования, как и сегодня, определялся задачей, которую нужно решить. Системное программирование и программирование управляющих ЭВМ в те годы велось на языках ассемблеров либо непосредственно в машинных кодах. Также набирал популярность язык C, который считался наиболее близким к аппаратуре из языков высокого уровня.
Программы для научных и экономических расчётов, которые обычно запускали на «больших» ЭВМ, писали на Фортране, Алголе, Коболе, Лиспе, ПЛ/1, а также на языках советской разработки, которых было довольно много. В суперкомпьютерах «Эльбрус» использовался созданный специально для них язык Эль-76.
Для прикладного программирования на ПК применяли языки Паскаль, Форт, Модула. В школах дети писали свои первые программы на специальных учебных языках — Лого, Робик, Рапира и других. Ну а бытовые компьютеры, которые как раз начали появляться в те годы, обязательно шли с Бейсиком или Фокалом на борту.
Первая версия Тетриса была написана на Паскале — универсальном языке, который в те годы считался пригодным и для обучения, и для прикладного программирования. Вся игра занимала не более 800 строк. В фильме этот момент отражён правильно: на экране компьютера, за которым работает Алексей Пажитнов, показан именно код игры на Паскале. Можно обратить внимание на расширение файла .PAS, типичное для исходных текстов программ на этом языке.
3. Можно ли было на компьютерах того времени создать что-то более сложное, чем Тетрис? Стратегию, шутер, симулятор?
Микро-ЭВМ «Электроника-60», как верно отмечено в фильме, на момент разработки «Тетриса» считалась морально устаревшей даже по советским меркам. В 1984 году компания IBM представила персональный компьютер PC/AT (Advanced Technology — «продвинутая технология»), в основе которого лежал процессор Intel 80286. Эти машины могли оснащаться графическими картами стандарта EGA, который позволял одновременно выводить на экран 16 цветов при разрешении 640×350 пикселей. Впрочем, «Тетрису» по самой его концепции и не требовались развитые технические возможности.
Вообще, если заглянуть в историю, первая динамичная компьютерная игра с графикой — космическая дуэль Spacewar! — появилась ещё в 1962 году.
Компьютерная игра Spacewar! на экране компьютера PDP-1, 1960-е
Прародительница многопользовательских 3D-шутеров, Maze War, была написана в 1973-м. А в 1984 году вышли The Ancient Art of War («Древнее искусство войны») — одна из первых стратегий в реальном времени и Elite — космический симулятор с открытым миром и возможностью посещать сотни планет.
Скриншот игры Elite для компьютера BBC Micro, 1984
С технической точки зрения все эти игры в чём-то были сложнее Тетриса. Но сложность — не синоним качества и не гарантия успеха. Сегодня эти названия — за исключением, наверное, Elite — известны только историкам, а в Тетрис миллионы людей продолжают играть до сих пор.
4. Какие ещё игры были в то время созданы в СССР, но не стали такими популярными?
В 1984 году в Советском Союзе очень немногие счастливчики имели доступ к компьютерам. Ещё меньше из них могли использовать дорогостоящую технику для чего-то, не относящегося напрямую к работе. Расцвет отечественных компьютерных игр приходится на более поздний период — конец 1980-х.
В год появления «Тетриса» развернулся серийный выпуск персональных компьютеров «Агат», поэтому большая часть советских игр середины 1980-х предназначена как раз для этой платформы. В 1984 году Михаил Лёвин создал оригинальную — и очень сильную для своего времени — шахматную программу «Анацефал». Им же была написана аркада «Диверсант», но это была адаптация игры Sabotage для Apple II.
Игра «Диверсант» для компьютера «Агат», 1984
В дальнейшем, по подсчётам энтузиастов, только для «Агата» было разработано порядка 200 оригинальных игр, но мировой популярности они не снискали. О некоторых из них я рассказывал в специальном материале. Узнать больше об «Агатах» и играх для них можно на выставке «Компьютеры от М до А», которая будет идти в Открытой коллекции Политехнического музея до конца января 2024 года.
5. Откуда всё-таки взялось название «Тетрис»?
Как верно показано в фильме, идея создания компьютерной игры пришла Алексею Пажитнову в ходе решения головоломки пентамино. В ней использовались фигурки, состоящие из пяти клеточек (греч. «пента» — пять), но в компьютерной версии он для простоты ограничился четырьмя (греч. «тетра» — четыре).
А вот с окончанием «-ис» всё интереснее. Большинство интернет-источников упоминают слово «теннис» — название любимого спорта Пажитнова.
Но в 2012 году автор Тетриса давал Политехническому музею интервью, где сказал следующее:
Была такая игра тогда — ксоникс. Этот икс на конце мне понравился. Слово легко на язык легло.
Так что окончание «-ис» может восходить и к другой известной логической игре 1980-х — Xonix. Известно, что эта игра была популярна в Вычислительном центре АН СССР, где работал Пажитнов. Его коллега и соавтор Тетриса для IBM PC, Вадим Герасимов, участвовал также в создании разновидности Xonix под названием Antix — «анти-ксоникс».
6. Правда ли, что в Тетрис невозможно выиграть? Были слухи, что кто-то всё же прошёл его до конца.
Сам автор в одном из интервью однозначно ответил на этот вопрос: у Тетриса нет конца. Рано или поздно любой, даже самый талантливый игрок «засыпется». Другое дело, что в конкретных коммерческих реализациях Тетриса компании-издатели могли добавлять искусственные ограничения — например, при достижении определённого уровня или при переполнении счётчика очков.
Игрокам, которые дольше других продержались в Тетрисе, в качестве награды показывали анимационные ролики. Наиболее распространённые сюжеты — русские народные танцы и взлёт космического корабля. Например, в версии Tetris B для Game Boy можно было увидеть музыкантов и танцоров, пляшущих «казачок», а затем то, как со стартовой площадки взлетает система «Энергия-Буран». Любопытно, что в одном из интервью даже сам Пажитнов называет этот корабль «Space Shuttle», но по ряду признаков можно понять, что нарисован именно советский космический челнок.
Бонусный ролик в версии Tetris B для Game Boy
В режиме Tetris A показывались несколько вариантов похожей сцены: взлетающая ракета была тем крупнее, чем больше очков набрал игрок. Ниже можно посмотреть, как это выглядело в версии игры для приставки NES — в России она более известна в виде своего неофициального клона Dendy.
Интересно, что в 2022 году был создан алгоритм StackRabbit, умеющий играть в Tetris для NES на недоступной для человека скорости. Лучшие из людей пасуют на 29-м уровне, программа же достигла невероятного 237-го уровня. Тем не менее, и ей не удалось пройти Тетрис: игра начала сыпать ошибками и в конце концов зависла. Возможно, это связано с тем, что автор эксперимента использовал модифицированную версию игры с расширенным счётчиком очков.
7. Действительно ли история «Тетриса» была такой криминальной, какой она показана?
Многое в фильме очень сильно преувеличено. Всё-таки он ориентирован на западную аудиторию, и потому воспроизводит популярные там стереотипы об СССР. Сотрудники КГБ из фильма больше напоминают джеймсбондовских злодеев, да и в целом второстепенные персонажи показаны скорее карикатурно. Сам Алексей Пажитнов отмечал, что многих моментов из фильма в реальности не было, а те, что были, разворачивались не столь драматично.
Реальная история продажи прав на Тетрис не была особенно криминальной. В те годы в СССР крупных денег в игровой индустрии не водилось — собственно, и индустрии как таковой ещё не было. Большинство программистов вообще не понимали, как правильно лицензировать игры и сколько за них просить. Скорее всего, Тетрис в принципе был первой советской игрой, которую смогли официально продать за рубеж.
Но неразбериха с правами на разные версии Тетриса действительно имела место, а бизнесмены, которые участвовали в этой запутанной схеме, в фильме показаны достаточно похожими на своих реальных прототипов — во всяком случае, портретно.
Известен скорее идеологический конфликт, связанный с изданием «Тетриса» на западе: в версии игры от Spectrum Holobyte по экрану пролетает легкомоторный самолёт с вроде бы невинным баннером.
Но это явно была отсылка к недавнему событию, когда прямо на Красной площади приземлился немецкий пилот-любитель Матиас Руст. Для советских чиновников ситуация оказалась весьма чувствительной, и представители «Электроноргтехники» — компании, которая продавала права на «Тетрис» со стороны СССР, — очень настоятельно попросили эту сценку убрать.
8. «Тетрис» попал в Книгу рекордов Гиннесса как самая популярная игра. Остаётся ли он ей сегодня?
Действительно, Тетрис в течение десятилетий был самой популярной игрой в мире. Однако если смотреть по объёмам продаж, несколько лет назад его потеснили более современные конкуренты — Grand Theft Auto V и Minecraft. Впрочем, подсчитать точное количество копий Тетриса почти невозможно, учитывая, что эта игра существует в сотнях версий, в том числе и распространяемых бесплатно, и постоянно появляются новые.
Кстати, довольно символично, что новый чемпион — Minecraft — тоже предлагает игроку погрузиться в виртуальный мир, где всё состоит из блоков кубической формы.