Мобильное меню


Ещё разделы
ПОДПИСЫВАЙСЯ
Картинки
Форма входа
Реклама
Таинственное происхождение видеоигры, которую невозможно взломать
Познавательное

Таинственное происхождение видеоигры, которую невозможно взломать

Админчег Muz4in.Net Тэги


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



«Ваша команда археологов попала в "зомби-катакомбы"». Жалкая ситуация, конечно. Но именно с таким испытанием столкнулись игроки Entombed, игры для приставки Atari 2600, согласно руководству по эксплуатации.

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

Выпущенная в 1982 году, игра Entombed была далека от популярности. Сегодня о ней практически никто не помнит. Однако буквально недавно компьютерный учёный и цифровой археолог решили разобрать исходный код игры, чтобы понять, как она устроена.

В Entombed всегда было что-то интригующее, вспоминает Джон Эйкок из Университета Калгари в Альберте (Канада). И поскольку она впала в безвестность, её не разобрали и не проанализировали подробным образом раньше – одна из главных причин, почему Эйкок и его коллега Тара Копплстоун из Йоркского университета (Великобритания) предпочли изучить Entombed, а не одну из других 500 игр, созданных для консоли Atari 2600.

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

Подобно бесстрашным исследователям катакомб, Эйкок и Копплстоун искали любопытные реликвии внутри Entombed. Но они получили больше, чем рассчитывали: они нашли загадочную часть кода, которую не смогли объяснить. Кажется, логические объяснения, стоящие за ним, были потеряны навсегда.

В лабиринте

Игры с лабиринтами были популярны в конце 1970-х и начале 1980-х годов, однако методы создания лабиринтов варьировались от программиста к программисту. В эпоху Atari игры разрабатывались с невероятным мастерством, поскольку компьютерные системы в тот период были весьма ограниченными.

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

Но как заставить компьютерную программу не создавать бесполезный, непроходимый лабиринт со слишком большим количеством стен?

Эйкок понимал всю хитрость проблемы. Он думал, что непременно обнаружит какой-то хитроумный процесс в глубинах Entombed.

«Это была очень глубокая кроличья нора, – вспоминает он. – Когда я углубился в алгоритм, стало ясно, что это было нечто уникальное для этой игры в лабиринт».

Оказалось, что лабиринты генерировались в определённой последовательности. Игра должна была решить, что появится следующим: стена или пространство для перемещения игровых персонажей. Каждый квадрат мог быть «стеной» или «отсутствием стены» – «1» или «0» в компьютерных битах. Алгоритм игры решал автоматически, анализируя участки лабиринта. Он использовал «плитку» из пяти квадратов, похожую на фигурки в «Тетрисе». Эта «плитка» определяла характер следующего квадрата в каждом ряду.

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

Потерянное происхождение

Всё кажется простым, но дело в том, что никто не может понять, как была организована таблица.

Эйкок и Копплстоун предприняли попытку восстановить таблицу. Они искали закономерности в значениях, но их усилия были тщетными. Что бы они ни делали, у них ничего не получалось. Всякий раз, когда запускается игра, появляется новый лабиринт с надёжной навигацией. Если бы значения таблицы были случайными или даже слегка отличались, лабиринт, скорее всего, нельзя было бы нарисовать с проходимым путём. Кажется, это невозможно объяснить.

«Аномальность таблицы поражала», – говорит Копплстоун. По её словам, это пример классической дилеммы в археологии. «Я полагаю, что существует такое предположение, что когда мы находим вещи, мы знаем, что они собой представляют – когда мы вытаскиваем наконечник копья из земли, мы понимаем, что это такое, – поясняет она. – Но чаще всего мы понятия не имеем, что происходит».

У Эйкока неразгаданная тайна таблица вызывает дискомфорт.

«Проблема, с которой я столкнулся как учёный, заключается в том, что я думаю, будто существует какой-то логический способ объяснить всё это, однако на самом деле его нет».

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



Во время своего исследования Эйкок и Копплстоун взяли интервью у одного из людей, которые принимали участие в разработке игры, Стива Сидли.

По словам Сидли, таблица также приводила его в замешательство. «Я не мог расшифровать её», – сказал он исследователям. И он утверждал, что это была работа программиста, который выполнял её, будучи не совсем трезвым: «Он сказал мне, что идея пришла к нему, когда он был пьян и плохо соображал». Эйкок попытался связаться с программистом, о котором идёт речь, но не получил ответа.

Цифровые раскопки

Эндрю Рейнхард, также из Йоркского университета, пишет об археологии видеоигр и практикует её. Он говорит, что работа Эйкока и Копплстоун над Entombed – это ещё один намёк на то, что есть много «драгоценных камней», которые просто ждут, чтобы их нашли в старых играх и программном обеспечении.

«У меня такое чувство, что то, что произошло с Entombed, происходит чаще, чем мы думаем, просто мы ещё не знаем, в каких играх есть нечто подобное», – говорит он.

Идея о том, что археологи будут заинтригованы видеоиграми, выпущенными несколько десятилетий назад, может показаться странной. Мы привыкли видеть, как заядлые землекопы смахивают пыль с красивых ваз, хранившихся в земле на протяжении тысячелетий, или прочих сокровищ. Но Рейнхард отмечает, что видеоигры стали крупным коммерческим явлением и важной частью нашей культуры. Игровые артефакты хранят собственные записи человеческой истории.

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

Она утверждает, что было приятно услышать о том, что программист 1980-х годов изменил код таким образом, что никто не может разгадать его. Такой «метод проб и ошибок» – хорошо известный процесс в программировании.

Выявление методов, с помощью которых первые программисты преодолевали технические ограничения систем своего времени, представляет собой не только научный интерес. Это актуально сегодня.

Возьмем, к примёру, программирование игр и опыта в виртуальной реальности (ВР). Оно кардинальным образом отличается от двухмерных лабиринтов для Atari в визуальном плане. Но требования к программисту схожи по своей природе.

«Вы ограничены в техническом отношении, поскольку [игра ВР] должна работать на очень высокой частоте кадров, – объясняет Пеперс. – Вы ограничены тем, как игрок может двигаться и что он может делать».

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

Эйкок считает, что алгоритм лабиринта в Entombed, который они обнаружили, является хорошим примером того, как творческие программисты решают проблемы.

Клад

Речь идёт не просто о коде, который цифровые археологи пытаются разгадать. В 1983 году Atari похоронила 700 тысяч картриджей с видеоиграми на полигоне в Аламогордо (штат Нью-Мексико). Это было историческое событие, широко обсуждаемое и дискредитированное некоторыми как городской миф.

Игры, которые фирма решила похоронить, были подвергнуты широкой критике и плохо продавались. Одна из них, ET the Extra-Terrestrial, была названа худшей видеоигрой в истории.

Боле трёх десятилетий картриджи оставались нетронутыми. Однако в 2014 году Эндрю Рейнхард и его коллеги организовали раскопки в том месте. Захоронение не было городским мифом – Рейнхард выкопал 1300 картриджей. Сотни игр ET были проданы на Ebay на общую сумму $108000 (£83500).

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

Возможно, ещё несколько лет – и картриджи вообще оказались бы непригодными для продажи. Таким образом, в ближайшем будущем археологам, рассматривающим электронику как артефакт, предстоит решить сложную задачу: беспощадность времени.

Археология видеоигр в действительности имеет важное значение, поскольку физическая форма массовых игр эфемерна. Следовательно, логика и ноу-хау программирования этих игр могут быть потеряны навсегда.

Однако сохранение видеоигр – это лишь первый шаг. Таблица загадочных лабиринтов в Entombed напоминает нам, что полное понимание игры – совсем другое дело.

Специально для читателей моего блога Muz4in.Net – по материалам сайта bbc.com

Copyright Muz4in.Net © - Данная новость принадлежит Muz4in.Net, и являются интеллектуальной собственностью блога, охраняется законом об авторском праве и не может быть использована где-либо без активной ссылки на источник. Подробнее читать - "об Авторстве"



Вам понравилась статья? Просто перейди по рекламе после статьи. Там ты найдешь то, что ты искал, а нам бонус...


Почитать ещё:


Имя *:
Email:
Код *: