#58 Обзор Robotwar (1981)
Привет. Игры 80-х достаточно сильно отличаются от современного их представления. Сегодня хочу рассказать про игру Сайласа Уорнера RobotWar. По большей части информация будет браться из отзывов тех времен, например журнала Softalk. Стоит учитывать, что в этой игре, по сути, участвовал только редактор, компилятор и отладчик, что делает игру сильно похожей на работу. В то время индустрия видеоигр была еще мала, так что многие её участники знали программирование. Игры загружались непосредственно в BASIC, так что даже современного понятия хардкорного геймера тогда не было. RobotWar была самой амбициозной игрой созданной Сайласом для Muse. Помимо этого это была его первая работа в компании Muse Software. Он улучшил разработку, созданную ранее, добавив возможность для пяти роботов сражаться одновременно. Muse не могли сравнится скажем с теми же Infocom, несмотря на создание сложных инструментов упрощающих кодирование. При этом они одни из первых научились использовать свой код повторно. Например, в игре встречается код из ранней разработки компании Super-Text, что отмечал, например тот же Softalk.
Сейчас вы, скорее всего, читаете этот текст с экрана с растровым изображением. Условно говоря, тот же текст для такого компьютера, это просто сложная картинка. Такая технология позволяет вам настраивать размер, форму и стиль шрифта. Это позволяет в самой разнообразной форме представлять свой текст. Разумеется, такая технология имеет и недостатки. Самый главный, это то, что подобная технология требует прорисовки буквы за буквой, пикселя за пикселем, а это требует немало вычислительной мощности. Я, например, пишу на экране с разрешением 1920х1200 пикселей. При 4 байтах на пиксель для отображения всех возможных цветов такая возможность занимает около 8 МБ. Тот же Apple II имел на борту только 48 КБ. Стандартно это текстовый экран, где в памяти не отдельные пиксели, а ячейки, в которые можно вставить символ или букву. Дальше всё идет напрямую в экран, без промежуточного программного обеспечения. Правда остается только один шрифт с четко заданными интервалами между символами, зато памяти столько не жрёт. Разумеется, текстовый процессор это вообще не похоже на тот же современный Word.
Когда Эд Зарон работал над Super-Text, он столкнулся с проблемой большинства пользователей Apple II. Текстовый режим позволял только 40 больших символов в строке. Во многом проблема была в экране, на котором меньшие символы могли превратиться в кашу. При этом та же печатная машинка обычно помещает 80 символов в строке. За счёт это понять, каким будет итоговый документ после печати, было практически невозможно. Главной целью Зарона стало отображение 80-символьного текста на экране. Хотя бы для тех, у кого дисплеи это позволяли. Проблема в том, что стандартный дисплей для Apple II не имел такой возможности. Есть возможность рисовать линии, или отдельные пиксели, но сказать компьютеру, нарисовать букву 100 на 100 невозможно. У Зарона ушло огромное количество времени на создание генератора символа высокого разрешения. По сути программки превращающей буквы в картинки. Как сейчас. В итоге студия и Зарон решили отказаться от идеи использования генератора в Super-Text. В режиме Hi-Res было очень медленно работать с текстом. Хорошо, что тогда вышла плата Sup’R’Terminal, которая вставлялась в Apple II.
Эта плата решала проблему, отображая 80-символьный текст намного быстрее. Плюс благодаря ей появилась возможность отображать текст в верхнем и нижнем регистре. Уже ближайшие годы выйдет куча подобных плат, в том числе и от самой Apple. В общем, в итоге генератор Зарона отправляется на полку. Пока Сайлас Уорнер не включает его в RobotWar. В то время большинство игр отображали текст высокого разрешения в нижней части экрана Apple II. Тут же использовалось динамическое отображение, что было редкостью в то время. Даже если игрок не программист, идея запрограммировать своего робота и отправить воевать с другими, сама по себе интересна. Разумеется, у технологий есть свои ограничения. С размером того же робота ничего не сделать. Все имеют одинаковый урон, скорость и радар которым обнаруживает врагов. Псевдоязык программирования очень прост и имеет всего несколько возможных команд. Например, команда RANDOM, которая выдает случайное число в заданном диапазоне от 0 до заданного числа. С помощью функции DAMAGE в переменную D сохраняется количество полученного роботом урона. Если первое число меньше второго значит, робот попал под огонь. Если нет, то можно, например, с помощью функции AIM с показателем 17 повернуть пушку на 17 градусов. Дальше, например, запускается радар в том направлении.
Если враг обнаружен в функцию SHOOT вбивается расстояние и игрок стреляет из пушки, пока враг не развалится. Если враг уходит, то используя функцию RADAR, робот и дальше исследует поле в поисках врага. Разумеется, если самого робота атакуют, нужно отступать. Поле битвы представляет собой сетку 256х256 и закрепляет все позиции в переменные горизонтальной и вертикальной позиции. Функции перемещения посложнее. Это SPEEDX для движения по горизонтали и SPEEDY для вертикального движения. Положительные числа двигают вниз и вправо, а отрицательные вверх и влево. Независимо от числа в этих функциях робот может двигаться только на 40 единиц в секунду. Сложность в том, что нужно поставить цель перемещения, а потом просчитать в числах расстояния до цели по горизонтали и вертикали. При этой сначала функция вбивается по одной оси, а только потом уже по второй. После достижения цели нужно снова браться за сканирование и атаку. По сути, игрок в каком-то смысле создает NPC с ИИ. В каком-то смысле это неплохой способ научится делать подобные вещи. Игра вообще изначально задумывалась как многопользовательская. Такой формат неплохо подошел бы для турниров.
Computer Gaming World именно так и поступили. Игроки провели несколько недель в подвале офиса Muse для определения победителя. Сайлас Уорнер создал шедевр и зачатки огромного наследия, несмотря на достаточно плохие данные о продажах. В то время было куча военных игр, авиасимуляторов и прочего, но такое понятия как битва роботов или скорее битва ботов тогда еще не было. Сейчас подобные битвы приносят миллионы, по ним создают турниры, которые возможно когда убьют человеческий спорт или киберспорт. Все подобные мероприятия вряд ли появились бы без Сайласа Уорнера. Первые битвы роботов так и назывались – Robot War. Хотя может это и слишком очевидное название. Так же назывались и некоторые телесериалы про войны роботов. Очевидным наследником игры является Robot Battle. Менее очевидным – MindRover. Ну и конечно огромное количество других подобных игр. Если кто-то не знал, то это не единственный шедевр Уорнера. У него еще была такая незначительная игра как Castle Wolfenstein. Про неё я разумеется тоже буду рассказывать. Спасибо за ваше внимание.
Уголок ретрогеймера
2.2K постов11K подписчиков
Правила сообщества
(Ранняя альфа-версия правил) -Да не будет создано здесь отдельных постов об играх, вышедших изначально менее 15 лет назад (возможно временная формулировка).
-Не оскорбляй других пользователей.
-Не спамь.
-Все вопросы по поиску каких-то определённых игр задавайте здесь:http://pikabu.ru/story/pomoshch_po_poisku_kakoyto_opredelyon...
-Спросить совета про то, во что поиграть можно здесь:http://pikabu.ru/story/posovetuyte_vot_kakuyu_igru_5005075