Spacewar!

Spacewar! — одна из первых известных цифровых компьютерных игр.

Создана Стивом Расселом[en] при участии Мартина Греца и Уэйна Витенена, которые объединились в неформальную творческую группу под названием Hingham Institute. Эта группа в 1961 году задумала разработать игру на платформе мини-компьютера DEC PDP-1 в Массачусетском технологическом институте (МТИ). После того, как знакомый Рассела Алан Коток[en] получил несколько подпрограмм от компании Digital Equipment Corporation (DEC) по расчёту траектории полёта космического аппарата, Рассел занялся программированием игры, а к февралю 1962 года у него была готова первая версия Spacewar!, и на это ушло примерно 200 человеко-часов работы.

Spacewar!
Spacewar!
Разработчики Hingham Institute, МТИ, Бостон
Издатель Стив Расселл[d]
Дата выпуска 1962
Жанры космический симулятор, Shoot 'em up
Создатели
Продюсер Стив Рассел
Геймдизайнер Стив Рассел
Программисты Стив Рассел[en], Дэн Эдвардс, Мартин Грец, Питер Самсон[en], Боб Сандерс[en], Стив Пайнер
Технические данные
Платформа PDP-1
Режим игры многопользовательский
Язык английский
Управление геймпад
Логотип Викисклада Медиафайлы на Викискладе

В Spacewar! участвуют двое игроков, каждый из которых управляет своим космическим кораблём. Они маневрируют в невесомости рядом с гравитационным колодцем звезды. В начале на борту каждого есть некоторый запас топлива для маневрирования и некоторое число торпед. Симуляция игрового мира базируется на ньютоновской физике — если игрок не предпринимает каких-либо действий, то корабли движутся по инерции. Если корабль сталкивается со звездой, другим кораблем или в него попадёт торпеда, то он погибает. Игрок может в любое время использовать функцию перехода в гиперпространство для «прыжка» в случайное место на экране, но такой переход может уничтожить корабль, и с каждым использованием вероятность потери корабля увеличивается. Изначально игра управлялась переключателями на самом PDP-1, но впоследствии Боб Сандерс придумал и создал ранний геймпад, что сделало управление более удобным и улучшило игровой процесс[⇨].

Spacewar! — одна из самых важных и влиятельных игр в ранней истории компьютерных игр. Она стала популярной в 1960-х годах настолько, что была установлена практически на всех компьютерах PDP-1. Spacewar! портировалась на другие компьютерные платформы, а впоследствии была воссоздана на более современных языках программирования для эмуляторов компьютера PDP-1. Игра непосредственно вдохновила многих на создание других электронных игр[en], примерами среди которых являются первые коммерческие игры для аркадных автоматов Galaxy Game и Computer Space, появившиеся в 1971 году. Помимо этих, было оказано влияние на более поздние, например на Asteroids 1979 года. В 2007 году Spacewar! вошла в десятку самых важных компьютерных игр всех времен, положивших начало созданию игрового канона[en] в Библиотеке Конгресса США[⇨].

Предыстория

Spacewar! 
Стив Рассел, запрограммировавший первую версию Spacewar!

В 1950-х годах Массачусетский технологический институт получил первые компьютеры IBM 704, к которым студенты МТИ сразу же проявили интерес. Однако они остались недовольны тем, что для ввода программ требовалось участие людей-операторов, и что получение результатов занимало несколько часов. Студенты сравнивали эти взаимодействия с тем, что они, как послушники (программисты), просят о божественной помощи у капризного бога (компьютера) через посвящённое духовенство (операторов).

Однако в июле 1958 года Лаборатория Линкольна решила, что их экспериментальный компьютер TX-0 больше им не нужен, и передала его МТИ. Студенты и аспиранты университета получили доступ к нему и возможность программировать. Далее члены университетского сообщества Tech Model Railroad Club[en] (TMRC, клуб железнодорожных моделистов) начали пробовать писать свои программы, в том числе и игры. Сообщество разработало набор игр, в который вошли Tic-Tac-Toe, использующая световое перо для игры в крестики-нолики против компьютера, или Mouse in the Maze, где ручкой рисовались стены лабиринта, по которому должна была пройти виртуальная мышь.

Осенью 1961 года в компьютерной комнате электротехнического отдела МТИ был установлен мини-компьютер PDP-1 компании DEC. До его прибытия и установки группа студентов и сотрудников университета провела мозговой штурм по идеям программ, которые могли бы убедительным образом продемонстрировать возможности нового компьютера. Трое из них — Стив Рассел, сотрудник Гарвардского университета и бывший научный сотрудник МТИ; Мартин Грец, научный сотрудник и бывший студент МТИ; и Уэйн Витенен, научный сотрудник Гарварда и бывший сотрудник и студент МТИ — объединились в группу Hingham Institute, названную так потому, что Грец и Витенен жили на улице Хингам. Эта группа придумала идею для игры Spacewar!. «У нас был новый PDP-1, — сказал Стив Рассел в интервью Rolling Stone 1972 года — Марвин Минский создал несколько небольших программ для создания паттернов, которые выглядели как калейдоскоп. Не очень хорошая демонстрация. У нас был дисплей, который мог делать всевозможные интересные вещи! Поэтому мы начали обсуждение, размышляя о том, что интересного можно было бы показать. Мы решили, что, можно было бы сделать что-то двумерное, маневрирующее, и естественным образом подумали, что очевидный пример для этого — космические корабли».

Игровой процесс

Spacewar! 
Воссоздание Spacewar! на Java-апплете

В Spacewar! участвует два космических корабля, названных the needle (с англ. — «игла») и the wedge (с англ. — «клин»). Они могут стрелять друг в друга и одновременно маневрировать в невесомости среди звёзд. Стрельба производится торпедами, на которые не действует гравитация звезды. В начале у каждого из игроков имеется некоторое количество торпед и запас топлива, который расходуется во время работы двигателей. Физика кораблей частично основывается на ньютоновской механике: они остаются в движении если игрок не использует двигатели, но у них отсутствует инерция вращения.

В Spacewar! участвуют два игрока, каждый из которых управляет своим кораблём. Задачей игрока является уничтожение корабля противника, которого он может сбить торпедой. При этом нужно избегать столкновения со звездой, которая действует на корабли гравитационно: пролёт рядом с ней позволяет осуществить гравитационный манёвр, но если игрок ошибётся, то корабль может упасть на звезду. Игровое пространство таково, что если корабль вылетает за край экрана, то он появляется с другой стороны. В игре есть функция перехода в гиперпространство, или так называемая «паническая кнопка», которая например может быть использована для ухода от вражеских торпед. Вход в гиперпространство моментально перемещает корабль в случайное место на экране, но такой переход может уничтожить корабль, и в некоторых версиях игры при каждом использовании данной функции вероятность потери корабля возрастает.

Игрок может вращать корабль по часовой или против часовой стрелки, включать тягу вперёд, стрелять торпедами и входить в гиперпространство. Изначально управление проводилось переключателями на передней панели мини-компьютера PDP-1, по четыре для каждого игрока. Однако их использование было неудобным, они быстро изнашивались во время игры, и к тому же игроки часто путали их с переключателем питания компьютера. Помимо этого, местоположение переключателей заставляло одного игрока сидеть сбоку от экрана, что оставляло его в невыгодном положении. Для решения этих проблем Коток и Сандерс создали отдельный элемент управления, по сути ранний геймпад. У него было два переключателя и одна кнопка запуска торпед. Первый переключатель использовался для поворота, второй — для создания тяги или перехода в гиперпространство. Кнопка была сделана беззвучной для того, чтобы противник не узнал, что оппонент пытается запустить торпеды.

Разработка

Spacewar! 
Винтон Серф играет в Spacewar! на PDP-1 в Музее компьютерной истории, встреча ICANN, 2007

Осенью 1961 года обсуждались идеи программ для PDP-1, и в то же время Стив Рассел прочитал серию «Линзмен[en]» писателя Эдварда Смита. Он решил, что эти истории хорошо подойдут для будущей программы. Стив говорил, что «злодеи часто преследовали героев по всей галактике, и им нужно было все время выкручиваться из разных ситуаций. И мы предложили сделать на основе этого Spacewar!. В произведении были очень яркие описания сражений космических кораблей и манёвров космического флота». Программист Spacewar! Мартин Грец упоминал, что на них также повлияла серия «Скайларк[en]» Смита и японские фантастические токусацу-фильмы.

В первые несколько месяцев после установки PDP-1 сообщество программистов МТИ сосредоточилось на простых программах для того, чтобы определить возможности разработки программного обеспечения. В этот период Рассел часто посещал своих старых друзей из сообщества и описывал им концепцию Spacewar!. Рассел надеялся, что кто-нибудь займется реализацией игры, но не планировал делать это сам. Однако другие члены сообщества считали его наиболее логичным кандидатом на создание игры и начали оказывать на него давление, чтобы он ее запрограммировал. В ответ Рассел начал придумывать различные оправдания тому, почему он не может начать работать над игрой. Одним из них было отсутствие тригонометрической функции, необходимой для расчёта траектории полёта космического аппарата. Это побудило Алана Котока из Tech Model Railroad Club позвонить в DEC, где ему сообщили, что у них уже есть такая программа. Коток приехал в DEC, забрал содержащую код перфоленту, положил её перед Расселом и спросил, какие у него есть другие оправдания. Рассел потом рассказывал, что «я оглянулся по сторонам и не нашёл оправданий, и поэтому мне пришлось остановиться и подумать», и в декабре 1961 года он начал писать код игры. Игра была разработана в соответствии с тремя принципами Рассела, Греца и Вийтанена, которые они установили для себя. По ним, программа должна была задействовать все ресурсы компьютера; быть последовательно интересной — и соответственно каждый сеанс должен отличаться от других; и наконец, развлекать игроков, а значит, быть игрой. Расселу, с помощью других программистов, включая Боба Сандерса и Стива Пайнера (но не Витенена, который был вызван из запаса Резервом армии США[en]), понадобилось около 200 человеко-часов на то, чтобы написать первую версию Spacewar!, и на это ушло шесть недель.

Spacewar! 
Фрагмент кода из Expensive Planetarium, ответственный за звёздные карты

К январю 1962 года Рассел получил программу, позволяющую двигать точку, а к февралю была готова ранняя рабочая версия с вращаемыми космическими кораблями. Эти два космических корабля были задуманы таким образом, чтобы напоминать пузатый космический корабль из рассказов про Бака Роджерса и ракету PGM-11 Redstone. Стив посчитал, что пустой фон затрудняет определение скорости движения космических кораблей и поэтому добавил случайно генерируемый звёздный фон. В соответствии с неформальной «хакерской этикой», выработанной сообществом программистов, включавшим Hingham Institute и TMRC, все программы свободно распространялись и изменялись другими программистами на условиях сотрудничества, не обращая внимание на вопросы собственности или авторских прав. Это привело к тому, что в доработку первоначальной версии программы Рассела включилось множество людей. Затем, поскольку неточность и отсутствие реализма на звёздном экране раздражали члена TMRC Питера Самсона, то он написал программу, использующую данные реальных звёздных карт, и при этом она отрисовывала на медленно перемещающемся фоне каждую звезду в диапазоне от 22,5° с. ш. до 22,5° ю. ш. до пятой величины. Эта программа была названа Expensive Planetarium (с англ. — «Дорогостоящий планетарий»), так как была намного дороже аналогового планетария из-за стоимости компьютера PDP-1 и вошла в серию других «дорогостоящих» программ, таких как Expensive Typewriter Пайнера. По мере появления новых подпрограмм Spacewar! Рассел собирал их в основную версию, и в марте 1962 года Planetarium стала частью игры.

Spacewar! 
Spacewar!, запущенная на PDP-1 в музее компьютерной истории, 2007 год

В первоначальной версии игры также не было звезды по центру и функции гиперпространственного прыжка. Звезда и гравитация от неё были добавлены выпускником МТИ Дэном Эдвардсом, а гиперпространство — членом TMRC Мартином Грецом. Эти элементы были задуманы для того, чтобы сделать игру более стратегической. В первой версии в гиперпространство можно было входить не более трёх раз и переход был безопасным — корабль мог только случайно попасть в опасное место; в более поздних версиях ограничение было убрано, но добавили увеличивающийся с каждым гиперпереходом риск разрушения корабля. Где-то в это же время Коток и Сандерс разработали для Spacewar! геймпады. Игра была только многопользовательской, так как у компьютера не осталось вычислительных мощностей для управления другим кораблём. Аналогично, предлагалось улучшить графически взрывы кораблей и добавить влияние гравитации на торпеды, но обе эти идеи пришлось отклонить по той же причине. В конце апреля 1962 года Spacewar! была практически завершена, включив в себя все дополнения и изменения. В последующем Рассел с другими программистами начали готовить игру для демонстрации. Так, Spacewar! была показана в мае того же года во время мероприятия открытых дверей МТИ Science Open House. Для демонстрации были добавлены ограничение по времени и большой экран для зрителей, и в том же месяце Грец на первом заседании Общества пользователей компьютеров компании Digital Equipment (Digital Equipment Computer Users' Society[en]) предоставил доклад об игре «SPACEWAR! Real-Time Capability of the PDP-1». Демонстрация пользовалась успехом и игра приобрела большую популярность в МТИ. В лаборатории, в которой размещался PDP-1, вскоре был установлен запрет на игру, и разрешалось играть только во время обеда и в нерабочее время. Редактор Galaxy Science Fiction Фредерик Пол писал, что МТИ «позаимствовал детали из научно-фантастических журналов» и что игроки «могли притворяться персонажами серии Скайларк».

Начиная с лета 1962 года члены сообщества программистов PDP-1 МТИ, включая Рассела и группу Hingham Institute, получили распределение в другие учебные заведения и компании, включая Стэнфордский университет и DEC. Это дало выпускникам возможность распространить игру в другие организации, где были свои компьютеры PDP-1. В результате Spacewar! стала, вероятно, первой компьтерной игрой, доступной за пределами одного исследовательского института. В течение следующего десятилетия программисты этих учреждений начали писать свои собственные версии игры: добавлялись новые корабли, увеличивалось число игроков, гиперпространство заменялось на устройство невидимости, включались в игру космические мины и менялся обзор на вид от первого лица. В последнем случае игра использовала два монитора, и каждый из них показывал своему игроку вид из его кабины. Для некоторых из версий Spacewar! копировался и дорабатывался геймпад Сандерса.

Как Расселу рассказывали на работе в DEC, Spacewar! использовалась в компании для «дымового тестирования» новых компьютеров PDP-1. Это была единственная доступная программа, которая использовала все аспекты аппаратного обеспечения PDP-1. Несмотря на то, что игра была широко распространена для своего времени, она была ограничена из-за стоимости компьютера PDP-1 — его цена составляла 120 000 долларов США. В большинстве случаев компьютеры продавались без монитора, в основном на военные объекты или в исследовательские лаборатории, где не было свободного компьютерного времени. Совокупность этих факторов не позволила Spacewar! выйти за пределы узкой академической аудитории. Всего было продано 53 экземпляра PDP-1. Более поздние модели компьютеров DEC, такие как PDP-6[en], поставлялись с заранее установленной версией Spacewar!, но аудитория игры осталась весьма ограниченной. Например, всего было продано 23 компьютера PDP-6.

Наследие

Spacewar! 
Два человека играют в Spacewar! на компьютере PDP-12[en] на Vintage Computer Festival

Spacewar! пользовалась популярностью в 1960-х годах в небольшом сообществе программистов и широко портировалась на других мини-компьютерах и мейнфреймах того времени, а в 1970-х годах игра появилась и на ранних микрокомпьютерных системах. В 1972 году учёный Алан Кэй, специализирующийся на теории вычислительных систем, отметил, что «Spacewar! спонтанно расцветала везде, где был графический дисплей, подключённый к компьютеру». Мартин Грец в 1981 году вспоминал, что, после того как игра распространилась, её можно было найти на «практически любом исследовательском компьютере, где присутствовала программируемая ЭЛП». Более масштабно игра распространилась через несколько лет после своего первоначального выпуска. Хотя некоторые утверждали, что играли в различные версии Spacewar!, в основном в МТИ и Стэнфордском университете, но компьютеры, способные запускать эту игру, начали появляться только в 1967 году. Так Spacewar! охватила широкую аудиторию и оказала влияние на будущих геймдизайнеров компьютерных игр. По оценкам, к 1971 году в Соединённых Штатах было около тысячи компьютеров с мониторами. Примерно в то же время для различных компьютерных систем было разработано большинство известных версий игры. Появились версии для более поздних компьютеров PDP, а к 1972 году Spacewar! стала настолько известной в сообществе программистов, что был проведён турнир «Intergalactic Spacewar! Olympics» под спонсорством издательства Rolling Stone. Мероприятие состоялось 19 октября 1972 года в Лаборатории искусственного интеллекта Стэнфордского университета и считается первым в истории турниром по компьютерным играм.

В начале 1970-х годов Spacewar! стала основой для первых двух коммерческих компьютерных игр. Где-то между 1966 и 1969 годами студент колледжа Хью Так сыграл в Spacewar! в Стэнфордском университете, и посчитал, что игровой автомат с этой игрой должен быть успешным. В то время дороговизна мини-компьютеров не позволяла коммерчески реализовать такой проект, Так и Билл Питтс в 1971 году на основе компьютера PDP-11 стоимостью в 200 00 долларов США создали прототип аркадного автомата с игрой Galaxy Game. Примерно в то же время Нолан Бушнелл и Тед Дабни[en] разработали свой вариант аркадного автомата на основе Spacewar! с игрой Computer Space, которая стала первой коммерческой аркадной компьютерной игрой и первой широко доступной компьютерной игрой. Хотя Так считал, что Computer Space является плохой имитацией Spacewar!, а его игра — более совершённой адаптацией, но многие игроки рассматривали обе игры как улучшенные варианты Spacewar!.

В 1977 году журнал Byte опубликовал исходный код Spacewar! на ассемблере для Altair 8800 и других компьютеров, архитектура которых построена на базе процессора Intel 8080. Данная версия игры использовала осциллограф в качестве графического дисплея и таблицы поиска для вычисления орбит вокруг звезды. Позже в 1979 году в том же журнале была опубликована версия игры с трёхмерным игровым пространством, реализованная на языке Tiny BASIC. Были выпущены и воссозданы версии игры для современных компьютеров. Примером последнего может служить поставка Spacewar! в комплекте с Microsoft XNA Game Studio Express. Эмулированная версия оригинальной игры, основанная на оригинальном исходном коде, предоставленном Мартином Грецем в открытый доступ и работающая на эмуляторе PDP-1, написанном на JavaScript, была размещёна в Интернете в 2012 году. По состоянию на май 2006 года существовал по крайней мере один рабочий PDP-1 в Музее компьютерной истории в Маунтин-Вью, штат Калифорния, на котором устраивались различные демонстрации, в том числе и игры в Spacewar!.

Кроме Galaxy Game и Computer Space, влияние Spacewar! ощутили на себе и многие другие игры. К ним относятся Orbitwar (1974 год, PLATO), Space Wars[en] (1977 год, игровые автоматы) и Space War[en] (1978 год, Atari 2600). Создавая игру Asteroids, геймдизайнер Эд Логг[en] позаимствовал элементы из Spacewar!, а именно кнопку гиперпространства и форму корабля игрока. Ещё в 1990 году разработчики компьютерной игры Star Control черпали вдохновение из Spacewar!. Рассел говорил, что он был удовлетворён тем, что Spacewar! побудила множество программистов на написание собственных игр без оглядки на код и дизайн его игры.

В марте 2007 года газета «Нью-Йорк таймс» сообщила, что Spacewar! была включена в список десяти наиболее важных видеоигр всех времен, так называемого «игрового канона», и которые было предложено заархивировать в Библиотеке Конгресса. Библиотека Конгресса приняла это предложение по сохранению видеоигр и начала с игр из этого списка. 29 ноября 2018 года Академия интерактивных искусств и наук вручила премию «Пионер», присуждаемую «лицам, чья карьера способствовала формированию и определению индустрии интерактивных развлечений», разработчикам Spacewar! — Дэну Эдвардсу, Мартину Грецу, Стивену Пайнеру, Стиву Расселу, Питеру Самсону, Роберту Сандерсу и Уэйну Витенену.

См. также

Примечания

Источники

Публикации

Ссылки

Tags:

Spacewar! ПредысторияSpacewar! Игровой процессSpacewar! РазработкаSpacewar! НаследиеSpacewar! См. такжеSpacewar! ПримечанияSpacewar! СсылкиSpacewar!1962 год в компьютерных играхDigital Equipment CorporationPDP-1en:Alan Kotoken:Steve Russell (computer scientist)КомпьютерКомпьютерная играМассачусетский технологический институтМини-компьютерПодпрограммаЧеловеко-час

🔥 Trending searches on Wiki Русский:

Гитлер, АдольфСССРСказка странствийСписок стран по ВВП (ППС)Одиножды одинНетаньяху, БиньяминСписок фильмов о Джеймсе БондеВсё везде и сразуTelegramИван ГрозныйСписок президентов СШАДе Армас, АнаЙеллоустон (телесериал)Суворов, Александр ВасильевичАК-74Секс в большом городеЖулин, Дмитрий АнатольевичМандалорецMcDonald’sMinecraftРечь ПосполитаяСаддам ХусейнСоединённые Штаты АмерикиКняZzМефедронПегова, Ирина СергеевнаЭффект ВебленаСписок стран по ВВП (номинал)Карим, ДжаведБодров, Сергей СергеевичЗеленский, Владимир АлександровичМитта, Александр НаумовичПадение ОлимпаПавел IНюрнбергский процесс2023 годThe Last of Us Part IIЗолотов, Виктор ВасильевичПрисоединение Крыма к Российской ФедерацииЛеонардо да Винчи100 самых влиятельных людей в истории (книга)Су-57Крик (фильм, 2022)Республика КосовоПротесты против судебной реформы в Израиле (2023)Сайрус, МайлиПермьГражданская война в СШАБудённый, Семён МихайловичКалифорнияВенгрияБутина, Мария ВалерьевнаВеликая Отечественная войнаEmpire VОднопользовательская играГеринг, ГерманЛукашенко, Александр ГригорьевичЯковлева, Александра Евгеньевна (актриса)Воля, Павел АлексеевичАнглийский языкТриггер (телесериал)Витамин DФельштинский, Юрий ГеоргиевичКарты GoogleБезруков, Сергей ВитальевичВиктория (королева Великобритании)СВОПочка (сериал)Чёрная дыраCall of Duty (серия игр)ВатиканКукрыниксы (группа)1998 годVK (компания)Субъекты Российской ФедерацииОлимпийские богиСвященная Римская империя🡆 More