История одной карты

В этой статье я расскажу о процессе создания карты для Doom2d Forever, одну из последних версий которой я назвал Another Station.

История названия и о чём вообще карта

Как можно догадаться после запуска, карта эта сочетает в себе одновременно и уровни из игры Another World и уровень из игры The Final Station и сделана мной для игры Doom 2d Forver 0.667.

Обе эти игры, если кто не в курсе, это 2d-платформеры. Наиболее близкие по жанру к Doom2d. И там и там у вас главный герой бегает с пистолетом от врагов, волей случая оказавшись в условиях, которых не ожидал. Сомневаюсь что существуют люди, никогда не слышавшие про Another World. Но если они существуют, то специально для них справка из википедии:

Another World — компьютерная игра фирмы Delphine Software в жанре action-adventure. Оригинальная версия вышла в 1991 году, а в 2005 и 2013 годах вышли осовремененные переиздания с улучшенной графикой. В 2011 году игра была издана на платформе iOS

 

Т.е. это старинная игра, выпускавшаяся ещё под Dos и десятки других платформ, в первую очередь консолей тех лет. Потом выпускались переиздания в огромном количестве. Многие из которых отличались графикой. Т.е. уровни одни и те же, а выглядели по-разному. Все их при желании можно найти на youtube. Где-то была музыка в midi, где-то другая. Где-то было меньше уровней. В изданиях на 15-летие игры и на 20-летие вообще саундтрек в Mp3 а графика перерисована под огромное количество цветов с кучей красивых эффектов света. За основу своей карты я брал именно переиздание 2013 года. По сюжету оригинального Another World’а учёный в ходе эксперимента над ускорителем частиц попал на другую планету и застрял там.

Что касается The Final Station — это игра 2016 года от российских разработчиков. Рассказывает о пути простого машиниста экспериментального поезда по стране в ходе апокалипсиса, вызванного вторым посещением планеты какими-то гигантскими существами, ростом с небоскрёбы и сбросивших какое-то биологическое оружие на города, в результате чего большая часть населения превратилась в монстров, с которыми и сражался главный герой.

Как я соединил две игры в одну и что за сочетание? Всё очень просто.

Шёл конец 2015 года. Торчал я на youtube в поисках интересных роликов про какие-то старые игры и случайно увидел прохождение another world за 20 минут.

Тогда я ещё не знал что это за игра, вообще ничего о ней не слышал. Однако увидев это, я как фанат Doom2d тут же подумал — «а ведь многие куски этой игры можно воссоздать в doom2d». Подумал и забил. Энтузиазм был на нуле, идей мало. Так и прошло время до февраля 2016 года. Именно тогда началась работа на картой.

Первой идеей было сделать небольшую DM карту для Doom2d в стиле этого куска

Тогда карта называлась просто Another World. Однако спустя 3 дня работы, я понял что на карту уходит слишком много времени и огромный потенциал пропадает. Глупо было бы такую идею тратить на какую-то мелкую Dm-карту. В результате карта развилась до одиночной. Была задумка под одного игрока, затем, когда всё уже было почти готово, карта превратилась в карту для 2 игроков, но идей для сегмента под второго игрока не хватало, поэтому карта долгое время была не доделана и почти год валялась. Пока 30 августа 2016 года не вышла The final Station.

Я как только увидел эту игру, сразу понял — вот она — идея для уровня под Doom2d. Но т.к. у меня уже была недоделанная карта, я решил не делать ещё одну и бросать, а сделать это куском для второго игрока. Но, как и прежде, подумал и забил. Снова напала лень и снова ничего не делал. И только в январе 2017 года я взялся за дело, купил лицензию The Final Station, прошёл игру и хорошенько всё продумал. Выбрал какой уровень я буду воссоздавать и наделал скриншотов. Сама работа над частью в стиле этой игры началась лишь в феврале 2017 года и завершилась буквально в 20 числах апреля.

Ну и конечно я добавил сегментов в стиле классического Doom2d как переходные сектора между мирами. В результате карта из another world превратилась в Another Station, что обыгрывает наличие двух игр в одном уровне.

Что касается самой карты, она:

      • Состоит из двух сегментов — для первого игрока и для второго. Игроки почти до самого конца не пересекаются и практически играют каждый на своём уровне, однако в паре-тройке мест видят друг друга неподалёку и могут помочь друг другу выбраться из ловушки.
      • Играбельна как за одного игрока, так и за двух
      • Рассчитана на coop ТОЛЬКО на 2 игроков. Ни в коем случае не больше. Срабатывание триггеров рассчитано на то, что в куске для первого игрока будет только первый игрок, а в куске за второго, только второй.
      • Если вы будете играть за одного игрока, то увидите только Another World-уровни + стартовый кусок в обычном стиле
      • Если будете играть за 2 игроков, то и первый игрок попадёт в большее количество комнат на своём сегменте, и второй игрок пройдёт свой уровень, состоящий сразу и из The Final Station и из кусков в классическом стиле и из кусков из Another World 2 и даже из выдуманных мной комнат, нарисованных текстурами в стиле Another world.
      • Состоит из более чем 680 текстур. 80% из них нарисовал лично я. Да, я потратил на это сотни часов. Многие текстуры перерисовывались раз по 10, поэтому фактически их могло быть и больше 1000. 20% текстур нагло стырены из оригинальной игры,в основном в сегменте в стиле The Final Station — содержимое домов, т.е. столы, шкафы и т.п. штуки я отмасштабировал с подобранным мной коэффициентом, создал альфа-каналы и перегнал в doom2d F. Хотя сегмент Another World фактически на 95% нарисован мной с нуля. Хотя я стырил из оригинальной игры пару колонн, однако я и свои тоже нарисовал, но удалил их где-то в середине разработки, т.к. оригиналы были красивее.
      • Содержит в конце COOP-сегмент для 2 игроков, попасть на который можно только играя вдвоём. Эта часть проходится только в ходе взаимодействия двух игроков.
      • По выдуманному мной сюжету — первый игрок бегал по обычному миру doom2d и вдруг его засосало в портал в другой мир. Второй игрок оказался в портале ещё раньше, но его засосало в другой мир. Однако позже он смог найти портал и попасть в ещё один мир, а потом вернуться назад, встретив первого игрока. Поэтому coop-сегмент выполнен в классическом стиле.
      • Сегмент в стиле Another World для первого игрока содержит больше десятка комнат из оригинальной игры, соединённых в выдуманном мной порядке. Поэтому отдельные комнаты можно найти в реальной игре, однако последовательность их прохождения выдумана мной.
      • Сегмент в стиле The Final Station содержит 80% уровня из этой игры, воссозданного с абсолютной точностью. Я сохранил 90% содержимого всех зданий, их порядок и даже порядок прохождения уровня и надписи. В 10% изменений входит сокращение расстояния между зданиями для уменьшения общей ширины карты и уборка некоторых лишних текстовых сообщений, которые бессмысленны в отрыве от оригинальной игры. Что касается 20% недостающих от полного уровня — они просто не влезли. В этой игре уровни небольшие в высоту, но огромные в ширину. Чтобы не расширять карту в четвёртый раз, я просто урезал правый кусок карты и соединил не так как было на самом деле. Но там было всего то 2-3 домика мелких. Так что разница несущественна.
      • В сегменте для второго игрока куча мест из игры Another World 2, игры, которая вообще не выходила на ПК, а только на экзотических консолях. При этом она нигде больше не выходила и не переиздавалась. Поэтому я откопал какой-то фанатский порт, который подгружает iso-образ диска в странном формате и прямо с него запускает игру под винду. Нашёл его перекопав не один десяток английских сайтов и изучив немало инфы. Сама по себе игра чрезвычайно древняя и по стилю на уровне another world’а 90-х годов.

Поэтому там всё выглядело довольно некрасиво. И в связи с этим я нарисовал всё почти с нуля, используя стиль переиздания первой части на 20-летие игры.

  • Цифра в названии карты означает номер сборки wad’а. На момент написания этой записи текущая сборка 282. Это значит что существует ещё 281 wad с разными наборами текстур, с разными степенями готовности разных кусков уровня, разной ширины карты и т.д. Где-то нет половины звуков, где-то ещё нет текстур. Номера меняются именно при перепаковке текстур и звуков. Удалении старых, добавлении новых.

Как всё начиналось

Как я уже написал выше, планы были куда более скромными, чем то, что вышло в итоге. Я потратил 2 дня на создание 1 комнаты, скриншот которой размещён третьей картинкой в этой статье. На этой картинке показано всё что я смог сделать часов на 16. Я бесконечно перебирал вертикальные и горизонтальные градиенты, рисовал их разной высоты, с разной степенью и скоростью перетекания одного цвета в другой, стыковал вертикальные градиенты с центральным и нижним, перебирал разные оттенки, эффект света и т.п. Версий текстур было столько, что я собрал больше 30 wad’ов для одной только этой комнаты. Везде были разные текстуры. На картинке один из предфинальных вариантов. В игре финальный.

После создания этого куска я придумал план, какой будет карта. Выглядело это так

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

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

Идеология карты

При создании карты я руководствовался следующими принципами

  • Рисовать всё самому. Ничего не брать ни из каких игр. Чтобы был идеально одинаковый стиль всех текстур. Все цвета везде одни и те же. В своё время я создавал карту-пародию на deus ex, на форуме doom2d есть ссылка. Там я получил немало опыта и понимания что пародируя что-то существующее проще всего нарисовать всё с нуля, чем нарезать скриншоты из игр, ресурсы которых не распаковать или ресурсов которых никак не достать. Так проще получить текстуры тех размеров, какие нужны в определённом месте, а не пытаться подогнать уровень под готовые текстуры. Свобода работы над уровнем.
  • Размеры кратны степеням двойки. Начиная карту я помнил ещё о существовании ограничений Doom2d Forever на пропорции, поэтому 90% сегмента another world сделано с этим учётом. Примерно к середине разработки карты я перешёл на 0.667 сборки начала 2016 года, где пропало это ограничение, в связи с чем стал периодически рисовать текстуры и других размеров. Сегмент для второго игрока частично кратен степеням двойки, частично нет. Я особо не заморачивался, но и не делал все размеры левыми, т.к. сначала создавал границы, а потом наполнение.
  • Воссоздать игровую механику и стиль комнат максимально точно. Карта создавалась в первую очередь для тех, кто «в теме» и знает оригинальную игру. Особенность работы лифтов и т.п. вещей повторяет оригинальную игру. Тоже самое касается и сегмента The Final Station. Воссоздано всё что только можно с максимальной точностью.
  • Минимальный размер карты (в мегабайтах на диске). Поэтому до 80% текстур представляют из себя квадраты 8×8 и 16×16, залитые одним цветом, либо с парой полосок разной ширины, из которых я собирал комнаты с разным содержимым. Наиболее заметно это на тюремном фиолетовом сегменте в стиле another world. Там под 100 текстур на пару «метров» дистанции в игре. Я пытался добиться размера wad’а не больше мегабайта. Когда появился сегмент the final station — выдуманное мной ограничение расширилось до 1.5 мб. Потом я добавил немного звуков минимального размера. Однако минимальный размер наиболее важный критерий.
  • Максимальное расстояние между комнатами. Чтобы находясь в одной игрок не видел соседнюю на больших разрешениях экрана. Я специально растягивал промежутки между комнатами another world. На мини-карте это отчётливо заметно. Однако карта всё ещё тестировалась в оконном режиме 1024×768.

 

Ход разработки

30-я сборка (19.02.2016) wad’а выгдядела так

Общие размеры карты на тот момент — задуманы под DM. Декалей следов от пуль и выемок на стенах ещё не было.

35-я: тогда я нарисовал комнату справа и текстуры под неё. Появились первые декали. Это всего-лишь 2 или больше полукруга разных цветов, создающие эффект выемки в стене. Как видите, на полу следов от света ещё не было. На мини-карте справа виден полный размер на тот момент.

42-я (20.02.2016) версия уже содержала шахту справа и комнату слева. Появилась идея сделать всё-таки карту для одиночного прохождения. Тут вы можете увидеть мои колонны. Тогда я ещё использовал нарисованные мной, которые позже заменил на оригинальные, т.к. эти у меня вышли кривыми. Я рисовал их по пикселям в фотошопе, как и все текстуры.

К 63-ей (22.02.2016) версии образовалась комната слева-сверху. Тут для меня было самым сложным окно. Версий его существовало столько, что я потратил на него весь день. Это был выходной и поэтому я перерисовывал его с 10 утра до 23 часов вечера. Без остановки. Нарисовать такой овал с таким наклоном, эффектом вогнутости и видом за окном, а также решёткой для меня было самым сложным что я только делал за всё время работы над картой. Это картинка из десятка слоёв, а не просто окно. Ещё несколько часов я перебирал градиент в этой комнате. Сверху там фиолетовый перетекал в коричневый, причём тень была и сверху и по бокам. Часами я рисовал то один градиент, то второй, то стыковал их. А ещё нужно было как-то сохранить эффект света за окном и чтобы в этом месте градиента не было. Потратив много часов я сделал мини-градиент только сверху, а остальное залил коричневым. Что касается этой псевдо-трёхмерной конструкции сверху — это я нарисовал минут за 10-15. Всего-лишь замерил углы, под которыми нарисованы эти линии в оригинале и нарисовал такие же, потом залил нужным цветом в нужных местах добавив ещё пару линий под заранее измеренными углами. Самые стандартные инструменты фотошопа.

76-я сборка (23.02.2016)

Появился правый верхний сегмент. Тогда ещё без фиолетовых камней-фона за стенами. На мини-карте виден полный размер карты на тот момент.

В нижней части появилась эта комната

Тогда ещё без подвала, без щупалец и вообще без других идей. Справа тоже ничего не было. Никаких сварочных аппаратов.

91-я версия (24.02.2016)

Появился подвал под этой комнатой.

Карта была немного расширена вниз. Появился первый набросок старта для второго игрока.

В левом нижнем углу появилась первая версия стартовой точки для первого игрока. Справа появился набросок водного сектора. Пока просто прямой спуск под воду и всё.

Появился купол

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

Также карта была дорисована вверх

Добавил пару комнат.

 

104 версия: (26.02.2016)

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

Также появилась идея сделать сегмент для второго игрока. Это должно было стать точкой старта второго игрока

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

А сверху появилась левая половина с камнями.

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

В оригинале:

 

114-я версия

Заглушки старта первого и второго игрока всё ещё висят на месте. При этом создал правую часть сверху и спуск. Пока без декалей фона снизу и не все декали сверху.

140 (28.02.2016)

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

Сравнение:

Появилась первая версия комнаты выхода для первого игрока.

Забегая вперёд, скажу что она провисела тут до 2017 года, пока я не закончил всю часть The final station. Только тогда я нашёл время удалить эту хрень и сделать что-то нормальное. Уже тогда я понимал что эта часть просаживает общее качество карты и выглядит уныло. Собирался как-то исправлять, но свободного места на карте уже не было. Смотрите мини-карту на скриншоте. Физически уже негде было лепить что-то. Сама по себе эта комната такая мелкая и узкая чтобы по-максимуму замедлить игрока и растянуть прохождение карты по времени. Просто у меня тогда не было идей и размер карты я считал финальным и не собирался из-за одной комнаты расширять карту, да и переделывать было лень. Идей под переделку не было вообще.

 

155-я версия (1.03.2016)

Появился первый набросок левого верхнего угла. Место для второго игрока. Тогда я активно взялся за сектор для второго игрока. Набрался идей для него и придумал план в голове.

Витражей внутри ещё не было. Зато нарисовал окно второго или третьего типа. Не помню уже в каком порядке их создавал.

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

В оригинальном another world это вообще чуть ли не первый уровень. Ну или второй. С этого места игрок начинает что-то делать, а не тупо бегать. Вот и у меня это была вторая комната для второго игрока.

Для сравнения:

Снизу воссозданный мной вариант, сверху оригинальная игра.

Как видно, дом слева и промежуток между домом и камерами отличаются. У меня дверь вышла толще и меньше в высоту, а промежуток шире. Я срисовывал с оригинала на глаз. Поэтому идеального совпадения не вышло. Хотя мне мой вариант нравится даже больше оригинала.

Тюремным сектором я реально горжусь. Тут более 30 декалей на стенах. Я нарисовал с нуля каждую выемку на каждом миллиметре каждой стены. Хотя местами у меня они слишком яркие вышли и лучше заметны, но воссоздано 100%. Там даже текстуры шириной меньше 8 пикселей есть. И индикация наличия кого-либо в камере, даже первого игрока в будущем и до его появления.

Ещё одно сравнение, но это из более старой сборки , когда в камерах ещё никого не было и когда я стену сверху не заполнил фиолетовыми камнями. Хотя в оригинале их не было там, я их добавил для красоты и потому, что в оригинальной игре камни начинались в соседней комнате и момента стыковки не было. Повторюсь, в тюремном секторе каждый пиксель нарисован мной с нуля. Абсолютно всё. Ни единой скопированной текстуры.

В 180-ых версиях добавил следы света на полу. В те времена я зашёл на форум Doom2d forever и увидел их упоминание Jabberwock’ом в теме про чью-то карту и пример. После чего заметил что в Another World’е такие штуки есть, а на моей карте-пародии их не хватало. Нарисовал.

 

181-я версия (7.03.2016)

Доделал левый верхний угол. Добавил витражей и окно, нарисовал декали на стене.

Справа нарисовал фиолетовые камни. Много раз менял их размеры и размеры текстуры в целом.

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

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

Водяной сектор был усложнён и превращён в лабиринт. Добавил туда ловушку.

Нарисовал ещё одну комнату для второго игрока. Одна из самых простых по затратам времени.

Слева добавил пару комнат и ловушку. Изначально было просто 2 комнаты, которые открывались в процессе езды в лифте и игроку надо было пока он едет в лифте придумать что делать с двумя рыцарями сверху и снизу над ним, когда он поднимется наверх. Можно было их загнать пол луч и убить им. Однако потом я сделал комнату с пауками и ловушкой, которая, кстати, взята из Another world 2 (и комната и ловушка).

После чего подумал что эту ловушку можно запихнуть и в сегмент для первого игрока. А именно сюда.

В результате получилось ещё лучше. Теперь ловушка сверху и умирающий в ней монстр показывает игроку что ему надо что-то делать, пока он не стал следующим трупом. Вышло что-то вроде демонстрации работы ловушки и испытание реакции игрока одновременно. Я вообще не задумывал изначально эту фишку, так случайно соединились 2 идеи и получилось интересно. Да и кстати сама идея такой ловушки в лифте взята из another world 2. Там лифтом можно управлять вверх-вниз из любой части лифта и там это проходится как-то сложнее из-за низкой скорострельности оружия.

 

190 версия. (7.03.2016)

А воз и ныне там)

Прошло уже много месяцев работы над картой, а точка старта первого игрока всё ещё была такой.

192-я (11.03.2016)

Занялся улучшением пустых комнат. Добавил сюда первую версию щупалец. Тогда ещё кривую. Было сложно подобрать нужное количество кадров анимации для совпадения скорости движения лифта с захватом игрока. Поэтому несколько кадров позднее пришлось дорисовать и несколько раз пересобрать это место. Сначала я хотел засунуть эти щупальца хоть куда-нибудь. Конкретного места не было придумано. Поместил их в эту комнату т.к. именно она была самой пустой в плане интересных идей на тот момент. То, что прямо под ней оказался подвал изначально не задумывалось. Да и сам подвал тоже сделан был чтобы это была не просто ещё одна пустая длинная комната. Частично такой механизм подвала вдохновлён игрой Doom3.

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

201 сборка (15.03.2016)

Между тем добавил ещё пару комнат для второго игрока. Они взяты из Another world 2. В смысле сама идея внешнего вида. Содержимое опять же нарисовано мной. Это кстати одни из первых монстров, которых я разместил на карте. До завершения работ над картой нигде не было монстров и предметов вообще.

Примерно тогда же я заменил свои коричнево-серые колонны на скопированные из оригинальной игры. Мои всё-таки какие-то кривые и нарушали атмосферу.

219 версия: (9.04.2016)

После месяца раздумий и бездействия я решил, наконец-то, что делать с точкой старта второго игрока. Карту расширил вниз. Наконец-то сделал точку старта второго игрока нормальной, а не заглушкой. Точка старта первого — всё ещё заглушка.

Тогда именно это место было началом игры для второго игрока, сегмент Final station не существовал даже в планах. Идей, как обычно, было ноль, поэтому весь тот месяц и искал источники вдохновения просматривая стиль уровней других игр. Однако решение нашёл в самом странном месте — в 3d игре. Весь этот кусок — ничто иное как план карты de_survivor из counter strike 1.6. Место появления игрока в этом секторе — точка старта террористов. Ловушка снизу — точка старта контр-террористов. Место с синим ключом — внутренности самолёта.

Штука чуть левее — грузовик. Два странных лифта — проходы между снегом. Можете считать это место — своеобразной пасхалкой.

Именно так выглядел этот самый план карты de_survivor:

Справа сверху нарисовал это

Всё это — сегменты из Another world 2. Нижняя часть с паром нарисована в зеркальном отражении. В реальной игре игрок шёл справа налево и лифт был справа. Я сделал в нужном мне порядке. Ловушка с паром, тогда ещё без звука.

 

224 версия (28.04.2016)
К этому моменту я наконец-то придумал комнаты старта первого игрока. Нижняя часть была ещё довольно узкой и с большим количеством комнат.

 

План был таким

Что вышло в итоге — вы видите в игре. Хотя в начале было не так. Правая нижняя половина постоянно меняла текстуры (смена текстур без остановки по триггеру игрок близко). Идея была в том, что посреди комнаты открылся портал и один мир накладывался на другой. Это было место перетекания классического мира doom2d в another world. Там ещё планировался анимированный портал. О эта зеленоватая текстура везде постоянно менялась на синюю. Однако эта постоянная смена текстур смотрелась неоднозначно и выглядела больше как глюк, чем как идея. Там ещё двери были, на них смену текстур было поставить сложно и муторно. В результате все зелёные текстуры я удалил и оставил только синие. Портал делать не стал вообще. Оставил так. Поэтому переход двух миров стал резковат. Хотя он всё равно есть. Внизу в синей части архитектура карты всё ещё в стиле Doom2d. Линии по 16 пикселей и небольшие комнаты. А выход из портала в правом углу — уже чистый Another world по всем размерам.

 

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

На этом всё и остановилось. С конца апреля 2016 года я не делал с картой вообще ничего. завершив этот кусок я использовал 100% всех идей на карту. Однако сегмент для второго игрока содержал смехотворно мало комнат. В результате прохождение за второго игрока занимало считанные минуты, тогда как за первого — раза в 2-3 больше. Как это исправить я понятия не имел. Карта была забита до отказа. Места не было уже нигде. Смотрите на мини-карту. Снизу слева оставалось место лишь под начало игры для первого игрока, которое я тогда так и не придумал как переделать. А просто снизу было место под комнаты для общего выхода для двух игроков. Идей для него тоже не было. В результате наметился творческий тупик и я просто забил на карту, как я это неоднократно делал со всем, за что брался.

229 версия карты (22.03.2017)


Спустя огромный почти год забивания на карту я, наконец-то, нашёл на неё время. Очень активно засел за редактором карт и всё-таки решился расширить карту вниз. Другого выхода не было. Иначе точка старта для первого игрока была бы слишком простой и скучной, ограниченной остатком места на карте. Да и для второго игрока надо было добавить комнат. Без расширения вниз этого было не добиться. Смотрите на мини-карту на скриншоте.

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

Общий сегмент для выхода двух игроков был удалён. За год бездействия я просто забыл что я вообще планировал тут делать. И нигде не записывал и план не составлял. Поэтому просто выкинул всю эту часть целиком.

 

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

Комната со скелетом, созданная ещё в 224 версии была доработана. Точнее там просто появился скелет и решётка внизу. До этого там не было и решётки.

Это последняя версия карты под названием another world.

231 версия (23.03.2017)

Карта переименована в Another Station. Началась подготовка под создание сегмента The Final Station. Решение делать именно это окончательно принято.

Нарисован первый домик. Для примера загружен фоном, а затем удалён из wad’а оригинальный дом.

241 версия (25.03.2017)

Нарисован второй дом, который стал первым по расположению на карте. Появился идущий снег.

Дорисованы ещё дома. Смотрите на мини-карту.

Ступеньки ещё по 16 пикселей. Доделано пока до этого места. Минимум триггеров на дверях. Только на открывание. Без звуков.

247 версия (26.03.2017)

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

Тогда ещё без ограждения и без невидимой стены.

Внизу появилось содержимое здания.

Появился каркас будущего отеля.

И сектор под ним.

На месте будущего ринга пока пустота. Над ним — тоже.

251 версия карты (27.03.2017)

У отеля появилось содержимое. На месте кислоты пока что просто зомби.

Ключа на ящике ещё нет. Звуков дверей тоже. У отеля появилась вывеска.

Первая версия содержимого ринга. Справа карта заканчивалась ввиду нехватки места.

На старте в первом здании появился передний план и мужик с газетой. Появились диалоги.

257 сборка (28.03.2017)

Очередное расширение карты вправо. Нехватка места справа от ринга.

Появление фонового куска поезда в начале.

Появление зелёных шкафчиков в первом здании и за рингом. Пока без звуков.

263 версия (31.03.2017)

Появление первой версии поезда. Пока без окон в вагоне, без фона и без анимации сзади. Без анимации колёс.

Расстановка триггеров повсюду. Установка переднего плана для зданий. Появление невидимой стенки. Добавление звуков дверей.

Замена зомби в кислоте на оригинальный труп из Final station.

Появление забора и урны в начале.

265 версия (2.04.2017)

Проделана огромная работа.

Появился фоновый снег на земле.

Появление первых монстров на сегменте Another world. Расстановка предметов. До этого дня на карте было от силы 5 монстров в некоторых местах для теста. Никаких предметов и монстров не было вообще нигде, кроме точки старта первого игрока.

В водном секторе добавлен открывающийся передний план, в стиле Final station.

Вторая версия поезда. Появились горы, окна в вагоне, анимация всего везде. Контрольные точки телепорта после смерти в следующем за поездом секторе. Точка старта второго игрока перемещена из сегмента de_survivor на место перед первым зданием. Переделаны точки телепорта в связи с этим. Изменён порядок прохождения.

Возвращён на место ранее удалённый набросок общего выхода для двух игроков.

Хотя я забыл какая там была идея, выдумал новую, наигравшись в coop-demo из последних сборок Doom2d Forever 0.667

В связи с многократными расширениями карты в правом верхнем углу появилось место.

Добавил туда сектор для выхода. Идея переключения лифтов на тот момент кривая и всё работало не так, как задумано и было практически непроходимо.

Над рингом добавлены автомобили и снег. Прохождение этого сегмента замкнулось.

Т.е. был построен путь по триггерам, все триггеры расставлены и все двери срабатывали в нужном порядке.

268 версия (7.04.2017)

Первая играбельная. После завершения работ над ней — ушла на закрытый бета-тест для поиска багов.

Уже после возвращения с теста добавил звуки ловушке.

До этого впервые именно в 268-ой или в 267-ой версии удалил тот розовый сектор из 140-ой версии и заменил на такой

Здесь нужно дразнить какодемонов, чтобы их плевки улетали обратно под силой потока в определённую сторону и попадали в кнопку, срабатывающую от выстрела.

Также после завершения работы над 267-ой версией добавил табличку сюда

Сделано это с целью показать игроку, что это COOP-сегмент и проходить его надо взаимодействуя двум игрокам. Один игрок физически это не пройдёт никак.

269 версия (17.04.2017)

Исправлено миллион багов. Записки теперь нельзя заставить мигать и глючить. Ступеньки на 16 пикселей заменены ступеньками на 8. Добавлены блокировки монстров в нужных местах. Дорисованы ступеньки. Слегка исправлен баланс монстров. Добавлена первая видимая стенка-заглушка у невидимой стены по результатам бета-теста.

Исправлены результаты оптимизации панелей, которые поудаляли мне половину текстур с передним планом на сегменте Final Station и оставили кучу нерабочих триггеров. Т.е. пришлось починить карту и вернуть всё как было до оптимизации панелелей, которая испортила карту.

Добавлены ступеньки в определённых местах в сегменте в стиле Another world.

На месте с лифтами добавлена фоновая анимация для большей понятности. Исправлена логика работы этих лифтов. Теперь туда можно попасть сколько угодно раз и вылезти оттуда.

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

Добавлена озвучка сообщений для игрока. Добавлены новые сообщения для игрока. Исправлен глючный секрет в одном из мест. Изменены точки выхода из некоторых телепортов для второго игрока. Дорисована Jabberwock’ом ещё одна стадия открывания решётки в комнате со скелетом для второго игрока. Добавлен звук падения коробки на голову второму игроку.

280-я версия (20.04.2017)

Добавлен портал в начале сегмента Final station. Туда же добавлен фоновый звук при первом посещении этого места игроком.

Добавлены звуки клика клавиатурой на компах в зданиях сегмента Final Station.

282 версия. (21.04.2017)

Добавлены птицы. Добавлены звуки открывания металлических шкафов.

 

286 версия (04.05.2017)

Дорисовал сетку-заглушку в сегменте-Отеле в стиле Final station

 

286a (11.05.2017)
— Теперь при попадании с coop сегмент хотя бы одного игрока — открываются двери в предыдущих комнатах, где один игрок должен был спасать второго, но убежал вперёд.
— Добавлена коробка патронов в месте с какодемонами и потоками.
— Поднят потолок в том месте сегмента Final station, где демоны застревали и не могли достать игрока
— Исправлен баг с импом в тюремном секторе. Он теперь не должен оставаться на месте.
— Увеличена высота стенки за ямой, чтобы некоторые любители попрыгать уже не могли этого делать.

 

286b (12.05.2017)

-Звук луча в комнате для первого игрока теперь локальный
— В тюрьму добавлен ещё один триггер принудительно включающий кнопку если в камере есть игрок. Поэтому теперь кнопка обязана работать.
— Чуть сдвинул триггер в месте с иногда неисчезающим импом в той же тюрьме. Судя по ролику — этот баг возникает через раз. И он явно не связан с картой. Потому как у меня на всех дверях одинаковый набор триггеров.
— В месте с лампой и манкубусом для второго игрока теперь манкубус не может блочить спуск лифта и игрок может пройти.
— Теперь люк над водой в секторе для первого игрока открывается автоматически и сверху тоже.
— Сообщение про пригодившийся сварочный аппарат теперь не появляется сто раз)

287 (тот же день)

тест разных пиксельных шрифтов на записках

288-я сборка (тот же день)

— перерисованы диалоги и записки в сегменте Final station с применением шрифта pixel cyr размером 7. Он такой же как и 8, но буквы не перекашивает. Теперь тексты стали идеально чёткими.

288a (17 сентября)
— добавил блокировку монстров в одном месте, где демон попадал куда не положено
— в воде рядом с секретной дверью добавил пузырьки воздуха
— добавил текстуру двери в верхней части воды, которая ранее была невидимой.
ПРОЧИЕ ОБЪЯСНЕНИЯ И ТОНКОСТИ

Пасхалка от меня:

Если посмотреть на задний план пробегая здесь в первый раз, то можно увидеть персонажей игры Another world — а именно: главного героя, его помощника и монстра, от которого убегал герой оригинальной игры. В оригинальной игре такого, конечно же, не было, и я совместил анимации бега всех персонажей в один кадр и сделал такую пасхалку с целью напомнить игроку, в чьём мире он находится и добавить атмосферы. Суть этой пасхалки ещё и в том, чтобы намекнуть игроку что действия на моём уровне происходят в то время, когда и события оригинального Another World’а.

========

«Странная штука» на полу — это разновидность ключа из игры Another world 2. Само помещение из первой части игры, а штука из второй. Что это такое, я и сам не понял. Какая-то неведомая фигня) Пройдите another world 2 через эмулятор или посмотрите видеопрохождение и может сами поймёте. Вроде как это деталь какого-то механизма, который запускал игрок. У меня эта штука выполняет роль отсылки к Another world 2. Что касается невидимости сверху, то она берётся после появления приколистов снизу. В оригинальной игре тут была только зелёная люстра на потолке, которую можно было сбросить на голову врагу. Но сбрасывание на голову предметов я применил в другом месте карты, а здесь итак ловушки рядом. Поэтому оставлено так.

============================

Сварочный аппарат в комнате со щупальцами: его я нарисовал лично. Просто выдумал и добавил. Мне захотелось применить новый триггер из d2df 0.667, добавляющий эффекты искр, и я применил их на двери, которую игрок вырезает горелкой. Изначально я планировал нарисовать горелку, но реальная газовая горелка размером чуть больше кулака игрока, поэтому было бы вообще непонятно что игрок подобрал. А красный баллон с газом на тележке с парой колёс куда понятнее. Сначала, я опять же, искал в инете какую-нибудь картинку с баллонами, но так и не нашёл ничего подходящего и поэтому просто почитал несколько статей про пиксель-арт техники рисования и нарисовал баллон в paint’е.

================================

Тюремный сектор: как только я увидел его в оригинальной игре, мне тут же пришла идея сделать тут нечто вроде coop’а, где один игрок спасает второго из тюрьмы. В те же дни я как раз видел coop-демку на форуме Doom2d.org. В этом же месте оранжево-зелёные огни меняют цвет при появлении в камере игрока. Тоже самое было в оригинальном another world — в камерах, где кто-то сидел — была индикация другого цвета.

=================================

Раздельное прохождение двух сегментов для каждого игрока:

Почему я это сделал? Всё очень просто. Я всегда делал такие карты. С самого знакомства с игрой Doom2d году так в 2003-ем. Я играл в оригинальный doom2d вдвоём со своей сестрой за одним компом в coop’е. А она постоянно случайно стреляя в монстров задевала меня и тырила оружие с трупика моего игрока, меня это раздражало и я начал делать свои карты, где внутри одной карты было разделение на 2 сегмента, когда игроки могли спокойно играть на одной карте не стреляя друг в другая, но встречаясь в некоторых местах при желании. Я бы даже сказал что большинство моих самых старых карт были именно такими всегда. И 14 лет назад так было. За то время я просто приучился делая карты для двух игроков разделять их таким образом. Это просто дело привычки.

==================================

Портал в сегменте за первого игрока и неоткрываемая дверь перед ним.

На самом деле эта дверь ещё как открывается. И портал работает. Просто дверь открывается синим ключом, и портал работает только для владельцев синего ключа. А синий ключ выдаётся только в сегменте за второго игрока. Задолго до создания куска в стиле final station я придумывал как растянуть прохождение за второго игрока по времени. Потому как тогда для него было создано лишь несколько комнат и больше ему было делать нечего. И идея была в том, что он в одном из мест карты телепортировался к первому игроку и выходил как раз в этой комнате. А затем мог вернуться к себе на уровень и оказаться в нижней части тюрьмы, если первый игрок застревал в верхней. Затем я отказался от этой идеи, второй игрок больше не попадает на сегмент к первому. Эта комната и портал остались декорацией.

Кстати ещё прикол — в Another world’е эта синяя штука вообще не портал. Там это электрическое-поле генератор, заряжающий оружие игрока. Что-то вроде точки пополнения боеприпасов. Я же превратил это в портал, потому как эта штука уж очень на него похожа.

====================

Закрытость комнат передним планом в сегменте Another world для первого и второго игрока — сделано это в первую очередь чтобы при одиночной игре не было видно дополнительных комнат, в которые можно попасть играя в coop. Ну и чтобы первый игрок не видел комнат для второго игрока когда играет один. Ещё одна причина — отсутствие ограничителя видимого пространства, из-за чего на больших разрешениях экрана видно пол карты и портится всё впечатление от карты. По большей части эту идею я взял из игры Final Station. Однако идею я взял за пол года до того, как сделал сам сегмент в стиле final station’а и задолго до того, как я вообще собрался его делать. Просто увидел как-то ролик из этой игры даже не зная что это за игра и понял что это полезная идея.

======================

Урезанность сегмента Final station.

На самом деле этот уровень в оригинальной игре намного шире. Между отелем и зданием слева от него должно быть в 3 раза большее расстояние. И вообще там должна быть дорога с разметкой. А в правом углу карты должно быть ещё несколько зданий. 1 или 2. И только они должны вести вниз, к рингу. Однако я всё это не стал делать из-за нехватки пространства на карте. Конечно, я могу расширить карту вправо в любой момент, однако тогда сверху появился огромное количество пустого места. Нерационально столько оставлять. Да и вообще карта получилась слишком большой. А я назначал себе конкретные сроки завершения работы над разными элементами карты и план надо было выполнять. Иначе я бы вообще забил на карту из-за гигантских объёмов работ. Надо ли напоминать что на карту ушло почти пол года времени.

===================

Поезд и движущийся фон.

Я невероятно заколебался с этим движущимся фоном. Конечно, я помню карту autotrain от не помню кого) Я смотрел как там всё это сделано, но одно дело увидеть принцип работы, а другое сделать не просто бесшовную анимацию из случайной текстуры, но сделать ещё и саму текстуру бесшовной. Тут двойная бесшовность нужна. Ещё и важно учитывать огромную ширину текстуры. Она там под 1500 пикселей у меня. А реально читал десятки форумов по фотошопу и задавал кучу вопросов на них пока до меня дошло как добиться реальной бесшовности в движении и как подобрать нужное количество кадров чтобы был нормальный размер и нормальная скорость движения. Неделя, если не две ушла на многие версии анимации. Я налепил десятки gif’ок чтобы всё это дело протестировать. Сделал десяток tga-анимаций пока не вышла наконец-то нормально стыкующаяся в движении.

Причём у меня так и движущиеся бесшовные горы и движущаяся быстро полоска снега спереди и движущаяся медленнее на заднем плане другая полоска снега. Там разное количество кадров для разной скорости. Полностью воссоздать поведение фона из Final station мне не удалось. Там фон двигался раз в 10 медленее и было 4 уровня движущихся фонов с разными скоростями. Мне бы пришлось сделать более 50 кадров анимации, а это бы бессовестно растянуло размер wad’а.

До создания этого куска с поездом wad не превышал 1 мб в размере. Да там даже 900кб было.

А из-за этой анимации стало больше 1.5 мб. Почти половина размера накинута тремя текстурами. Это вообще не дело. Я собирался создать wad минимального размера с кучей текстур. Текстур получилось более 670, однако 3 анимированных занимают больше места чем более 600 обычных.

Ещё кое-что: в вагоне поезда вентиляция тоже должна быть анимированной. Однако в оригинальной игре такой анимации нет и она создаётся путём вращения движком игры статичной картинки. Я пробовал в фотошопе разворачивать на разные углы и делать из этого анимацию — выходила размытая хрень и оставил как есть. Как-будто вентиляция в поезде сломалась.

=============

Исчезающий в отеле приколист: он тут выполняет роль спасаемого гражданского лица. Его исчезновение — не что иное, как воссоздание игровой механики игры Final Station. Именно так исчезают находимые игроком персонажи. Таким образом я воссоздал момент из оригинальной игры. Именно воссоздание фишек пародируемых игр — это одна из целей создания карты.

==============

Бесконечные монстры: В ряде комнат в стиле another world монстры намеренно бесконечно появляются. Это тоже воссоздание момента из оригинальной игры, когда игрок должен был продержаться под атаками некоторое время, после чего появляется выход из ситуации.

 

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

9 thoughts on “История одной карты”

  1. В очередной раз перечитываю, очень круто описанная история создания карты.
    Может быть, выложишь эту статью и к нам на форум?

    1. Сторонние хостинги картинок имеют обыкновение удалять эти самые картинки через некоторое время. Или заклеивать их кучей баннеров. Или и то и другое.
      К тому же я писал эту статью в течение месяца, в процессе создания карты. Поэтому очень часто обновлял. Через админку wordpress'а как-то удобнее править большие статьи и форматировать текст. К тому же на своём сайте я могу быть уверен на 100%, что мой текст никуда не денется. А на форуме d2df исчезновение кучи важнейших тем и сообщений происходило часто и неожиданно. Больше я не доверяю важные вещи форумам)
      Ну и конечно же размер текста. Огромные массивы текста часто попадают под ограничения количества символов для одного сообщения. Не говоря уже о том, что эта статья — это мои личные эмоции и мнение, я не считаю что это должно быть выложено на обозрение всех подряд. Только тех, кто интересуется картой до такой степени, чтобы переходить по каким-то ссылкам. Это доказывает заинтересованность читателя в тонкостях создания карт. Раз кто-то ищет больше инфы, чем выложено на форуме игры, значит игра для него не просто развлечение на 1 день. А значит возможно кто-то из прочитавших эту статью станет постоянным думером.

  2. Немыслимо обидно, что настолько полная и крутая статья по созданию сложнейшей карты будет без картинок.

  3. Потратил пару часов, вытащил все версии карты из бэкапов, перезапускал все по очереди, создал новые скрины по тексту.
    Для остальных картинок взял копии из кэша, которые у меня валялись с января но лень было их прикреплять на место. Да и многие из них плохого качества. Но уж какие есть.
    В итоге 97% картинок воссоздано или восстановлено.
    Две картинки бесследно исчезли. Чтобы их воссоздать, нужно запускать оригинальную игру и найти нужное место в игре.
    Ну или искать в видеороликах с прохождением на youtube то же место и потом соединять картинки. Мне как-то лень) Хотя another world у меня реально до сих пор установлена, т.к. она занимает очень мало места. Но там такая ужасная система сохранений и не лучшее управление, что я не хочу больше запускать эту игру, хотя она и прикольная и атмосферная.

Добавить комментарий для Y-Dr. Now Отменить ответ

Ваш адрес email не будет опубликован.