Космическая война! — видеоигра о космических боях , разработанная в 1962 году Стивом Расселом в сотрудничестве с Мартином Грецем, Уэйном Виитаненом, Бобом Сондерсом , Стивом Пайнером и другими. Он был написан для недавно установленного миникомпьютера DEC PDP-1 в Массачусетском технологическом институте . После своего первоначального создания Spacewar! был расширен другими студентами и сотрудниками университетов в этом районе, в том числе Дэном Эдвардсом и Питером Самсоном . Он также был распространен на многие из нескольких десятков компьютеров PDP-1, создав Spacewar! первая известная видеоигра, в которую можно играть на нескольких компьютерах.
В игре представлены два космических корабля , «Игла» и «Клин», участвующие в воздушном бою , маневрируя в гравитационном колодце звезды. Оба корабля управляются игроками-людьми. Каждый корабль имеет ограниченное вооружение и топливо для маневрирования, и корабли продолжают двигаться, даже когда игрок не ускоряется. Полет рядом со звездой для оказания гравитационной помощи был обычной тактикой. Корабли уничтожаются при столкновении с торпедой, звездой или друг с другом. В любой момент игрок может задействовать функцию гиперпространства , чтобы переместиться в новое случайное место на экране, хотя в некоторых версиях каждое использование вместо этого увеличивает вероятность уничтожения корабля. Первоначально игра управлялась с помощью переключателей на PDP-1, хотя Боб Сондерс построил ранний геймпад , чтобы уменьшить сложность и неудобство управления игрой.
Космическая война! — одна из самых важных и влиятельных игр в ранней истории видеоигр . Он был чрезвычайно популярен в небольшом сообществе программистов в 1960-х годах, а общедоступный код широко портировался и воссоздавался на других компьютерных системах того времени, особенно после того, как к концу десятилетия компьютерные системы с мониторами стали более распространенными. Он также был воссоздан на более современных языках программирования для эмуляторов PDP-1 . Он напрямую вдохновил многие другие видеоигры, такие как первые коммерческие аркадные видеоигры Galaxy Game и Computer Space (обе 1971 года), а также более поздние игры, такие как Asteroids (1979). В 2007 году Spacewar! была включена в список десяти самых важных видеоигр в истории, который положил начало игровому канону в Библиотеке Конгресса , а в 2018 году она была введена во Всемирный зал славы видеоигр The Strong и Международным центром. по истории электронных игр .
В 1950-х годах различные компьютерные игры были созданы в контексте академических исследований в области компьютеров и программирования, а также для демонстрации вычислительной мощности, особенно после появления в конце десятилетия меньших по размеру и более быстрых компьютеров, на которых программы можно было создавать и запускать в режиме реального времени. в отличие от выполнения по графику . Однако некоторые программы предназначались как для демонстрации мощности компьютера, на котором они работали, так и в качестве развлекательных продуктов; Обычно они создавались студентами и аспирантами, а также сотрудниками университетов, например, в Массачусетском технологическом институте (MIT), где сотрудникам и студентам иногда разрешалось разрабатывать программы для экспериментального компьютера TX-0 . [1] Эти интерактивные графические игры были созданы сообществом программистов, многие из которых являются студентами и сотрудниками университетов, входящими в Клуб технических моделей железных дорог (TMRC), возглавляемый Аланом Котоком , Питером Самсоном и Бобом Сондерсом. Среди игр были «Крестики-нолики» , в которых световая ручка использовалась для простой игры в крестики-нолики против компьютера, и «Мышь в лабиринте» , в которой световая ручка использовалась для создания лабиринта стен, по которому могла бы перемещаться виртуальная мышь. траверс. [1] [2] [3]
В сентябре 1961 года мини-компьютер PDP-1 Digital Equipment Corporation (DEC) был установлен в « комнате хранения » на 2-м этаже здания 26, где располагался факультет электротехники Массачусетского технологического института. PDP-1 должен был дополнить более старый TX-0 и, как и он, имел устройство чтения и записи перфоленты , а также дополнительно принимал входные данные с панели переключателей и мог выводить данные на дисплей с электронно-лучевой трубкой (ЭЛТ). Летом, перед его появлением, группа студентов и сотрудников университета обдумывала идеи программ, которые убедительно продемонстрировали бы возможности нового компьютера. Трое из них — Стив Рассел , тогда сотрудник Гарвардского университета и бывший научный сотрудник Массачусетского технологического института; Мартин Грец, научный сотрудник и бывший студент Массачусетского технологического института; и Уэйн Виитанен, научный сотрудник Гарварда и бывший сотрудник и студент Массачусетского технологического института, придумали идею « Космической войны»! . Они называли свое сотрудничество «Институтом Хингема», поскольку Грец и Виитанен жили в многоквартирном доме на Хингем-стрит в Кембридже, штат Массачусетс . [2] [4] «У нас была совершенно новая PDP-1», — сказал Рассел журналу Rolling Stone в интервью 1972 года. «Кто-то [ Марвин Мински ] создал несколько небольших программ, генерирующих узоры, которые создавали интересные узоры, подобные калейдоскопу . Не очень хорошая демонстрация. Вот этот дисплей, который может делать много хороших вещей! Это были бы интересные экспонаты. Мы решили, что, вероятно, можно сделать что-то вроде двухмерного маневрирования, и решили, что, естественно, очевидным решением будут космические корабли». [2] [5]
Геймплей Spacewar! включает в себя два монохромных космических корабля , называемых «Игла» и «Клин», каждый из которых контролируется игроком, которые пытаются стрелять друг в друга, маневрируя на двухмерной плоскости в гравитационном колодце звезды, расположенной на фоне звездного поля. [2] [4] Корабли стреляют торпедами, на которые не влияет гравитационное притяжение звезды. Корабли имеют ограниченное количество торпед и запас топлива, которое используется, когда игрок запускает двигатели корабля. [6] Торпеды запускаются по одной, щелкнув тумблер на компьютере или нажав кнопку на панели управления, и между запусками существует период восстановления . Корабли остаются в движении, даже когда игрок не ускоряется, а вращение кораблей не меняет направление их движения, хотя корабли могут вращаться с постоянной скоростью без инерции . [2]
Каждый игрок управляет одним из кораблей и должен попытаться сбить другой корабль, избегая столкновения со звездой или кораблем противника. Полет рядом со звездой может оказать игроку гравитационную поддержку , рискуя неправильно оценить траекторию и упасть в звезду. Если корабль проходит за один край экрана, он снова появляется на другой стороне с эффектом заворачивания . Функция гиперпространства , или «тревожная кнопка», может использоваться в качестве последнего средства уклонения от вражеских торпед путем перемещения корабля игрока в другое место на экране после его исчезновения на несколько секунд, но повторный вход из гиперпространства происходит через некоторое время. случайное местоположение, а в некоторых версиях вероятность взрыва корабля увеличивается с каждым использованием. [6]
Элементы управления игроком включают вращение по часовой стрелке и против часовой стрелки, тягу вперед, стрельбу торпедами и гиперпространство. [6] Первоначально они контролировались с помощью тестовых переключателей на передней панели миникомпьютера PDP-1, по четыре переключателя для каждого игрока, но они оказались неудобными в использовании и быстро изнашивались при обычном игровом процессе, а также вызывали у игроков случайно перевернуть переключатели управления и питания компьютера. Расположение переключателей также оставляло одного игрока позади ЭЛТ-дисплея из-за ограниченного пространства перед компьютером, что ставило его в невыгодное положение. [2] Чтобы облегчить эти проблемы, Сондерс создал отдельное устройство управления, по сути, ранний геймпад . [7] [8] На геймпаде был переключатель для поворота влево или вправо, другой для тяги вперед или гиперпространства, а также кнопка запуска торпеды. Кнопка была бесшумной, чтобы у противника не было предупреждения о том, что игрок пытается запустить торпеду во время периода восстановления. [2]
Рассел, Грец и Виитанен разработали базовую версию «Космической войны»! концепт летом 1961 года, в ожидании установки PDP-1. [4] Рассел недавно закончил читать серию «Ленсман» Э. Э. «Дока» Смита и подумал, что эти истории станут хорошей основой для программы. «Его герои имели сильную склонность к тому, чтобы злодеи преследовали их по всей галактике, и им приходилось изобретать выход из своих проблем, пока их преследовали. Именно такого рода действия наводили на мысль о «Космической войне»!. У него было несколько очень ярких описаний. встреч космических кораблей и маневров космического флота». [5] Другие источники влияния, на которые ссылается коллега-программист Мартин Грец, включают романы Э. Э. Смита «Жаворонок» и японские художественные фильмы токусацу . [9]
В течение первых нескольких месяцев после установки сообщество программистов PDP-1 в Массачусетском технологическом институте сосредоточилось на более простых программах для разработки программного обеспечения для компьютера. [2] В этот период Рассел часто навещал своих старых друзей в сообществе и рассказывал о Космической войне! концепция для них. Рассел надеялся, что кто-нибудь внедрит игру, но не планировал делать это сам. Однако другие члены сообщества посчитали, что он был логичным выбором для создания игры, и начали оказывать на него давление, чтобы тот запрограммировал ее. [4] В ответ Рассел начал приводить различные оправдания, почему он не может этого сделать. [2] Одним из них было отсутствие программы тригонометрических функций , необходимой для расчета траекторий космического корабля. Это побудило Алана Котока из TMRC позвонить в DEC, который сообщил ему, что у них уже написан такой план. Коток поехал в DEC, чтобы забрать кассету с кодом, бросил ее перед Расселом и спросил, какие еще у него есть оправдания. [2] [4] Рассел, позже объяснив, что «я осмотрелся вокруг и не нашел оправдания, поэтому мне пришлось успокоиться и заняться кое-какими расчетами», [2] начал писать код примерно в то время, когда PDP- Дисплей 1 был установлен в конце декабря 1961 года. [2] [4] [10] Игра была разработана с учетом трех принципов, которые Рассел, Грец и Виитанен разработали для создания программы, которая одинаково хорошо функционировала как развлечение для игрокам и в качестве демонстрации для зрителей: использовать как можно больше ресурсов компьютера, чтобы быть постоянно интересным и, следовательно, чтобы каждое прохождение было разным, и чтобы оно было развлекательным и, следовательно, игрой. [2] [11] Расселу, при содействии других программистов, включая Боба Сондерса и Стива Пайнера (но не Виитанена, призванного в резерв армии США ), потребовалось в общей сложности около 200 часов, чтобы написать первую версию. космической войны! или около шести недель на разработку базовой игры. [2] [12] [13] Он был написан на ассемблере PDP-1 . [14]
У Рассела была программа с подвижной точкой до конца января 1962 года, а к февралю — первая рабочая игра с вращающимися космическими кораблями. [2] Оба космических корабля были спроектированы так, чтобы напоминать изогнутый космический корабль из рассказов Бака Роджерса и ракету PGM-11 Redstone . [4] Эта ранняя версия также содержала случайно сгенерированное фоновое звездное поле, первоначально добавленное Расселом, потому что пустой фон затруднял определение относительного движения двух космических кораблей на малых скоростях. [2] Сообщество программистов в этом районе, включая Институт Хингема и TMRC, разработало то, что позже было названо « хакерской этикой », согласно которой все программы свободно распространялись и модифицировались другими программистами в совместной среде, не заботясь о праве собственности или авторские права, что привело к групповой попытке доработать первоначальную книгу Рассела « Космическая война!» игра. [4] [13] Следовательно, поскольку неточность и отсутствие реализма звездного поля раздражали члена TMRC Питера Самсона, он написал программу, основанную на реальных звездных картах, которые медленно прокручивались по ночному небу, включая каждую звезду в полосе между 22,5 °. северной широты и 22,5° южной широты до пятой звездной величины , отображенные с их относительной яркостью. Программа называлась «Дорогой планетарий» — в связи с высокой ценой компьютера PDP-1 по сравнению с аналоговым планетарием, как часть серии «дорогих» программ, таких как « Дорогая пишущая машинка Пинера », — и была быстро включена в игру в марте. Расселом, который участвовал в подборке основной версии игры. [2] [4] [7]
Первоначальная версия игры также не включала центральный звездный гравитационный колодец или функцию гиперпространства; они были написаны аспирантом Массачусетского технологического института и членом TMRC Дэном Эдвардсом и Грецем соответственно, чтобы добавить элементы стратегии к тому, что изначально было шутером, основанным на чистых рефлексах. [2] [4] Рассел ранее хотел добавить гравитацию, но не смог заставить программу выполнять вычисления достаточно быстро; Эдвардс оптимизировал функции рисования, чтобы освободить время для расчета эффектов гравитации. [15] Первоначальная версия функции гиперпространства была ограничена тремя прыжками, но не несла риска, за исключением возможного повторного входа в игру в опасной позиции; в более поздних версиях ограничение снято, но добавлен повышенный риск уничтожения корабля вместо его перемещения. Кроме того, в марте 1962 года Сондерс создал для игры геймпады, чтобы не дать «Локтю космической войны» сидеть, сгорбившись над переключателями мэйнфрейма. [2] [4] Игра была предназначена только для нескольких игроков, потому что у компьютера не оставалось ресурсов для управления другим кораблем. [7] [16] Аналогичным образом, от других предложенных дополнений к игре, таких как более точное отображение взрыва при разрушении космического корабля и влияние гравитации на торпеды, пришлось отказаться, поскольку для их обработки не хватало компьютерных ресурсов. при плавном запуске игры. [2] Одна особенность, заключающаяся в незначительном изменении скорости и направления торпед при каждом выстреле, была добавлена, а затем удалена Расселом после жалоб игроков. [15] После внесения дополнительных функций и изменений Рассел и другие программисты переключили внимание с разработки игры на подготовку к демонстрации ее другим, например, на Дне открытых дверей MIT Science в конце апреля 1962 года. [2] [ 10] [17] [18] Группа добавила ограничение по времени, функцию гиперпространства и больший второй экран для зрителей на демонстрации, а в мае Грец представил доклад об игре «КОСМИЧЕСКАЯ ВОЙНА! Возможность реального времени PDP-1» на первом собрании Общества пользователей компьютеров цифрового оборудования . [2] [19] Демонстрация имела успех, и игра оказалась очень популярной в Массачусетском технологическом институте; лаборатория, в которой размещался PDP-1, вскоре запретила играть, за исключением обеда и после рабочего времени. [2] [20] Посетители, такие как Фредерик Пол , редактор журнала Galaxy Science Fiction , с удовольствием играли в «прекрасную игру» и писали, что Массачусетский технологический институт «заимствовал из научно-фантастических журналов», а игроки могли притворяться персонажами «Жаворонка» . . [21]
Начиная с середины 1962 года и продолжаясь в течение следующих нескольких лет, члены сообщества программистов PDP-1 в Массачусетском технологическом институте, включая Рассела и других членов Института Хингема, начали распространяться на другие школы и работодателей, таких как Стэнфордский университет и DEC, и при этом они распространили игру в других университетах и учреждениях с помощью компьютера PDP-1. [2] [7] [19] В результате Spacewar! была, пожалуй, первой видеоигрой, доступной за пределами одного исследовательского института. [22] В течение следующего десятилетия программисты в этих других учреждениях начали кодировать свои собственные варианты, включая такие функции, как возможность одновременного использования большего количества кораблей и игроков, замена функции гиперпространства маскировочным устройством , космические мины и даже вид от первого лица. Версия воспроизводится на двух экранах, имитирующих вид каждого пилота из кабины. [5] [6] Некоторые из этих космических войн! установки также копировали геймпад Сондерса. [23] DEC узнала об игре вскоре после ее создания и продемонстрировала ее работу на своем PDP-1, а также опубликовала брошюру об игре и компьютере в 1963 году. [19] Согласно данным из вторых рук. услышал Рассел во время работы в DEC, Spacewar! Сообщается, что технические специалисты DEC использовали ее в качестве дымового теста на новых системах PDP-1 перед отправкой, поскольку это была единственная доступная программа, которая проверяла все аспекты аппаратного обеспечения. [13] [23] Хотя игра была широко распространена в ту эпоху, ее прямой охват все еще был очень ограничен: PDP-1, хотя и была дешевле, чем большинство мэйнфреймов, стоила 120 000 долларов США (что эквивалентно примерно 1 209 000 долларов США в 2023 году). и только 53 из них были проданы, большинство из них были без монитора, а многие остальные предназначались для обеспечения безопасности военных объектов или исследовательских лабораторий без свободного компьютерного времени, что помешало созданию оригинальной Spacewar! выйти за пределы узкой академической аудитории. [7] [19] [23] Хотя некоторые более поздние модели DEC, такие как PDP-6 , поставлялись с Spacewar! после предварительной загрузки аудитория игры оставалась весьма ограниченной; Например, PDP-6 было продано всего 23 штуки. [8] [24]
Космическая война! был чрезвычайно популярен в небольшом сообществе программистов в 1960-х годах и был широко воссоздан на других мини-компьютерах и мейнфреймах того времени, прежде чем перейти на ранние микрокомпьютерные системы в 1970-х годах. Как и во время разработки, игра находилась в свободном доступе , и код был доступен любому, кто имел к ней доступ или кто связывался с Расселом; никаких попыток продать его на коммерческой основе не предпринималось, поскольку сообщество программистов было слишком мало, чтобы поддерживать какую-либо коммерческую отрасль. [19] [25] Первоначально он распространялся как людьми, переносившими копии кода в другие установки, так и программистами, воссоздающими игру со своим собственным кодом. [23] Ранние установки включали PDP-1 от Bolt, Beranek & Newman , который также воссоздал геймпады; установка Рассела на PDP-1 в Лаборатории искусственного интеллекта Стэнфордского университета в 1963 году; и Университет Миннесоты , где выпускник Массачусетского технологического института Альберт Куфилд в 1967–68 воссоздал игру для CDC 3100 и представил описание в журнал Analog Science Fiction and Fact , опубликованный в 1971 году. Стэнфордская установка была настолько популярна, что в 1966 году исследователи создали специальный «режим космической войны» для разделения ресурсов компьютера на их PDP-6, чтобы на нем можно было играть в игры одновременно с выполнением исследовательских программ. [19] Ранний ученый-компьютерщик Алан Кей заметил в 1972 году, что «игра Spacewar! расцветает спонтанно везде, где есть графический дисплей, подключенный к компьютеру», а Грец вспоминал в 1981 году, что по мере первоначального распространения игры ее можно было найти «просто на о любом исследовательском компьютере с программируемой ЭЛТ». [2] [5]
Большая часть этого распространения произошла через несколько лет после первоначальной разработки игры; хотя в нескольких местах, в основном недалеко от Массачусетского технологического института и Стэнфорда, есть ранние истории об игроках и вариантах игр, только после 1967 года компьютеры подключились к мониторам или терминалам, способным играть в «Космическую войну»! начали распространяться, что позволило игре охватить более широкую аудиторию и оказать влияние на более поздних разработчиков видеоигр - по оценкам, к 1971 году насчитывалось более 1000 компьютеров с мониторами, а не несколько десятков. [23] Примерно в это же время было создано большинство вариантов игры для различных компьютерных систем, таких как более поздние PDP-системы, а в 1972 году игра была настолько хорошо известна в сообществе программистов, что журнал Rolling Stone спонсировал «Межгалактическую космическую войну! » Олимпийские игры». [5] [23] Мероприятие состоялось 19 октября 1972 года в Стэнфордской лаборатории искусственного интеллекта с использованием варианта Spacewar! на объединенном PDP-6/PDP-10, который поддерживал пять игроков, и был первым в истории турниром по видеоиграм, отчет о котором был опубликован в номере журнала Rolling Stone от 7 декабря 1972 года . [19] [26]
В начале 1970-х годов Spacewar! перекочевала из больших компьютерных систем в коммерческую среду, поскольку легла в основу первых двух монетных видеоигр. Во время игры в Spacewar! Где-то между 1966 и 1969 годами в Стэнфорде студент колледжа Хью Так заметил, что монетная версия игры будет очень успешной. Хотя высокая цена мини-компьютера тогда не позволяла создать такую игру, в 1971 году Так и Билл Питтс создали прототип монетной компьютерной игры Galaxy Game стоимостью 20 000 долларов США (что эквивалентно примерно 150 000 долларов США в 2023 году) PDP-11 . хотя они никогда не производили более двух прототипов, выставленных в Стэнфорде. [27] Примерно в то же время появился второй прототип монетной игры по мотивам Spacewar! , Computer Space , была разработана Ноланом Бушнеллом и Тедом Дэбни и стала первой коммерчески продаваемой аркадной видеоигрой и первой широко доступной видеоигрой любого типа. [28] Хотя Так считал, что Computer Space — это плохая имитация Spacewar! и его Galaxy Game — превосходной адаптацией, многие игроки считали обе аркадные игры улучшенными вариантами Spacewar! . [11]
Журнал Byte опубликовалверсию Spacewar! на языке ассемблера ! в 1977 году он работал на Altair 8800 и другихмикрокомпьютерах на базе Intel 8080 с использованием осциллографа в качестве графического дисплея и справочной таблицы для аппроксимации расчетов орбит, [29], а также трехмерный вариант 1979 года, написанный на Tiny BASIC. . [30] Также были созданы более современные версии игры для компьютеров. [31] Эмулированная версия оригинальной игры, опубликованная Мартином Грецем и работающая в эмуляторе JavaScript PDP-1, стала доступна для игры в Интернете в 2012 году. [32] В портативную консоль Analogue Pocket добавлена поддержка запуска Космическая война! на эмулируемом PDP-1 в 2022 году. [33] Единственные известные о существовании работающие PDP-1 хранятся в Музее истории компьютеров в Маунтин-Вью, Калифорния , где проводятся демонстрации машины, в том числе игра в Spacewar! . [34]
Помимо Galaxy Game и Computer Space , Spacewar! имел долгосрочный эффект, вдохновив множество других игр. [35] [36] [37] К ним относятся Orbitwar (1974, сетевые компьютеры PLATO ), Space Wars (1977, аркада) и Space War (1978, Atari 2600 ). [36] [37] Кроме того, в аркадной игре Asteroids (1979) дизайнер Эд Логг использовал элементы из Spacewar! , а именно кнопка гиперпространства и форма корабля игрока. [38] Такие продукты, как компьютерная игра Star Control 1990 года, были напрямую вдохновлены Spacewar! . [23] Рассел сказал, что аспект игры, который ему больше всего понравился, — это количество других программистов, которые она вдохновила на написание своих собственных игр, не чувствуя себя ограниченными использованием собственного кода или дизайна Рассела. [20]
12 марта 2007 г. газета The New York Times сообщила, что Spacewar! была включена в список десяти самых важных видеоигр в истории, так называемый игровой канон , который предлагалось хранить в архиве Библиотеки Конгресса . [39] Библиотека Конгресса приняла это предложение по сохранению видеоигр и начала с игр из этого списка. [40] [41] В 2018 году он был занесен во Всемирный зал славы видеоигр The Strong и Международным центром истории электронных игр . [42] Также в 2018 году Академия интерактивных искусств и наук вручила премию «Пионер », вручаемую «лицам, чья карьера помогла сформировать и определить индустрию интерактивных развлечений», выжившим участникам Spacewar! : Дэн Эдвардс, Мартин Грец, Стивен Пайнер, Стив Рассел, Питер Самсон, Роберт Сандерс и Уэйн Виитанен. [43]