Хотел создать свою игру, искал движок и внезапно вспомнил про DOOM2
Я всегда хотел заняться разработкой игр или хотя бы принять участие в создании интересного мне проекта. Но я даже подумать не мог, что буквально вернусь в детство и запущу DOOM2, но уже с позиции разработчика
Время мечтаний и открытий!
Так сложилось, что уже давно, я хочу заняться созданием карт и неким базовым геймдизайном. Фактически делать я это хочу просто для себя, на уровне хобби, а потом если что-то будет получаться, потенциально хотелось бы принять участие в разработке игры или вообще создать свой проект!
За последние года полтора, я частенько посвящал время написанию концепций для своей потенциальной игры. Много времени было посвящено продумыванию концептов, механик, сюжета и самой главной мысли:
А как я вообще собрался это реализовать?
Со временем, пришло понимание, как примерно нужны навыки и инструменты для создания всего что мне нужно, но так же прилетел и самый противный прокол, один я такое не потяну
Из-за чего, было решено отложить проект в долгий ящик, до тех пор, пока не появится возможности для реализации, а пока я могу спокойно заниматься созданием 3D моделей, изучать по чуть-чуть движки и заниматься прочим обучением, которое поможет в будущем.Так я думал изначально.
А потом случайно открыл для себя GZDoomBuilder и понеслось.
Современная сборка DOOM2 под названием GZDoom, а так же её Builder стали для меня внезапным открытием.
Началось всё с Selaco, а точнее геймплейного ролика данной игры, который попался мне на глаза где-то пол года назад.
Данное видео не сказать что сильно удивило меня, я знал что старичок DOOM2 способен превратится во что-то невероятное, раньше я частенько любил модифицировать данную игру.
Но после просмотра ролика у меня впервые появился вопрос:
А на сколько сложно вообще создавать такое? И на что вообще способен современный DOOM2?
И я решил заняться изучением данного вопроса!
Перерыв пару страниц гугла и десятки роликов на Youtube, я открыл для себя внезапный факт.GZDoom нынче выглядит как вполне себе неплохой движок для разработки модов и даже полноценных игр.
Тот же Selaco выходит в Steam, как отдельная игра! А так же есть и гора других игр, которые уже вышли, такие как Hedon и REKKR
Особенным откровением для меня стало, то что нынче GZDoom не такой "плоский".
Спрайты врагов, предметов и даже оружия в руках главного героя легко заменяются на полноценные 3D модели, есть динамическое освещение и кучи полезных эффектов.
Мой фаворит по удивительным открытиям стал проект Disdain, попытка повторить опыт Quake 1 на уже много раз упомянутом GZDoom. Смотря трейлер я изначально даже подумал, что это уже привычный Unity, на котором часто любят делать подобные проекты.
Время самому пощупать, что такое этот ваш Builder!
После прочтения статей и просмотра тематичных материалов, я решил скачать и запустить тот самый GzDoom Builder и поизучать, насколько сложно нынче творить на таком движке.
Первый запуск прошёл не без вопросов.
По началу я увидел пустое окошко с картинкой Пинки демона. Нажал на кнопку создания новой карты и получил сложный на тот момент вопрос "Какого формата должен быть проект?"
Пришлось немного покопаться и узнать следующую мысль.
Фактически из множества конфигураций, меня интересуют две:
- Классический Doom format
- Современный UDMF
Различие между ними простое. Doom Format, он как я уже описал классический. В нём нас встретят самые известные ограничения движка DOOM2 в виде плоских спрайтов врагов и оружия, невозможности создавать многоуровневые локации и конечно же отсутствие хоть каких-то 3D моделей.
А UDMF напротив, весь из себя современный и классный, тут тебе все прелести и красоты доступны, правда придется неплохо так освоится.
Для меня очень наглядной разницей в форматах стали настройки горизонтальных текстур (да-да, пол и потолок).
В Doom Format от сил можно потыкать яркость и высоту пол с потолком, в то время как в UDMF доступно множество полезных опций (например поворот текстуры, чего часто не хватает в Doom Format)
Здесь казалось бы выбор очень простой, бери UDMF и твори, даже думать не надо.
Но я решил поступить иначе ( ° ʖ °)
Первая моя мысль была:
Даже если движок очень простой, это не значит что создать большой проект будет легко, нужно начать с чего-то простого
И я решил начать с создания классической карты для DOOM2!
Моим личным ограничением было:
- Использовать Doom Format
- Использовать только стоковые материалы из самого DOOM2
Фактически, я решил просто замаппить карту и познать удобство работы с данным движком. Моей целью стало обучение основам, а после того, как я смогу создать что-то более законченное, я смогу спокойно перейти на UDMF формат и приступить к чуть более комплексным проектам!
А пока, началось всё с простого, с задумки и первой комнаты!
В своём уровне я решил оттолкнуться от стандартного сценария. Герой заперт в тюрьме, надо выбраться и по ходу перестреливать кучи врагов. Ну а почему нет ¯\_(ツ)_/¯
Чисто для себя обозвал это SectarianBase и в голове накинул этому самый базовый лор, чтобы было от чего отталкиваться при выборе текстур, расстановке объектов и прочего дизайна.
И так я создал первые комнаты
Поскольку базовый движок DOOM2 "плоский" и такое понятие как "высота и этажность" в него толком не заложены, то в редакторе мы преимущественно имеем вид сверху, будто план комнат.
А по нажатию клавиши Q, можно переключится на вид от первого лица и летать на нашим постройкам, так можно более точно настраивать некоторые вещи, например "высоту пола".
Сразу пришло осознание, что заниматься обычным маппингом не так уж сложно, хотя у меня постоянно плыли метрики. Смотря на вид сверху я не всегда осознавал масштабы помещений, из-за чего даже большие по задумке комнаты, первое время выходили клаустрофобными.
Но это дело поправимое, так что я просто делал штуки как вижу и по итогу первых двух-трех дней работы получил следующую картину
А вот как всё это дело выглядело с видом сверху. Тут можно более четко разглядеть планировку помещений.
Как я тогда думал, это где-то половина карты.
Я никогда так не ошибался ( ° ʖ °)
Количество идей по ходу создания проекта росло, но я решил сфокусироваться на основных концепциях.
- Это некая подземная база
- Здесь обитают Сектанты, которые занимались попытками связаться с адом
- На базе будут присутствовать несколько порталов в ад (разломов), через которые можно будет бесшовно пройти в "новый для себя мир"
- На территории базы должны присутствовать и демоны и обычные солдаты, но вместе их ставить не стоит, ибо по логике сюжета у них вражда.
Как итог, через пару недель с начала работы над картой, я выпускаю первую её версию, под названием SectarianBaseV1.
Вот пачка скринов той версии
Я решил, что неплохо было бы выпустить это дело в открытый доступ и покидать разным знакомым на оценку, ибо при наличии разных мнений, будет гораздо проще понимать, где я допускаю ошибки в построении уровня.
Публиковал я это дело на ModDb, а так же на форуме Doom Power, где как раз можно делится картами новичкам и получить немного критики.
28 сентября 2022 года вышла SectarianBaseV1 на ModDb
Так же я скинул карту на оценку нескольким ютуберам, которые занимаются оценкой карт для DOOM2.
По итогу у меня собрался багаж критики и мелочей, которые явно стоит править, начиная от размера некоторых помещений (клаустрофобность всё ещё моя проблема) и заканчивая прокачкой своих дизайнерских навыков.
С этим самым багажом я решил создать вторую версию SectarianBase, где довёл бы до ума первую карту проекта и начал разработку второй (по задумке в финальной версии их будет 4).
Вот несколько небольших примеров изменений между версиями
7 ноября 2022 года вышла SectarianBaseV2 на ModDb
Поскольку это всё ещё больше хобби, то прогресс может показаться невероятно медленным. Считайте за 2 месяца изучения движка, я сделал лишь одну полноценную карту и зачаток второй.
Но учитывая что занимаюсь я этим от силы 1-2 дня в неделю, меня прогресс полностью устраивает.
Людям в том же коммьюнити дума мой первый проект понравился и многие дали кучу полезной критики с которой я думаю приступить к созданию третьей версии.
Время понять, а что дальше?
На данный момент у меня имеется:
- Базовые знания по созданию геометрии на GZDoom Builder
- Базовые знания по работе с триггерами и местными Entity
- Первый начатый проект в GzDoom Builder
За время работы, я понял что пока что, это самый удобный для меня инструмент по маппингу. До этого я немного изучал ProBuilder на Unity и схожие штуки в Unreal Engine, но там даже создание примитивных комнат казалось затруднительным.
Здесь же процесс идёт вполне легко и непринужденно.
Не знаю, есть ли в этом заслуга самого билдера или же просто во мне играет давняя любовь к классическим DOOM1 и DOOM2, но процесс идёт и это хорошо.
В планах нынче полностью завершить проект SectarianBase, а это значит выпустить полноценный WAD файл, где будут хранится 3-4 проходимые карты.
Займет этот план вероятнее всего минимум пару-тройку месяцев неспешной работы, но за это время я скорее всего постигну всю базу и может какие-то тонкости работы с билдером.
Фоном я иногда копаюсь в UDMF формате и смотрю на что он способен. Спойлер, на многое, но это было и так понятно из самого начала моего текста.
А так, после работы над SectarianBase, я хочу приступить к изучению процесса создания своих текстур, врагов и оружия для DOOM2 и создать ещё одну, уже небольшую, карту для теста своих творений.
А там глядишь, может руки дотянутся и до создания полноценной игры на данном движке. Тем более уже есть одна неплохая идея ( ° ʖ °)
Но об этом возможно напишу когда-нибудь потом!
Для тех кому особо интересно, вот ссылка на Moddb, где находится моя карта:
Чтобы её оценить, нужно всего заиметь клиент GZDoom (или любой другой лаунчер DOOM2), они все бесплатные и с этим проблем быть не должно. И подгружаете с помощью него мой WAD.
Спасибо если смогли прочитать весь этот текстовый словесный поток. Я не спец в написании статей, лонгов или как это называется? Я лишь хотел вкинуть своего опыта и возможно интересных наблюдений.
Возможно кому-то эти записи покажутся полезными!
И конечно же, возможно ещё увидимся на DTF или ещё где-нибудь ( ° ʖ °)