Сага о Doom2D

Ты меня слышишь... или нет?
А, слышишь!

© Проверка звука в Setup'е от Doom2D

История легенды

Мало кто из российских игроков не играл и уж тем более не слышал о легендарной игре Doom2D. Думаю, что о ней так же хорошо знают как в СНГ, так и за рубежом. Свидетельство тому - статья в Doom Wiki[1].

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

Давайте для начала поближе познакомимся с создателями этой замечательной игры (титры взяты из версии 1.40):

Программирование Алексей Волынсков
Графика Алексей Волынсков, Владимир Калинин, Евгений Ковтунов
Уровни Владимир Калинин, Алексей Волынсков
Музыка, звук и речь Владимир Калинин

Итак, игру, как видно, делали всего 3 человека:

Не команда из 100 человек, которая два года пишет игру а ля тетрис, а всего-навсего три любителя. Поразительно, но факт. А теперь давайте дадим слово Алексею Волынскову:

-=-: Расскажите, пожалуйста, о создании игры. С чего всё начиналось? Как эта идея вообще пришла Prikol Software в голову?

Алексей Волынсков: Если не ошибаюсь, в 95-ом или около того году я ездил в Троицк, там было что-то вроде летнего лагеря для школьников, хорошо смыслящих в компах и программировании. В общем там нас типа обучали, мы тусили, а по итогам была типа олимпиада по программированию. В моей группе был фанат Дума, он сделал загрузчик для Турбо Паскаля, в виде думовской загрузки, с красной строкой-заголовком, выводом всякого прикольного текста, прогресс-баром точками и т.п. В итоге запускался Турбо Паскаль. Сделано это было против злого препода ("Что это вы тут делаете?" - "Турбо Паскаль загружаю." - "Ну посмотрим, посмотрим, как загрузится..."). Но было довольно забавно.

А ещё там был типа сисадмин, который тоже был большой фанат Дума, ну и мы решили над ним пошутить. Я сделал програмку, которая генерит мусорные файлы, и таким образом сделал Doom3, со всеми сопутствующими экзешниками для игры по сети, WAD-ом и т.п. Занимал он намного больше второго дума (мусор, разумеется), и по приколу я сделал doom3.exe на 666 килобайт (дописав мусор к реальному экзешнику, который просто печатал текст). Это всё мы отдали под видом третьего Дума ("только что вышел!") этому админу. Там народ всякие программки с собой привозил, так что это было не очень удивительно. Оказалось, экзешник не запускается (не влезает в досовские 640к), и, когда мы уходили, сисадмин пытался его запустить, устанавливая всякие расширители памяти и т.п. :)

Экзешники писали текст, типичный для Doom2, но с копирайтом (c) Prikol Software, 1997. Это было раньше 97-ого, разумеется :)

Потом я думал сделать какую-нибудь свою игрушку, и возникла идея сделать 2д-аркаду вроде Dangerous Dave, но как пародию на Дум.

-=-: Если не ошибаюсь, судя по исходным кодам, игра первоначально должна была носить имя "СМЯТКА" - это был отдельный проект, который потом перерос в Doom2D или изначально Doom2D и планировался, просто потом предложили название лучше? Насколько понимаю, Doom2D - некоммерческий проект. В связи с этим два вопроса:

  1. Самая распространённая версия игры - 1.30 - включённая практически на все существующие пиратские сборники "Лучших игр для IBM PC", "Лучших отечественных игр", и т.д. (видел её как минимум на 3-4 разных дисках) имеет известную ошибку "FATAL ERROR: Переустановите игру"[2] - это, так надо понимать, защита - для (или от) чего она была установлена (сделана)?
  2. И планировался ли Doom2D как игра, которая поможет команде авторов "заявить о себе" или просто был любительской разработкой?

Алексей Волынсков: Игра изначально делалась просто по-приколу, и называлась Doom2D. Потом возникла мысль её всё-таки попытаться продать. Для этого сменили название на "Операция Смятка", чтобы не эксплуатировать Дум. Собирались продавать на дискетах на Митинском радиорынке. Потому и защита. Пытались продавать, но не особенно получилось. Её потом упиратили на какой-то сборник - видимо, как раз версию с защитой.

-=-: Судя по файлу "Doom2D.doc" была демо-версия игры. Как она распространялись? Через знакомых, FIDO или ещё как-то?

Алексей Волынсков: Демо-версия - это скорее всего для какой-то "конференции юных дарований" или как они там назывались.

-=-: Сколько времени, в сумме, ушло на разработку игры (включая последнюю версию)?

Алексей Волынсков: Сложно сказать. Год-полтора (работы на досуге) наверное. Параллельно с учёбой в школе (школу я закончил в 96-ом, так что мы уже были старшеклассниками). Ну и при учёбе в школе есть летние каникулы, три месяца. До хрена времени, на самом деле.

Здесь возьму на себя наглость ненадолго прервать повествование для осознания такой вот мысли: Алексей Волынсков с товарищами написали эту бессмертную игру "на досуге" ещё учась в школе (!), пусть даже и старшеклассниками. Кто-нибудь знает хотя бы ещё один отечественный проект настолько же известный и написанный... школьниками? Игра вышла в 1996-ом году - уже, практически, 12 лет прошло, а её всё ещё помнят и любят. Неплохо для проекта написанного "просто по приколу"? В общем, как я люблю говорить - если это и не лучшая вещь, то уж точно одна из лучших.

-=-: А кто так весело озвучил приколистов, Setup, пункты меню в последней версии и прочее?

Алексей Волынсков: Владимир Калинин, он же писал музыку и сделал почти половину уровней.

-=-: Какие интересные / сложные / весёлые моменты при создании игры запомнились больше всего?

Алексей Волынсков: Запомнилось, как рубились первый раз в мультиплеер. Я только сделал эту возможность, в игре было одно оружие (ружьё) и не было аптечек. Играли несколько часов не отрываясь, на малюсеньком уровне :)

-=-: Существуют ли ещё какие-нибудь игры от Prikol Software помимо Doom2D?

Алексей Волынсков: Doom3 :) Выпущенный в 95-ом, кажется :) См. выше про историю идеи.

-=-: Gaijin Entertainment[3] - это выходцы из Prikol Software или нет? Расскажите, пожалуйста, немного о фирме и проектах над которыми сейчас работаете. Над ними трудится та же команда, которая когда-то делала легендарный Doom2D?

Алексей Волынсков: Из Prikol Software в Gaijin только я. Остальные не стали заниматься разработкой игр. Компанию Gaijin Entertainment я основал вместе с другими своими друзьями, Антоном и Кириллом Юдинцевыми. Сейчас я руководитель проекта "Ониблэйд"[4]. Это вторая игра (после Doom2D), которую я считаю "своей". В остальных проектах Gaijin я только "принимал участие" (на мой взгляд).

-=-: Большое спасибо, что нашли время ответить на вопросы. Удачи!

Алексей Волынсков: Спасибо.

Вот и всё. В конце хотелось бы подытожить некоторые вещи, поразившие лично меня:

  1. Doom2D - замечательная игра: аркадная, захватывающая, красиво, незатейливо и качественно сделанная. Всё гениальное - просто.
  2. Что особенно приятно - так это то, что игра - отечественная.
  3. Игру сделали не программисты-любители и даже не студенты, а школьники.
  4. Алексей Волынсков оказался нормальным человеком, вовсе не гнущим пальцы или презрительно игнорирующим почту от фанатов. Более того, он даже выложил исходные коды Doom2D и помог с описанием формата DMM для создания конвертера музыки (см. ниже), не говоря уже о том, что любезно согласился ответить на несколько моих вопросов.

Ну и закончить этот небольшой экскурс в историю игры хотелось бы очередной фразой Алексея Волынскова: Геймдев - само по себе игра :)

Ай-ай-ай, ой-ой-ой или Музыка

В хронологическом порядке (для пущего эффекту буду говорить о себе в третьем лице):

19.09.2004 - -=CHE@TER=- пытается разобрать формат DMM. Получается у него совсем немного и на этом вся работа останавливается. Исходные коды и наработки выкладываются для общего доступа в Интернете - возможно, у кого-то получится.

04.01.2005 - вернувшись к исходным кодам через некоторое время -=CHE@TER=- даёт объявление на форуме Extractor.ru[5] о помощи в разборе формата.

09.02.2005 - rs.falcon оставляет комментарий, что нашёл сайт разработчика игры - Gaijin Entertainment, где в истории фирмы[6] упоминается, что они делали Doom2D.

09.02.2005 - -=CHE@TER=- пишет письмо фирме (видимо, куда-то в support).

14.02.2005 - на сайте Gaijin Entertainment появляются исходные коды Doom2D вместе с последней версией игры[7].

15.02.2005 - не дождавшись ответа, -=CHE@TER=- регистрируется на форуме сайта и оставляет там сообщение[8].

16.02.2005 - на форуме отвечает Aliot и сообщает, что исходные коды уже выложены, так что любой, кто захочет, может их смотреть. Больше никаких сообщений нет.

30.03.2005 - когда на затею уже можно было махнуть рукой, на форуме появляется и отвечает Alexey (Aleksey), который оказывается ни кем иным, как одним из разработчиков Doom2D - программистом Алексеем Волынсковым. Он полностью объясняет формат. Благодаря ему закладывается первый кирпичик в фундамент будущего конвертера.

11.04.2005 - последнее уточнение по формату у Алексея Волынскова. С этого момента можно сказать, что все, кто видел это описание, пытаются написать конвертер. Столкнувшись с многочисленными трудностями при конвертировании формата, а также (позже) из-за рухнувшего винчестера, зачинщик всего этого, -=CHE@TER=-, так и не заканчивает конвертер. Всё останавливается после сбора статистики по модулям (кол-во таблиц, инструментов, макс. длина таблицы и т.д.)

21.02.2007 - после, практически, двухгодового затишья, инициативу подхватывают фанаты со свежеоткрытого сайта Doom2D.org[9] и возобновляют исследования[10]. Теперь, конвертированием занимается 3EPHOEd. Создаётся даже примитивный проигрыватель. Однако на этом работа опять стопорится.

14.09.2007 - наконец, спустя три года с первой попытки что-то сделать, как гром среди ясного неба появляется Grom PE с программой DMM2XM v0.6[11] конвертирующей DMM файлы в .XM (FastTracker v2.00 Extended Module) формат, которая, к тому же, поставляется с исходными кодами на Delphi.

15.09.2007 - после нескольких промежуточных версий, учтя всю критику на форуме, Grom PE выпускает DMM2XM версии v0.8, в которой появилась возможность добавлять стерео, что, по некоторым отзывам, даже улучшает звучание оригинала.

02.10.2007 - выходит DMM2XM v1.0, поддерживающая ко всему прочему обратную конвертацию из XM в DMM.

18.11.2007 - выходит DMM2XM v1.3[12], финальная на данный момент (прим. Jabberwock).

В заключение хотелось бы ещё сказать пару слов о Grom PE - авторе конвертера. Вообще, с Doom2D связано много "странностей" - в том смысле, что люди, так или иначе связанные с этой игрой, оказываются весьма интересными и приятными в общении. Так вот, мне удалось перекинуться парой слов с Grom PE и на мою фразу о том, что если бы конвертер закончил я, то исходные коды не выложил бы, Grom PE сказал чудесную фразу, на которую мне, собственно, нечего было ответить:

Моя цель - "наносить добро и причинять пользу", а открытые исходники явно принесут больше пользы (и всем), чем плагиат - вреда (и лишь мне?). ©Grom PE

ПошелнаXX или Коды

Все коды работают только в игре для одного игрока:

Следующие коды также набираются в английской раскладке, просто смотрите на русские буквы:

Исходные коды программ Prikol Software

-=-: Товарищ Grom PE возится сейчас (04.10.2007 - прим. -=-) с обратным конвертером XM->DMM. Поэтому хотелось бы спросить вот по какому поводу (цитата с форума):

Как ни странно, мы сделали свой редактор музыки. Он назывался DME (Digital Music Editor). Конвертация из MOD (может даже STM) была, но только чтобы вставлять другую музыку в игру (для deathmatch). У меня кажется где-то была версия DME, которая могла "проиграть" музыку в raw-pcm файл, который потом можно загрузить в звуковой редактор и сконвертить, скажем, в mp3.

DME является частью какого-то другого коммерческого проекта или его можно попросить выложить как и Doom2D?

Алексей Волынсков: Нет, не является. Могу выложить. Залил oldprog.rar (34 Mb) В общем оно "AS IS" ("как есть") и делать с ним можно что угодно, и кому угодно. Это всякие мои проги, написанные в древние времена на Турбо С и Watcom. Там хватает всякого мусора, бекапов и вроде даже Турбо С компилятор есть :) Я не особо разбирался, просто собрал то, что можно отдать в свободный доступ. DME там называется DIGMUS. В остальном - разбирайтесь и делайте что хотите. Я вряд ли смогу помочь, т.к. сам уже не особенно помню что там :)

Кстати, если уж интересно программирование игр, рекомендую глянуть эту статейку: ИНТЕРВЬЮ ГЛАЗАМИ ПОСТРАДАВШЕГО. Оно конечно про буржуйский Midway, и возможно, спорно, но те вещи, которые там написаны программисту игр знать очень желательно. Но это так, в помощь самообразованию :)

Ссылки

  1. Doom 2D - Doom Wiki
  2. Doom2D v1.30 и v1.40, исходные коды, Doom2D Fatal Error Patch и DMM2XM конвертер
  3. Gaijin Entertainment.
  4. Oniblade - официальный сайт
  5. EXTRACTOR.ru -> !!! Музыка из игры Doom2D !!!
  6. Gaijin Entertainment. Company: history
  7. Gaijin Entertainment. Проекты: Doom2D
  8. ПОЖАЛУЙСТА! - Doom2D Music Module (DMM) [форум удалён - архивная копия]
  9. Doom2D.org
  10. Форум Doom2D.org - DMM
  11. Grom PE's Software - сайт автора программы DMM2XM
  12. Grom PE's Software - DMM2XM (последняя версия всегда расположена по этой ссылке)
-=CHE@TER=-
15:05 03.10.2007

Перепечатано с разрешения автора.
Оригинал статьи находится на http://ctpax-cheater.narod.ru.