Глава 3 Кооперативные умники. Часть III

(…из неизданных мемуаров Рожкова Н. Е., хранящихся в его семейном архиве. Запись из 1962-го…)


Я хорошо помню, как «это было» весной 1955, у нас в Молотове, на принадлежащей нашей семье трёхэтажной кирпичной DACHA по улице Кирова, что за рекой Кама.

Первый, «гостевой» этаж, мы отвели нашим гостям. Двое из которых были хорошо мне знакомыми давними сотрудниками нашего НИИВТ, а двое — таких же, из ВЦ АН Советской Латвии, и тоже с «горящими глазами»… на почве только-только рождавшегося игростроительства — геймдева.

Все четверо посвятили личные отпуска сей своей страсти… подстёгиваемой желанием «хорошо заработать» на хобби и таланте.

Шесть образцов первого варианта М-7, пару месяцев назад отправившегося в серийное производство и готовящаяся «к серии» игровая приставка — вот тот «стартовый набор», на котором в спешке доводилось то, что наклепала с лета прошлого года инициативная четвёрка цифровых мушкетеров зари эпохи электронных игр плюс то, что заранее, но уж очень неспешно готовил я.

Выглядело всё это действо внешне, наверное, как некий игровой клуб из 90-х — моего утерянного прошлого?

Даже атмосфера та же — муззон из стереосистемы с разнесёнными колонками, еда и питьё, подносимые на столы, рядом к вычислителям, на которых создавался и отлаживался код, рисовалась графика и создавались звуки для версий тайтлов на настольные вычислители и для будущей прошивки в первые 16-килобайтные (за которыми пришли и более ёмкие) картриджи приставки…

«Цифровые мушкетёры» Антон, Алексей, Имант и Каспар.

То ли кукловод, хехе и «кардинал», то ли «капитан-лейтенант мушкетёров» — попаданец из 2018-го.

И две музы — Марго и Маринка.

К шести вычислителям, задействованным в разработке и тестировании игрового ПО, подключены шесть мониторов из первой партии от «смежников» по НКЭП, и периодически подключаемые два наших домашних телевизора. Для сравнения — «как это будет выглядеть на более качественном 'монике» и как — на обычном бытовом ТВ, сигнал куда подаётся через антенный вход «зомбоящиков». Имеется пара гибких дисководов и пара бытовых магнитофонов. «Печатник» (принтер). Гора рулонов распечаток с ассемблерными «портянками» кода игр. Магнитофонные катушки с резервными копиями…

Марго с Мариной по очереди (младший ещё мал, он только иногда поглядывает на происходящее вокруг действо из «манежа») заняты тестированием игр на пятом вычислителе. Я сам работаю на шестом. (К слову говоря, замечу, что супруга потратила за прошедшие к тому моменту неполные 13 лет нашего совместного житья-бытья немало времени, играя и записывая геймплей множества «игр будущего» (нативные из числа имевших на ноуте и под эмуляторами старых платформ) в предвидении мною окончания срока службы «железа», попавшего в 1940-й.)

…Здесь делали игры. Здесь творилась история, которая, между прочим, ежедневно фотографировалась в расчёте «на будущее». Для другой, официальной, более прилизанной и доступной взгляду широкой публики книги «как это было».

* * *

Для меня было очевидным, что главное в самом первом взгляде на большинство электронных игр — это графика. Даже геймплей оценивается спустя короткое, но всё же большее время.

Поэтому, ещё до того, четвёрка помогла мне реализовать идеи насчёт «электронные игры — в массы!», корпеть НИИВТ и КБ МЗЭТ при проектировании видеочипа («дисплейного процессора») пришлось очень и очень, стараясь «достичь многого при учёте всех ограничений».

А лично мне — править ТЗ и чётко держать «руку на пульсе» разработки, всегда вытаскивая из головы и материалов на компе любой ценный «опыт будущего».

Стандартное разрешение, гарантированно поддерживаемое минимальной конфигурацией с 16 кб видеопамяти (как единственно возможной для приставки, так и для первого, не «прокачанного» платами расширения варианта М-7) 320×200.

Но даже в таком «скудном» (лишь в образах внутри моей, да немногих «допущенных» головах, да…) разрешении, поддерживаемых видеорежимов в нём целая куча:

8 двухцветных (черно-белый, жёлто-зелёный и прочие контрастные схемы) однобитных (на пиксель) режимов, соответственно использующих только 8000 байт из видеоОЗУ (320×200/8)

Есть и четырёхцветный видеорежим — двухбитный (на пиксель) режим (320×200/4)

Был забавный момент. Отдельный утончённый ум из КБ МЗЭТ, участвовавший в проектировании видеочипа для М-7/приставки, предложил реализовать «извращенскую» схему, которую я опознал как аналогичную «Спекки» — когда содержимому его, фактически черно-белого изображения (один бит на пиксель) предлагалось присваивать, в рамках знакоместа размером 8×8 точек (т.е. квадрату из 64 пикселей на экране) однобайтовый «атрибут», три бита которого давали цвет переднего плана, три бита цвет фона, 1 бит яркости и 1 бит мигания. Это давало возможность использования 15 цветов. На реальном «Спекки» таким образом, при разрешении 256×192 видеопамять занимала всего 6912 битов, т.е. менее 7 килобайт и давала приличное быстродействие без аппаратного скроллинга.

Но, помня, что:


а)…то, как тяжело было программистам игр и других программ на ZX Spectrum моего прошлого работать с подобным устройством видеопамяти…

б)…имея уже заложенные в видеочип возможность аппаратных вертикального (гладкого, через пиксель) и горизонтального (пусть и через 8 или 4 пикселя) скроллинга и, (главное) аппаратных спрайтов…

в)…предполагая быстрое развитие плат расширения с дополнительным видеоОЗУ, как и увеличение списка доступных многоцветных видеорежимов, что изначального закладывалось в возможности стандартного видеочипа…

г)…предполагая последующее появление плат расширения в виде «внешней видеокарты» с вообще новыми видеопроцессорами с более широкими возможностями…


…я пресёк ту идею, пояснив вышеуказанные моменты, адаптировав свои слова возражения к «текущей реальности»:-)


Стоит заметить, что в двухцветном видеорежиме была реализована та самая крайне приятная для программирования игр возможность использования аппаратных спрайтов, «накладываемых» видеочипом поверх основного изображения — до 64 спрайтов 8×8 или до 32 16×16, которые располагались, при потребности в них, программистом игры в оставшейся свободной видеопамяти. Каждый спрайт мог иметь один из 256 цветов!

Маски ( 0 — прозрачное, 1 — непрозрачное, цвет задаётся для всего спрайта отдельно) 64 спрайтой 8×8 пикселов занимали 512 байт видеопамяти или в случае 32 16×16 — 2 кб.

Работа с которыми, после размещения их в видеопамяти, была крайне проста для программиста. Всего лишь — манипуляции со списком их координат (применительно к экрану), номером цвета (0–255) и указателями на размещение в видеопамяти.

Четырёхцветный видеорежим занимал 16000 байт из 16384 видеопамяти, оставляя там лишь 384 байта, для хранения в которых видеочип поддерживал работу 32 спрайтов 8×8.


В видеочипе, для скроллинга были два «хитрых» спецрегистра, использовавших схему манипуляции через их значения для смещения отображения реального содержания видеопамяти на экране.

При «гладком» вертикальном скроллинге схема работала так:

При нулевом значении регистра видеочип просто отображал по порядку соответствующее содержимое видеопамяти с начального адреса в ней с первой линии на экране по последнюю. При увеличении значения регистра с 0 на 1 видеочип отображал содержимое видеопамяти с начального адреса начиная со второй линии по последнюю, показывая то, что было в предыдущей итерации на последнее линии, уже на первой.

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

Увеличивая-уменьшая значение, возможно было скроллировать содержимое экрана в обеих направлениях.

Для аппаратного горизонтального скроллинга такой фокус также был возможен, но, по аппаратным причинам, только через 8 или 4 пикселя. (байт видеопамяти, соответственно, отображал 8 (для случая 2 цветов на пиксель) или 4 пикселей (для случая 4 цветов на пиксель)).

Именно в расчёте на подобные аппаратные графические возможности и создавался первый набор игр полноценной 8-битной платформы, с двумя её ветвями развития!

* * *

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

Простым сравнением и описанием сего факта выглядит фраза «игры на компьютерах начала 80-х были из из конца жизненного цикла этих платформ».

Многие наши конкуренты в создании игр, появившиеся на волне успеха продаж платформы в СССР, Европе и за океаном (производимые по лицензии, купленной IBM) и созданного нами игрового софта к обеим ветвям платформы, какое-то время тупо задавались вопросом — «как это сделано⁇» Даже имея возможность дизассемблирования и качественную документацию по архитектуре платформы, рекомендации по программированию для неё, прошло немалое время, прежде чем эти самые конкуренты подтянулись за нами.

Помимо дизассемблирования процедур в машинных кодах, эффективно использующих все аппаратные возможности платформы, нужно было знать ответы на вопросы, «где взять идеи и как именно писать новые крутые игры?».

Опыт моего прошлого и запасы «как это было сделано тогда» были доступны тут единицам, из которых отношение к игростроительству имело ещё меньше:-)

И если хорошие мозги, набитые на программировании руки были не только у четвёрки «цифровых мушкетёров», то советы с высоты опыта «а вот давайте запилим ещё такую игру…» мог давать, фактически только я один:-)

И я их давал… только тем четверым… хехе.

Остальное — цедил намёками в специализированной игровой прессе, бурно начавшей цвести вместе с платформой, разработкой софта и периферии к ней.

* * *

Список игр, которые достигли состояния релиза к моменту начала продаж игровой приставки и М-7 и поставляемые (в разных количествах и в виде -картриджей, магнитофонных катушек и немногочисленных пока дискет) был таков:

Абсолютно новые, рождённые воображением местных, без моих подсказок!


1) «Камикадзе»

2) «Настольный теннис»

3) «Звёздная война»

4) «Лабиринт» с процедурно генерируемыми уровнями

5) «Ралли»


Доработанные под использование новых графических и звуковых возможностей игры, изначально созданные для текстового режима М-4:


6) Тетрамино

7) Замок Гоблинов (по сути, тот же Lode Runner)

8) Шахматы

9) Шашки

10) Удав-змея

11) Морской бой

12) Карты («подкидной дурак»)


Также абсолютно новые, созданные по идеям, которыми я поделился с «четвёркой», выверив своё послезнание на «то, что делать сейчас» и «то, что оставить на позже»:


13) «Цветные линии» (Color Lines),

14) «Танки» — знаменитые и фантастически играбельные «танчики» времён NES.

15) Breakout, он же Arkanoid.

16) Pacman


Воссозданные единолично мной:


17) «Принц Персии» (Prince of Persia)

18) «Убийцы Вампиров» (Vampire Killer (название Castlevania тут не было оглашено)) — он вышел чуть позже, поздней осенью 1955, после разогрева интереса к нему демо-версией, которую мы с Марго презентовали за океаном летом того года в «Midnight Computer Club» Юджина Харриса.


Особенностью момента начала разработки (в сравнении с известными мне проблемами моего прошлого) было то, что для ускорения кодинга я постарался максимально стандартизировать разработку игр и донести важность сего момента до «моих» прогеров.

Стандартные отлаженные процедуры в машкодах, которых не было в ПЗУ М-7 (основную часть которого занимал интерпретатор «базового» языка программирования), но которые были крайне важны для быстродействия игр, разрабатывались в в первую очередь… как только я взял дело в свои руки в кооперативе.

Да, мы потратили в начале совместной разработки пару месяцев на создание универсальных, максимально быстродействующих, хорошо отлаженных и релоцируемых в адресном пространстве ОЗУ процедур работы с графикой (тайлы, аппаратные и программные спрайты и т.д.), звуком и устройствами-манипуляторами (мышь, клавиатура, джойстик) и прочим… но это окупилось сразу же, заметно ускорив разработку игр.

Ещё кое-что я передал на нужды «четвёрки» из созданного ранее мной для «Принца Персии»…


На основе созданных нами процедур весной 1956-го для игроделов всего мира вышел первый, снабжённый хорошей документацией SDK (Software development kit) (ну, конечно, это было громкое название для простого сборника всё же весьма полезных и многочисленных процедур…), заточенный на быструю разработку игр.

Плодя таким образом «конкурентов» по геймдеву, мы не действовали во вред себе. Нет! Мы работали на развитие и так популярной и целый год бывшей единственной в мире игровой платформы, закрепляя её доминирование на рынке электронных развлечений.

Конкуренты появлялись в области создания игр. Но они достаточно долго шли позади нас. А захват рынка 8-битной платформой М-7/игровая приставка был таков, что попытки сделать «что-то иное, абсолютно независимое от нас» проваливались в течении ещё нескольких лет.

Люди в мире начали массово играть в электронные игры.

Это была наша платформа (пусть её выпуск вёлся не только предприятиями НКЭП СССР, но и по лицензиям, ещё в нескольких странах.)

Тогда же, на основе общедоступных комплектующих и нашей качественной документации в мире появились и первые не лицензионные клоны М-7/приставки, создаваемые буквально «на коленке». Бороться с которым НИИВТ и МЗЭТ не видели смысла, ибо их авторами были не какие-то «организованные бизнесы», а фанаты радиодела, кодинга и геймерства.

Рынок 8-битного железа и софта для него — как игрового, так и общесистемного был фактически монополизирован кооперативом и НИИВТ. Первое время только в прикладном ПО, местные разработчики в разных странах имели нормальные шансы на прибыль «со своего».

НИИВТ разработал и создавал новые версии дисковой ОС-3 для «серьёзного применения» и для продвинутых игроманов.

SSG — Starsoft games (кооператив «Звёздные игры») в течении последующих за стартом платформы 5 лет стандартно выдавал в месяц по 1–2 очень качественных в смысле реализации и весьма играбельных игр разных жанров, поддерживая огонь интереса публики, требовавшей новых тайтлов и новых частей самых удачных предыдущих.

К 1960-у году, SSG и многочисленные конкуренты на всех, за исключением, пожалуй, Антарктиды, материках суммарно создали первую тысячу игр для обеих ветвей платформы…

* * *

Руководство SSG, разработкой банковского софта и средствами программирования для платформы в целом позволило мне в этом, столь вожделенном процессе геймдева самолично, как программист, участвовать лишь «чуть-чуть».


После «Принца Персии» и «Убийцы Вампиров», до появления М-8 я лично создал ещё три игры:

На волне успеха обеих этих красочных и увлекательных аркад появились их вторые части, а также, помня о рассказе отца об его игре ещё на ZX Spectrum в «Сталинград» в 1992-м, я отыскал в своё время в залежах эмуляции сей тайтл и другой варгейм — по вторжению Наполеона в Россию в 1812-м.

Первым варгеймом (не считая специфического софта для Генштаба РККА) этого мира тут стал тайтл «Битва за Смоленск — 1941», который являлся специфическим увлечением для относительно узкого круга фанатов жанра, имевших дисковую версию М-7. Особый флёр (по крайней мере, лично для меня) воссозданию атмосферы и подробностей решающих боёв 1941-го ТУТ был в том, что мне удалось получить некоторую эксклюзивную информацию из рук тех, кто руководил сражением с нашей стороны… а «напоминание о себе» привело к тому, что новый начальник Генштаба РККА, побывав у нас в НИИВТ… нет, не одарил нас, как мы рассчитывали:-) щедро оплачиваемыми заказами на разработку того-сего-пятого-десятого… к «специсполнениям» М-7, а… приказал создать «полноценный военный аналог НИИВТ» в структуре Наркомата обороны! Заточенный «на нужды обороны страны».

Несмотря на все усилия держать под контролем НИИВТ развитие системного ПО для платформы в наших руках, оставив у ведомств лишь разработку «прикладняка», ведомственные интересы взяли вверх.

И, кстати, я не знаю, плохо ли сие обстоятельство или хорошо. Просто констатирую факт — с каждым годом процесс развития ВТ и ПО в СССР (и, тем более в мире) уже идёт «своим чередом». То, что успели заложить в начале, когда к нам «смотрели в рот» и прислушивались к каждому нашему слову, то и сделано. Ныне это — прошлое…

* * *

Более ранее развитие «цифрового мира», как мне кажется, внесло свою лепту и более быструю трансформацию общества второй половины 50-х. Как в СССР, так и за океаном… но о сём сравнении «как это происходит тут» — в следующей записи моих мемуаров, которые вряд ли увидят свет при моей жизни…

Загрузка...