Введение (от переводчика) Так получилось, что одна из моих любимых игр — Варкрафт II .
Каждый раз, когда где-то упоминается эта игра или кто-то о ней вспоминает, я обычно очень радуюсь.
До Варкрафт II конечно, это было просто War Craft .
А недавно произошло нечто интересное - Патрик Вятт (Патрик Вятт), один из тех людей, которые стояли у истоков Blizzard, и человек, начавший разработку Warcraft, начал серию воспоминаний о тех временах.
Первая статья, которую я предлагаю вам прочитать ниже, посвящена началу разработки Warcraft. О том, откуда пришла идея; о том, какую сеть ребята организовали в офисе, пока мечтали о мультиплеере; об EMS и тонкостях эстетики программирования под DOS; о команде проекта и так далее.
К сожалению, я совсем не специалист в DOS-разработке, поэтому, если читатели укажут на неточности в переводе, связанные с техническими деталями, я буду рад и тут же их исправлю.
Это касается, конечно, и любых других неточностей, опечаток, пунктуации и стиля.
Давным-давно, когда игры для ПК писались под операционной системой DOS, я начал работать над игрой под названием Warcraft.
Я начинаю проект!
Я разработал несколько игр для ПК, пару игр для Mac, семь консольных игр для Super Nintendo и Sega Genesis, но в качестве младшего разработчика.В других случаях игры портировались вовсе, а не разрабатывались с нуля.
Портирование — это процесс переноса игры с одной платформы на другую.
Например, мы берем игру для Amiga, переписываем куски кода, перерисовываем дизайн, меняем другие необходимые детали, и тогда игра запускается на Nintendo. Моя роль в новом проекте охватывала два типа работы.
Первое: возглавьте команду разработчиков в качестве Продюсера — в игровой индустрии это то, что мы называем менеджером проекта, дизайнером, евангелистом и пастухом кошек.
Второе: написать большую часть игрового кода, как того требует должность ведущего разработчика.
Тогда, кстати, было легче, когда разработкой игр занималось десять-двадцать разработчиков, а не двести и более, как сейчас.
Корни Варкрафта
В стартап-компании, где я тогда работал, она называлась Кремний и синапс , но затем был переименован в Метель , в честь нашей яркой методологии разработки — в свободное время разработчики играли во множество отличных игр.И благодаря этому вечному геймплею возникла искра, из которой War Craft .
Создавать War Craft нас вдохновила игра под названием Дюна 2 , развитый Вествуд Студии , в который мы в то время постоянно играли.
Дюна 2 , была, вероятно, первой современной стратегией в реальном времени (RTS).
С прокруткой карты, с созданием юнитов и управлением юнитами в реальном времени; с отдельными боями между подразделениями.
По своей сути эта игра мало чем отличалась от любой современной RTS, например Старкрафт 2 , ну кроме определенного масштаба и качества графики.
Предшественником этой игры была Дюна 1 - тоже очень стоящая игра, совместившая в себе перечисленные элементы, но они были встроены в квестовую игру.
Дюна 2 сосредоточился на одном режиме из всех режимов, предложенных в предыдущей игре.
Игрок представлял персонажа, который в реальном времени управлял сбором ресурсов, строительством базы, повторным сбором ресурсов, формированием армии и, наконец, поиском и завоеванием противника.
Я, как и другие сотрудники Метель , в это время они внимательно следили за игрой Дюна 2 .
Мы играли в нее во время обеденных перерывов и после работы; играл за каждую из трех рас, выявляя их сильные и слабые стороны, а затем обсуждал стили игры, стратегии и тактику.
Но хотя играть было очень весело, я страдал от ряда очевидных дефектов, которые намекали на необходимость исправления (нет, даже требовали этого!).
Одной из самых очевидных ошибок была идея, что мы с друзьями можем играть в «Дюну» только против компьютера.
Было очевидно, что такой стиль игры идеально подойдет для мультиплеера.
В отличие от пошаговых игр, где каждый игрок должен ждать, пока все остальные игроки сделают ход, игры в реальном времени могут позволить всем игрокам действовать одновременно, тем самым делая акцент на скорости и решительных тактических действиях, а не на длительных стратегических решениях и планировании.
И с этой единственной мысли началась разработка нашей игры.
Без каких-либо серьезных попыток спланировать игровой дизайн, без оценки технических требований, без графиков и планов, без планирования бюджета для сотрудников.
Даже на салфетке не рисовали.
Между собой мы в шутку называли это «бизнес-планом дня».
(фр.
«за день») что у нас было тогда Метель стандартный процесс.
Начало разработки
Как единственный разработчик проекта, в отсутствие команды дизайнеров, на этом этапе я сделал скриншот арта.Дюна 2 и использовал вырезки из этой игры, пока не достиг той точки в разработке, которая позволила мне привлечь к проекту хотя бы одного дизайнера.
В то время дизайнеры работали над рядом других проектов, их поджимали сроки, и им было некогда отвлекаться — нам тогда было трудно отвлечься.
Я сосредоточил свои ранние усилия по разработке игрового движка на создании средства рендеринга карты с прокруткой на основе плиток; средство рендеринга спрайтов для рисования юнитов и других растровых изображений; движок спрайт-секвенсора, позволяющий анимировать юниты; диспетчер событий мыши и клавиатуры для ловли кликов и, наконец, заложил прочную основу кода пользовательского интерфейса, чтобы все это можно было попробовать в действии.
Этот комплект позволил мне собрать ранний прототип и дал возможность «поиграть» в одиночном режиме, правда, без возможности создавать новые юниты, я представил это позже.
В этой версии я просто вводил команды с клавиатуры и на карте появлялись юниты.
Каждый день я спонтанно добавлял в движок новые уровни.
Без каких-либо запланированных этапов или внешних требований к проекту я находился в завидном положении, имея возможность выбирать, какие функции добавить дальше, и это меня очень мотивировало.
Я уже тогда увлекался разработкой игр, и непаханное поле для разработки, открывшееся передо мной в те времена, имело наркотический эффект. Даже сейчас, после 22 лет работы в игровой индустрии, мне все еще нравятся творческие моменты, связанные с разработкой.
Первая уникальная функция: множественный выбор юнитов.
Одной из особенностей, которой я особенно гордился, был выбор юнитов.
В Дюна 2 пользователь мог выбрать одновременно только один юнит, что повлекло за собой бешеное щелканье мышью во время тактической организации боя.
Казалось очевидным сделать так, чтобы пользователь мог выбирать сразу несколько юнитов, чтобы ускорить процесс отдачи игровых приказов и драматизировать сражения.
Прежде чем начать работать в игровой индустрии, я некоторое время работал с рядом приложений для автоматизированного проектирования (САПР), таких как МакДроу И Макдрафт .
В них я разработал дизайн винных погребов для бизнеса моего отца.
Поэтому я автоматически подумал о прямоугольной метафоре.
"щелкни и перетащи" выбор, когда я начал думать о том, как выбрать сразу несколько юнитов.
я думаю что War Craft была первой игрой, в которой использовалась эта метафора пользовательского интерфейса.
Когда я впервые представил эту идею в игре, можно было одновременно распределять и контролировать большое количество юнитов; не было ограничений на количество игровых персонажей, которых можно было выбрать одновременно.
Несмотря на то, что когда я выбрал сразу сотню юнитов и отправил их в какую-то точку карты, я сразу заметил несовершенство алгоритма поиска пути, с того момента, как этот алгоритм вообще появился, я часами отбирал юниты и отправлял они гуляют по карте вместо того, чтобы писать код.
На тот момент это была самая крутая функция, которую я программировал!
Позже в процессе разработки, после долгих обсуждений дизайна игры среди членов нашей команды, мы решили разрешить пользователю выбирать только четыре юнита одновременно.
Объяснялось это тем, что мы хотели спровоцировать пользователя больше задуматься о тактике боя, а не позволить ему просто собрать толпу и отправить их всех сразу в бой.
Позже Варкрафт II , мы сделали возможным выбор сразу 9 единиц.
Командуй и властвуй , духовный наследник Дюна 2 Верхней границы выбора у , кстати, не было, но рассуждения об этих дизайнерских идеях, безусловно, заслуживают отдельной статьи.
За исключением возможности управлять многими юнитами одновременно, на данном этапе War Craft был не чем иным, как чрезвычайно упрощенной версией Дюна 2 .
Сходство было настолько неприличным, что я даже пошутил, что, несмотря на то, что War Craft вдохновленный Дюна 2 , это все-таки совсем другая игра - у нас мини-карта в левом верхнем углу экрана, а у них в правом нижнем.
Основание братства
К началу 1994 года я уже добился достаточного прогресса в проекте, чтобы привлечь к нему больше ребят. Ко мне присоединились Рон Миллар, Сэм Дидье, Стю Роуз, Боб Фитч, Джесси Макрейнольдс, Майк Морхейм, Микки Нильсен и другие.Многие из них начали работать над игрой после того, как в феврале 1994 года нашу компанию приобрела компания Davidson & Associates. Длинноволосый блондин крепкого телосложения Рон Миллар , по-видимому, был потомком самих викингов.
Первоначально нанятый как художник, он отвечал за множество произведений искусства для платформы Gameboy. Девственные игры , но его впечатляющая креативность и дизайнерский талант позволили ему сыграть очень важную роль в разработке многих проектов.
Метель и он, несомненно, сыграл эту роль в развитии War Craft .
Сэм Дидье , сильный, высокий и приземистый персонаж, похожий на медведя, уменьшенного до человеческого размера, его эпический стиль рисования героических персонажей определил художественный стиль Blizzard, который вы видите по сей день.
Он оттачивал свои навыки рисования еще во времена рендеринга 16-битных консольных плиток, но его склонность к рисованию фантастических эскизов во время встреч и всякий раз, когда у него выдавалась свободная минутка, намекала, что он преуспеет в качестве арт-директора проекта.
Стю Роуз — именно его опыт работы иллюстратором привел к созданию логотипа Метель , который мы используем до сих пор.
Он начал с рисования фоновых фрагментов для карт, а затем сыграл важную роль в общей концепции дизайна.
War Craft .
Стью так же знаком вам, как голос человека-пеона.
И, надо сказать, в его представлениях о том, как должен говорить угнетенный работяга, раскрылся его комедийный талант. Боб Фитч начал работать у нас разработчиком и техническим руководителем в другом проекте, в тот же момент, когда я запустил Warcraft. Аллен Одхам , президент Метель , дал Бобу задачу написать словесную игру под названием « Игры, в которые играют люди », который включал в себя кроссворды, скраббл, боггл и другие подобные игры.
Боб проявил настолько заметное отсутствие энтузиазма, что проект почти не продвигался вперед в течение многих месяцев.
War Craft начался, Боб был связан со мной, и его энтузиазм помог нашей игре двигаться вперед семимильными шагами.
Джесси , выпускник Калифорнийского технологического института, начал работу с создания сетевого драйвера для протокола IPX, чтобы в игру можно было играть по локальной сети (LAN).
Майк Морхейм , один из двух соучредителей Метель позже способствовал решению сложной проблемы — написал драйвер для модема, который мог работать в «смешанном режиме».
War Craft ведь это была игра для DOS, которая работала в Protected Mode, а драйвер модема можно было вызвать и из Protected Mode, и из Real Mode одновременно только с помощью хитростей, завязанных и на DOS, и на архитектуру чипа 80386 , под которым работала система.
Майк сидел в офисе, глядя на мониторы, заполненные диагностическими данными, и решал проблемы с синхронизацией.
В итоге код модемной части стал бронебойным, что было важным достижением на тот момент, учитывая примитивные методы, которые мы использовали ранее.
Искусство Варкрафта
Аллан Одхам надеялся получить лицензию от вселенной Вархаммер попытаться увеличить продажи за счет узнаваемости бренда.Вархаммер вообще был источником мощного вдохновения для дизайнеров War Craft .
Но по ряду причин мы отказались от этой идеи.
Договариваться о выгодных условиях на уровне бизнеса было сложно, да и было слишком много желания самим контролировать создание нашей вселенной, чтобы никто не мешал работе нашей команды (в том числе и я, конечно).
Плюс у нас уже был довольно неудачный опыт работы по лицензии — мы сделали «Смерть и возвращение Супермена» И " Оперативная группа Лиги справедливости " вместе с Комиксы DC и нельзя сказать, что нам хотелось бы повторить этот опыт в нашей новой игре.
Сейчас довольно странно себе это представлять, но могло случиться и так.
Метель не были бы владельцами интеллектуальной собственности Вселенной War Craft .
Тогда было бы еще труднее представить, что мы сегодня окажемся в столь уверенном положении в игровой индустрии.
Через несколько лет после запуска War Craft , мой отец, вернувшись из путешествия по Азии, вручил мне набор миниатюр Вархаммер , отряд скелетов на колесницах и сказал: «Пока я путешествовал, я встретил этих забавных ребят, они очень напоминали ваши игры, вы должны сказать своим юристам, чтобы они связались с производителями, а то они похоже воруют ваши идеи.
» Хмммм!
Барьеры для разработчиков игр
Одной из интересных особенностей ранней разработки было то, что мы сидели и разрабатывали игру, в которую, по нашему мнению, было бы здорово играть онлайн или через коммутируемое соединение.При этом у нас в офисе не было локальной сети.
Ведь раньше мы разрабатывали в основном консольные игры, которые легко помещались на дискету, поэтому сеть казалась ненужной, хотя она значительно упростила бы процесс создания резервных копий.
Поэтому, когда я начал активно работать с другими художниками и разработчиками, мы обычно использовали «пешеходную локальную сеть», то есть по сути возили дискеты с изменениями, которые нужно было внедрить в код или в дизайн, из офиса в офис.
Боб Фитч был вторым разработчиком на проекте и мы с ним постоянно копировали файлы и изменения в коде между собой.
Время от времени мы допускали ошибки при интеграции и уже исправленные ошибки обнаруживались заново.
Мы их снова поймали и обнаружили, что когда мы копировали файлы, мы вносили изменения — мы что-то перезаписывали поверх успешных исправлений ошибок, и иногда нам приходилось снова вспоминать, как мы уже закрывали эти ошибки.
И такая ситуация повторялась всё чаще и чаще, потому что мы ускорялись в разработке, и другого процесса контроля версий, кроме метода «запоминания, где и что мы редактировали», у нас не было.
В какой-то степени мне повезло больше, потому что на моем компьютере хранилась «главная» ветка нашего кода, куда мы добавляли патчи, поэтому вероятность потери моих изменений в коде была меньше.
Сегодня мы используем для этого системы контроля версий, но тогда мы даже представить себе не могли таких радостей в жизни!
Когда к проекту присоединилось много разработчиков, дизайнеров и художников, работать над проектом, конечно, по большей части стало легче, но мы обнаружили на своем пути еще одно большое препятствие.
Изначально игра разрабатывалась для DOS, в «Реальном режиме», что означало, что в нашем распоряжении было всего 640 КБ памяти, а для операционной системы — около 120 КБ.
Представляете, какие адские условия у нас тогда были!?! Как только дизайнеры приступили к рисованию персонажей, фонов и пользовательского интерфейса, мы сразу столкнулись с тем, что съедаем всю память.
И мы начали искать альтернативные варианты.
Первой идеей было использовать отображение через страничную память EMS и хранить дизайн игры «выше» барьера памяти в 640 КБ.
Истории, которые рассказывают программисты об EMS-памяти, похожи на рассказы стариков о том, как они шли в гору и обратно в школу босиком по снегу.
Только истории про EMS гораздо хуже и все это на самом деле правда.
В любом случае идея EMS у нас, к счастью, не сработала; но появилось лучшее решение.
Компания Watcom выпустила компилятор C, который включал «расширитель» режима DOS, который позволял программам, написанным в «Защищенном режиме», иметь линейную адресацию 32-битной памяти, что мог любой программист. Теперь он работает без проблем при написании 32-битной памяти.
бит (или даже 64-битное приложение).
На исправление исходного кода и встраивание в него этого модуля ушло пару дней, после чего мы вернулись к работе с доступом к дополнительной памяти.
Не вывод
В следующей статье серии я расскажу о Стю Роузе и революции в дизайне; первая многопользовательская стычка в Warcraft и ошибка, чуть не убившая мультиплеер; о том, как Билл Ропер сделал War Craft удивительно, если разместить его на дискетах; о реакции студии Westwood на нашу игру и о других деталях, которые скрыты в игре, которую я и другие ребята из команды разработали восемнадцать (!) лет назад. Читать далее, часть вторая → Теги: #История ИТ #DOS #Warcraft #истории #ems #blizzard #защищенный режим #Патрик Вятт-
Seo-Пакеты – Они Должны Быть Гибкими
19 Dec, 24 -
Пятьдесят Оттенков Инфракрасного
19 Dec, 24