Warcraft 3 на каком движке

Обновлено: 05.07.2024

Как бы выглядела World of Warcraft на движке Unreal Engine 4

Несмотря на то, что Blizzard с каждым годом улучшает графику в World of Warcraft, игра все равно постепенно устаревает. Благодаря ролику с канала Daniel L можно представить, как бы выглядела MMORPG сейчас, если бы разрабатывалась на Unreal Engine 4.

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

World of Warcraft вышла в 2004 году. Недавнее обновление "Возвращение Азшары" добавило в игру много нового контента, а также новый рейд "Вечный Дворец Азшары".

Так вышло, что одна из моих самых любимых игр — Warcraft II.
Каждый раз, когда эта игра где-то упоминается, или кто-то про неё вспоминает, я обычно очень радуюсь. Перед Warcraft II, разумеется, был просто Warcraft.

Патрик, автор статьи

И вот недавно случилось интересное — Патрик Вайат (Patrick Wyatt), один из тех людей, кто стоял у истоков Blizzard, и человек, который затеял разработку Warcraft начал цикл воспоминаний о тех временах. Первая статья, которую я вам предлагаю прочитать ниже — о начале разработки Warcraft. О том, откуда появилась идея; о том, какая сеть была организована у ребят в офисе, пока они грезили о мультиплеере; о EMS и тонкостях эстетики программирования под DOS; о команде проекта и так далее.

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

image

Давным давно, в начале времен, когда игры для PC писались под операционной системой DOS, я начал работать над игрой под названием Warcraft.

Я начинаю вести проект!

Я разрабатывал несколько игр для PC, пару игр для Mac, семь консольных игр для Super Nintendo и Sega Genesis, но в роли разработчика-джуниора. В других случаях игры вообще портировались, а не разрабатывались с нуля. «Портирование» — это процесс переноса игры с одной платформы на другую. Например, берем игру для Amiga, переписываем куски кода, перерисовываем дизайн, меняем другие необходимые детальки и игра после этого запускается на Nintendo.

Моя роль в новом проекте охватывала при этом два типа работ. Первая: вести команду разработчиков, как Продюсер — в игровой индустрии мы так называем проектного менеджера, дизайнера, евангелиста и пастуха котов. Вторая: писать большую часть игрового кода, как того требует должность Ведущего Разработчика. Тогда, это, кстати, было менее сложно, когда к разработке игр подключали десять-двадцать разработчиков, а не двести и более, как сейчас.

Корни Warcraft

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

На создание Warcraft нас вдохновила игра под названием Dune 2, разработанная Westwood Studios, в которую мы постоянно играли в то время. Dune 2, вероятно была первой современной стратегией в реальном времени (RTS). Со скроллирующейся картой, с созданием юнитов и управлением юнитами в реальном времени; с индивидуальными боями между юнитами. По сути своей эта игра не сильно отличалась от любой современной RTS, например от Starcraft 2, ну, за исключением определенного масштаба, да качества графики.

Предшественником этой игры была Dune 1 — тоже очень стоящая игра, которая совмещала в себе перечисленные элементы, но они были встроены в квестовую игру. Dune 2 сосредоточилась на одном режиме из всех предложенных в предыдущей игре режимов. Игрок представлял персонажа, который в реальном времени управлял сбором ресурсов, сооружением базы, снова сбором ресурсов, формированием армии и, наконец, поиском и завоеванием противника.

Я, как и другие сотрудники Blizzard, в то время основательно сидели на игре Dune 2. Мы играли в неё во время обеденных перерывов и после работы; играли за каждую из трех рас, определяя их сильные и слабые стороны, а после — обсуждали стили игры, стратегии, тактику.

Но несмотря на то, что играть было очень здорово, я страдал от ряда очевидных дефектов, которые намекали, чтобы их исправили (нет, даже требовали этого!). Одной из самых очевидных ошибок была та идея, что я и мои друзья могли играть в Дюну только против компьютера. Было очевидно, что этот игровой стиль был бы идеален для мультиплеера. В отличии от пошаговых игр, где каждый игрок должен ждать, пока все остальные игроки сделают ход, в риал-тайм играх можно было бы разрешить всем игрокам действовать одновременно, и таким образом делать акцент на скорость и решительные тактические ходы, вместо длительных стратегических решений и планирования.

И с этой единственной мыслью началась разработка нашей игры. Без каких-либо серьезных попыток спланировать гейм-дизайн, без оценки технических требований, без расписаний и планов, без планирования бюджета для сотрудников. Даже на салфетке не рисовали. Мы в шутку называли это между собой «бизнес план du jour» (фр. «за день»), что тогда было у нас в Blizzard стандартным процессом.

Начало разработки

Как единственный разработчик на проекте, в отсутствие дизайн-команды, на этом этапе я заскриншотил артворки Dune 2 и использовал нарезку из этой игры до тех пор, пока не достиг того момента в разработке, который позволил мне подключить к проекту хотя бы одного дизайнера. Тогда дизайнеры работали над рядом других проектов, прессующих их дедлайнами и им некогда было отвлекаться — нам тогда вообще было тяжело отвлекаться.

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

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

Первая уникальная фича: мульти-селект юнитов

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

До того, как я начал работать в игровой индустрии, я работал какое-то время с рядом приложений для автоматизированного проектирования (CAD), такими, как MacDraw и MacDraft. В них я разрабатывал дизайн винных погребов для бизнеса моего отца. Поэтому я машинально вспомнил о метафоре прямоугольно «click&drag» выделения, когда начал размышлять о том, как выделить несколько юнитов сразу.

Я думаю, что Warcraft стал первой игрой, где была применена эта UI метафора. Когда я только-только внедрил эту идею в игру, можно было выделять и управлять большим количеством юнитов одновременно; не было никакого ограничения на количество одновременно выбранных игровых персонажей.

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

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

Позже, в Warcraft II, мы сделали возможность выделять сразу 9 юнитов. Command and Conquer, духовный наследник Dune 2, кстати, не имел верхнего предела выбора, но рассуждения об этих дизайн-идеях, безусловно, заслуживают отдельной статьи.

За исключением возможности управлять одновременно множеством юнитов, на данном этапе Warcraft представлял собой ничто иное, как упрощенную донельзя версию Dune 2. Сходство было настолько неприличным, что я даже шутил, что несмотря на то, что Warcraft инспирирован Dune 2, это все равно совершенно другая игра — у нас мини-карта в левом верхнем углу экрана, а у них — в правом нижнем.

Основание братства

В начале 1994, я уже достиг достаточного прогресса в проекте, чтобы подключить к нему еще ребят. Ко мне присоединились Рон Миллар, Сэм Дидье, Стю Роуз, Боб Фитч, Джесси МакРейнолдс, Майк Морхэйм, Микки Нильсен и другие. Многие из них стали работать над игрой после того, как наша компания была поглощена Davidson & Associates в феврале 1994.

Крепко сложенный длинноволосый блондин Рон Миллар, казалось, был потомком самих викингов. Изначально он был нанят как художник, он был автором множества артворков для платформы Gameboy в Virgin Games, но его впечатляющая креативность и дизайнерское чутье привели к тому, что он сыграл очень важную роль в дизайне многих проектов Blizzard и эту роль он без сомнений сыграл и в разработке Warcraft.

Сэм Дидье, крепкий, рослый и приземистый персонаж, напоминавший медведя, уменьшенного до человеческих размеров, эпическим стилем отрисовки его героических персонажей определил тот стиль графики Blizzard, который вы наблюдаете до сих пор. Он отточил свои навыки рисования еще во времена отрисовки 16-битных консольных тайлов, но его тяга рисовать фэнтези-зарисовки во время всех встреч и в любой другой свободный момент намекнула нам, что он отлично справится с ролью арт-директора проекта.

Стю Роуз — именно его иллюстраторский бэкграунд вылился в дизайн логотипа Blizzard, который мы используем до сих пор. Он начал с того, что отрисовывал фоновые тайлы для карт, а после — сыграл важную роль в общей концепции дизайна Warcraft. Стю так же знаком вам, как голос человеческого Пеона. И, надо сказать, его представления о том, как должен говорить угнетенный трудяга вскрыли в нём комедийный талант.

Боб Фитч начинал работать у нас как разработчик и тех-лид в другом проекте, в тот же момент, когда я начинал Warcraft. Аллэн Эдхем, президент Blizzard, выдал Бобу задачку написать игру в слова под названием "Games People Play", которая бы включала в себя кроссворды, эрудита, боггл и другие подобные игры. Боб настолько заметно проявлял отсутствие энтузиазма, что проект еле-еле продвигался на протяжении многих месяцев. Когда Warcraft пошел в гору, Боба подключили ко мне и его энтузиазм помог нашей игре шагнуть вперед семимильным шагом.

Джесси, выпускник Калтеха, начал работать с создания сетевого драйвера для протокола IPX, чтобы в игру можно было играть по локальной сетке (LAN). Майк Морхэйм, один из двух со-основателей Blizzard позже внес вклад в решение тяжелой задачи — он написал драйвер для модема, который мог работать в «mixed-mode». Warcraft ведь был игрой для DOS, которая работала в защищенном режиме (Protected Mode), а модемный драйвер можно было вызывать и из Protected Mode и из Real Mode одновременно только при помощи уловок, завязанных и на DOS, и на архитектуру чипа 80386, под которым система работала. Майк посидел в офисе, уставившись в мониторы, залитые диагностическими данными, разбирался с проблемами синхронизации. В конце концов, код модемной части стал бронебойным, а это было важным достижением в то время, учитывая то, какие примитивные методы у нас использовались до этого.

Арт Warcraft'а

Аллан Эдхем надеялся добыть лицензию вселенной Warhammer, чтобы попробовать увеличить продажи, за счёт узнавания бренда. Warhammer вообще был источником мощного вдохновения для дизайнеров Warcraft. Но по ряду причин, мы отказались от этой затеи. Было сложно договориться о выгодных условиях на бизнес-уровне, и слишком горячо было желание контролировать создание нашей вселенной самостоятельно, чтобы никто не вмешивался в работу нашей команды (и меня, в том числе, разумеется). Плюс, у нас уже был довольно скверный опыт работы под лицензией — мы делали “Death and Return of Superman” и “Justice League Task Force” вместе с DC Comics и нельзя сказать, что нам бы хотелось повторить этот опыт в нашей новой игре.

Довольно странно это сейчас представлять, но могло бы случиться так, что Blizzard не были бы владельцами интеллектуальной собственности на вселенную Warcraft. Тогда еще сложнее было бы представить, чтобы мы оказались на таких уверенных позициях в игровой индустрии сегодня.

Через несколько лет после того, как мы запустили Warcraft, мой отец, вернувшись из путешествия по Азии, вручил мне сет миниатюр Warhammer, отряд скелетов на колесницах и сказал: «Пока я путешествовал, мне попались вот эти забавные ребята, очень напомнили твои игры, ты бы сказал вашим юристам, пусть свяжутся с производителями, а то они похоже у вас тащат идеи.» Хмммм!

Преграды на пути разработчиков игр

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

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

Боб Фитч был вторым разработчиком на проекте и мы с ним постоянно копировали файлы и изменения в коде между собой. Периодически мы ошибались при интеграции и баги, которые мы уже фиксили, открывались заново. Мы вылавливали их снова и обнаруживали, что когда копировали файлы, вносили изменения — мы перезаписывали что-то поверх удачных баг-фиксов, и порой приходилось вспоминать как мы уже закрывали эти баги заново.

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

Когда к проекту подключилось много разработчиков, дизайнеров и художников, работать над проектом, понятное дело стало проще, в основном, но мы обнаружили еще одно большое препятствие на нашем пути. Игра изначально разрабатывалась под DOS, в «Реальном режиме» (Real Mode), что значило, что в нашем распоряжении есть только 640КБ памяти, и меньше, где-то 120КБ для операционной системы. Можете себе представить какие адские условия у нас тогда были.

Как только дизайнеры начали отрисовывать персонажей, бэкграунды и пользовательский интерфейс, мы тут же столкнулись с тем, что мы жрем всю память. И мы начали искать альтернативные варианты. Первой идеей было использовать мэппинг через страничную память EMS и хранить дизайн игры «над» барьером памяти в 640К.

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

Не заключение

В следующей статье цикла я расскажу о Стю Роузе и дизайнерском перевороте; первой мультиплеерной Warcraft-схватке и о баге, который чуть не убил мультиплеер; о том, как Билл Ропер сделал Warcraft потрясающим, уместив его на флоппи-диски; о реакции Westwood Studio на нашу игру и о других детальках, которые сокрыты в игре, которую я и другие ребята из команды разрабатывали восемнадцать(!) лет назад.


Warcraft 3 Reforged - это ремейк/ремастер, который разочаровал многих игроков. Хотя Blizzard изначально обещала много графических улучшений, она разочаровала всех, когда наконец запустила игру. И, по иронии судьбы, одному человеку удалось переделать Warcraft 3 на движке Unreal Engine 5 и показать, как должен был выглядеть ремастер.

Созданный ютубером 'AXCEL', этот ремастер Warcraft 3 на Unreal Engine 5 показывает миссию/квест из игры. Что действительно круто, так это то, что воссоздание имеет правильную механику геймплея. И это выглядит потрясающе.

Теперь, как и в случае с большинством фанатских ремейков/ремастеров на Unreal Engine 5, AXCEL не планирует выпускать его для публики. Вместо этого ютубер планирует выпустить еще одно видео, как только он скомпилирует проект, демонстрируя его работу на RTX 3080.



Глядя на конечный продукт мы не всегда понимаем, какой огромный объем работы лежит за ним. Чтобы получше разобраться в том, сколько времени и сил тратят разработчики на создание проектов, предлагаем проследить за разработкой популярнейшей MMO современности, World of Warcraft от Blizzard. Поехали!









Это старейший на сегодняшний момент скриншот World of Warcraft. Он сделан еще в то время, когда игра создавалась на движке от Warcraft III, в результате чего проект выглядит как один из любительских модов. А это 1999 год, здание в Валгарде. В современной версии игры нет практически ни одной строчки кода или элемента дизайна из тех времен. Кстати, кто такой Malbourn не знают даже сами разработчики. Еще один дорогой сердцу разработчиков скриншот. Опять же, один из первых, что были сняты в ходе разработки. Вот такие расы были в игре в 2000 году. Как вы можете заметить, дизайн нежити был практически полностью переработан с тех времен. Вот это, внимание, первая версия загрузочного экрана World of Warcraft. Изначально разработчики предполагали, что в игре будет 6 рас. Тролли и гномы были добавлены позднее. Ранние версии женской модели тролля. Первый полет в истории игры. Примечательно, что грифон не был анимирован, поэтому героиня "плыла" по небу. Знаменитый таурен празднует свой День рождения. Изначально Джаггернаут, находящийся в Мертвых Копях, располагался снаружи. Лишь потом разработчики решили поместить его внутрь пещеры.


Когда-то Джефф Каплан пропустил E3, чтобы сделать эту карту Низины Арати. Коллеги пошутили над ним, сказав, что он создал "карту Atari". Сейчас Джефф руководит разработкой Overwatch.


После создания "карты Atari" мы принялись за проработку уровня. Было решено расположить все контрольные точки таким образом, чтобы при нахождении на каждой из них были видны все другие, - вспоминает один из разработчиков.



12 августа 2004 года. День рождения Ониксии. Конечная версия модели пока не сделана. Впоследствии Роман Кенней все-таки завершит работу над этим прекрасным драконом, - вспоминает Джефф Каплан. Первый тестовый бой против Ониксии.








Ранняя версия карты Калимдора. Вот так выглядел первый в истории World of Warcraft рейд в Огненные Недра. На тот момент, эту локацию собирались вырезать из финальной версии игры. А это означало, что на старте игрокам предлагался только рейд на Ониксию. К счастью, совместными усилиями Скотта Мерсера и Джеффри Каплана, локацию удалось спасти. Ребята доделали ее за неделю. "Какого хрена мобы бьют босса?", - это был главный вопрос первого теста Логова Крыла Тьмы. Руины Лордареона. Изначально, разработчики не собирались превращать Подгород в место жительства нежити. Но получилось как получилось. Ранняя версия К'туна, главного босса храма Ан'Кираж. Изначально Запределье должно было появиться в релизной версии World of Warcraft. Но работа над локацией затянулась. А вот и счастливая команда разработчиков в день выпуска World of Warcraft! Тогда еще они не знали, что навсегда вписали свои имена в историю.

Читайте также: