Игры по Star Wars с древних времен до наших дней. Часть 39 (ZX81)

Возможно, вы никогда слыхом не слыхивали про ZX81, а между тем это «папа» культового «Спектрума». Внутри этой машинки, выпускавшейся с 1981-го по 1983-й, имелся аж целый 1 КБ оперативной памяти, только вдумайтесь! Даже для начала 80-х это было мало. Например, в том же году на мировой рынок вышел VIC-20, и на его борту было 5 КБ оперативки. Кому тогда вообще был нужен ZX81? Ответ на этот вопрос кроется в ценах на устройства. В то время как VIC-20 продавался за 300 долларов США (на сегодня это эквивалентно 970 баксам или 86 тыс. рублей), ZX81 был куда более дешевым устройством — 50 фунтов (25 тыс. рублей на современные деньги) за набор «собери сам» и 70 фунтов (35 тыс. рублей) за уже готовый ПК.

Разумеется, игры на ZX81 были сильно проще, чем на тот же VIC-20 — 1 КБ ОЗУ явно накладывал свои ограничения. Говорить за все проекты не буду, но лично отсмотренные мной оказались довольно примитивны. Впрочем, мне всё равно нашлось, что о них рассказать!

Проекты в подборке:

221. Starwars (19XX) — Минималистичный Хот

Платформа: ZX81

Разработчики: R.V.D. Steen и K. Jurkuhn

Геймплей

Вы вообще когда-нибудь представляли, как могут выглядеть игры, работающие с оперативкой 1 КБ? Лично я нет, так что знакомство со Starwars стало для меня своего рода открытием.

Но давайте уже поближе познакомимся с самим подопытным. Итак, насколько я могу судить, Starwars воспроизводит битву на Хоте. Нам уготована роль пилота за штурвалом снежного спидера, который здесь состоит аж из целых четырех чёрных пикселей. Наша задача, как и в любой аркаде — набрать побольше очков. В данном случае для этого требуется уничтожать вражеские… что-то, выглядящие как знаки «=» и два черных пикселя.

Самое интересное здесь то, что внизу, по снегу, бегают жирафы! Полагаю, по логике это должны быть АТ-АТ, но представлять вместо них длинношеих животных мне было куда веселее. И признаюсь: первые минут 5–10 я искренне думал, что управлять надо именно ими. Как говорится, четырехпиксельный спидер-то я и не приметил…

Когда я скинул товарищу этот скрин, он ответил: «Так это игра с динозавриком в гугле»
Когда я скинул товарищу этот скрин, он ответил: «Так это игра с динозавриком в гугле»

В Starwars аж 20 уровней сложности, от которых зависит скорость перемещения врагов. Когда я впервые запустил игру на «единичке», то прифигел — жирафы носились по Хоту как угорелые. Оказалось, что 1 — это максимальный хардкор, а вот 20 почему-то — самый простой режим. Кстати, у нас, как у кошки, имеется 9 жизней. Отнимаются они не только за столкновения с летающими врагами — по нам еще периодически стреляют бегающие АТ-АТ.

Если вы когда-нибудь ругали любой скролл-шутер и называли его примитивнейшей игрой, поверьте, вы просто не играли в Starwars.

222. Star Wars (1981) — И ничего лишнего

Платформа: ZX81

Разработчик: Neil Streeter

Геймплей

Я еще толком не успел сесть за обзор, как приходит сообщение от товарища — мол, не знает, что б такого прикупить на осенней распродаже Steam. Говорит, хочется ему чего-то такого чилового, незамысловатого — ходишь, шмаляешь, минимальная смысловая нагрузка для видимости. Ну вот я и предложил ему Star Wars 1981 года для ZX81 — ничего более незамысловатого я даже представить себе не могу!

Я официально прошу прощения у разработчиков всех предыдущих тиров по ЗВ, в которых нужно было уничтожать СИД-истребители. Иногда я срывался и называл их проекты скучными, однообразными, примитивными… Я просто не играл в Star Wars за авторством Нила Стритера. Это САМЫЙ примитивный тир из всех, что я только видел. Единственное, что нужно здесь делать — подводить к прицелу звездолеты противника и жать огонь. При этом враги не атакуют от слова совсем, а интерфейс отсутствует напрочь — на экране нет ни жизней, ни очков. Ты просто наводишься на цель и стреляешь, наводишься и стреляешь, наводишься…

Вот так выглядит тот самый ZX81
Вот так выглядит тот самый ZX81

Некоторый свет на происходящие в игре события проливает книжка «30 программ для ZX81». Правда, почитать я ее решил уже после того, как написал предыдущую половину статьи. И знаете, она на многое открыла глаза… Цитирую: «Вы — задний стрелок звездолета, защищающий корабль-носитель. Через космический порт вы можете видеть врага, что пытается прорваться через оборону имперских сил».

Так значит, мы играем за Империю? Вот это поворот! Но если вдуматься, то вражеские истребители действительно больше походят на крестокрылы, нежели СИДы. Ладно, продолжаем: «Быстро переместите прицел на врага и стреляйте. ГОТОВ! Но что это? Еще один? О да, его тоже нужно грохнуть! Если сможете отражать повторяющиеся атаки в течение трех минут, тогда имперские силы смогут уничтожить вражеский источник питания».

И снится нам не эта ледяная… белизна
И снится нам не эта ледяная… белизна

Ага, значит, тут надо продержаться три минуты! Меня-то на столько раньше не хватало, я от скуки засыпал уже спустя 30 секунд. И точно — когда я посидел за игрой подольше, то оказалось, что через какое-то время на экране появляется количество набранных очков. Значит, хоть какие-то смысл и цель в этой Star Wars всё-таки есть!

223. Starfighter (1981) — Стреляй по своим, чтобы чужие боялись

Платформа: ZX81

Разработчик: J.K. Greye Software

Геймплей

Вот вроде бы предыдущая Star Wars и Starfighter вышли в один и тот же год на одной и той же платформе. Да и суть у них, в общем-то, одинаковая — наводись и стреляй по врагам от первого лица. Но визуально проекты — небо и земля. Если Star Wars — это ленивая поделка, где нет практически ничего, даже фона, то Starfighter — вполне симпатичная по меркам ZX81 игра с тремя типами врагов и анимированным задником.

События «Старфайтер» разворачиваются еще дальше далекой-далекой галактики — аж на краю вселенной. Некий недруг пытается уничтожить нашу цивилизацию, а мы должны ему в этом помешать. Впрочем, миссия эта — самоубийственная, о чем мы прекрасно осведомлены с самого начала. Как только у нашего истребителя закончится запас энергии, всё, каюк. И да, имперцы при этом нам не страшны, так как принципиально отказываются стрелять в ответ. Даже странно, как эти пацифисты могут угрожать целой цивилизации!

На выстрел тратится 20 очков энергии
На выстрел тратится 20 очков энергии

Что интересно, врагами здесь выступают не только СИД-истребители (Н), но также крестокрылы (Х)! Любопытно, это переметнувшиеся на сторону Империи повстанцы или выкраденные образцы? А еще иногда на поле боя появляются боевые звезды (О). Впрочем, противники отличаются разве что количеством очков, которые дают за их убийство.

Резюмируя, на фоне Star Wars эта Starfighter выглядит вполне себе недурно — тут есть и мерцающие звезды на заднем плане, и интерфейс, и нормально передвигающийся по экрану прицел, и хотя бы визуально отличающиеся друг от друга враги.

Тут даже анимация взрыва есть!
Тут даже анимация взрыва есть!

224. Star Fight (1983) — Знакомьтесь, Стивен Рид

Платформа: ZX81

Разработчик: Steven Reid

Геймплей

В настоящее время Стивен Рид работает IT-директором в городе Бойсе, что в американском штате Айдахо. Компьютерами он увлекается с тех пор, как родители купили ему первый ПК — тот самый ZX81. В период с 1983-го по 1985-й Стивен написал аж пять игр по мотивам Star Wars, первой из которых стала Star Fight. Сейчас я бы хотел передать слово ему (далее идет частичный перевод статьи Рида от 26 ноября 2017 года):

«В 1983-м я был страстно увлечен “Звездными войнами”, и выход “Возвращения джедая” только подогрел мой подростковый пыл. Поэтому неудивительно, что визуал моих игр был соответствующий. Star Fight как раз одна из таких.

Стивен Рид
Стивен Рид

Задача в том, чтобы переместить истребитель, отдаленно напоминающий СИД, в прицел. Времени для этого предостаточно, так как враг появляется с левого края экрана. Как только он окажется в поле вашего зрения, стреляйте и повышайте счет.

Если промахнетесь, игра покажет итоговые результаты, и обычно они крайне низкие. Там есть примечание, что нужно постараться набрать сотню, но сомневаюсь, что вы станете так заморачиваться. Это медленный, спокойный проект. Всё же рекомендую погибнуть хотя бы раз — это порадует вас одной из моих лучших анимаций “геймовера”.

Надпись Game Over словно окружена гирляндой с бегающими огоньками
Надпись Game Over словно окружена гирляндой с бегающими огоньками

Во многих отношениях Star Fight стал для меня новаторским проектом. Тогда я был еще новичком по части графики, и эта игра дала мне возможность опробовать несколько техник. Многие из них я буду частенько использовать в будущих работах. <…>

В 180-й строке есть ошибка. Кажется, я не заметил ее из-за массива. Из-за нее изображение мерцает. Баг был налицо, но искать и исправлять его я не стал — как напоминание о том, что нет ничего идеального. <…>

Значительная часть программы посвящена финальным титрам. <…> Это грубая анимация, в которой каждое движение представляет собой отдельную строчку кода. Тем не менее эффект работает хорошо и выглядит великолепно. <…>

Геймплей выстроен на трех кнопках: N и M отвечают за перемещение СИДа вверх и вниз, F — огонь
Геймплей выстроен на трех кнопках: N и M отвечают за перемещение СИДа вверх и вниз, F — огонь

Если просмотреть код, станет очевидно, что я задумывал больше механик. Например, я обнаружил неиспользуемые переменные, которые, как мне кажется, должны были задействоваться для прицеливания. Проект хоть и фундаментальный, но скучный. Было бы неплохо добавить в него и другие игровые элементы. Например, лазерные выстрелы или уворачивающийся враг сделали бы его интереснее. <…>

Если бы я еще немного поработал над основным геймплеем, из Star Fight могла бы получиться отличная небольшая игра. Но вместо того, чтобы закончить эту программу, я переключился на другие. Впрочем, наследие Star Fight продолжает жить в моих более поздних играх, и меня это вполне устраивает».

Можете попробовать игру онлайн.

225. Star Dodge (1984) — Не столкнись со звездой

Платформа: ZX81

Разработчик: Steven Reid

Геймплей

Перед нами очередная простенькая игра Стивена Рида. Если бы рассказывать о ней пришлось мне, я бы управился в пару предложений: «Управляя СИД-истребителем, нам необходимо облетать звезды. Врезался — проиграл». Благо в личном блоге разработчик посвятил статью и этому проекту, так что я снова схитрю и просто ее переведу.

«Совершенно простая игра, в которой нужно уклоняться от звезд, случайно расположенных на экране. Сможете ли вы провести СИД-истребитель в форме перевернутой H мимо всё более и более плотных скоплений небесных светил? Попробуйте!

По факту в Star Dodge нет ничего нового, но она хорошо объединяет разные идеи. Если вы следили за моим блогом, то наверняка видели большинство концепций в других проектах. Я использовал циклы, чтобы отображать звезды и вести истребитель вверх по экрану. До этого вы уже видели тесты на перемещение и столкновения — теперь я объединил их вместе, и они обрели новую форму.

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

В этом плане у Star Dodge всё хорошо. Идея проста и эффективна. Перемещение быстрое, плавное, достаточно сложное, но не невозможное. Создав звездное поле с помощью FAST-режима ZX81, я устранил большую часть задержек в логике случайного размещения во время геймплея. Star Dodge берет на себя стандартные задачи и заставляет их работать хорошо. Это наглядный пример эффективного программирования: использовать общие алгоритмы разными способами, чтобы решить проблему. Конкретно в этом случае 14-летнему мне удалось добиться подобного, скорее всего, чисто случайно. Однако с тех пор повторное использование кода стало основой моего стиля программирования. Возможно, все эти программы, написанные мной в юном возрасте, всё же оказались полезны».

Конец тридцать девятой части. Продолжение следует...

4242
6 комментариев

Хотя моё лично знакомство с компьютерами "Sinclair Research" началось некогда с клона ZX Spectrum, старшего брата ZX81, я отлично понимаю тех школьников, кто в далёком 1981 году получал в подарок такую вот машину. Впервые у тебя появляется возможность не просто играть в игры, но и попытаться сначала воспроизвести на собственном компьютере увиденное в аркадном зале, а затем, с освоением БЕЙСИКа, подключить собственную фантазию. А чем ниже порог входа - тем выше возможность получить на выходе ещё одного толкового айтишника! Что до подборки игр по "Звёздным войнам", этой франшизе на ZX81 не слишком повезло - вышедшие игры становились для авторов пробой пера или, как в случае с игрой Нила Стритера, скорее учебным пособием по отработке команд БЕЙСИКа (сам набрал "Star Wars" в эмуляторе с книжного листинга - для отображения "крестокрыла" там используется блоковая графика). Вообще же на ZX81 выходили и более сложные и интересные игры, по полной выжимавшие микроскопическую память компьютера и заставлявшие авторов прибегать к чудесам оптимизации.

Про "Starfighter": в Далёкой-далёкой галактике в удалённых от крупных центрах областях, таких как Неизведанные регионы, вполне нормальным было встретить в одном строю "крестокрылы" и СИД-истребители. Пиратам или другим чуть более законным организациям не приходилось привередничать - летали на всём, что могло выходить в космос. Более того, нормальным явлениям были т.н. "уродцы", когда к корпусу "крестокрыла" приваривали, к примеру, солнечные панели СИДа.

3

Ну на ZX81 в принципе тяжело было писать игры. Там всего то был килобайт памяти. И его не стоит путать с 16 килобайтным спектрумом для которого были хотя бы что то похожее на игры. Хотя их было очень мало. А ZX81 это прям печально. Но это все же и не игровой компьютер вообще.

2

На самом деле для своего времени наверное были залипательные штуки хоть и простые. Всегда интересно погружаться в такие глубокие анналы истории игр

2

Спасибо за комментарий. Рад, что переход марафона к древней-древней классике тоже кому-то интересен :)