Рубрика развивается при поддержке
Gamedev
0011
2956

Левел дизайн комбат уровней для самых маленьких - Часть 1

Пошаговый гайд от левел дизайнера The Division и Cyberpunk 2077

В закладки
Аудио

Всем привет!

Давно, уже очень давно я не писал статей, но, что тут сказать, вдохновение все-таки догнало меня.

[тут была реклама курсов, которые он прошел, если кому интересно, можете пройти по ссылке на полную статью]

А вообще, после того, как я написал вольный перевод и начал перечитывать его, я дохрена раз спотыкался о словесные конструкции, которые нужно было радикально гнуть и даже ломать. Посему я забил на перевод и решил попробовать себя в роли рерайтера. Дальше небольшое эссе с выжимкой самого главного о том, как дизайнить уровни по версии Макса Пирса, дизайнера CD Projekt RED.

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

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

Имейте ввиду, что в статье Макс не углубляется в дизайн отдельных механик или оружия. Весь акцент только на том, как правильно связать рейнж комбат (боевую систему, основанную на стрельбе) и левел дизайн.

Более того, это первая статья из цикла и основное внимание Макс уделял подготовке к созданию уровня, а не процессу создания.

Итак...

Основные метрики

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

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

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

Не забывай, что позиция камеры будет влиять на твои метрики. Будь то FPS игра, TPS, изометрия или что-то другое, цифры будут меняться.

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

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

Вот такие примитивы нужны на полигоне. Как только арена готова, надо дать другим поиграть.

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

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

Вот пример документа с метриками от Пирса

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

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

Проверь, что главная дверь, которую должен открыть игрок, отличается от второстепенной, которую игрок открывать не обязан. То же самое с коридорами. Как пример, все «главное» может быть в два раза больше. Зачем? Четкое визуальное различие. Увеличение ширины двери на 1 метр не сработает. Так что удваивай. Таким образом, с помощью уровня, ты сможешь влиять на поведение игрока.

Высота и ширина укрытий

Тут все просто – определяем размеры укрытий. От самого маленького до самого большого. Убедись, что игрок понимает, что является укрытием, а что нет.

Расстояние между укрытиями

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

Укрытия и архитектурные объекты на сцене

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

Дальность стрельбы

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

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

Архетипы врагов

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

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

Как главный герой держит ствол

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

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

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

А я может прокачаю навык рерайтинга и запилю еще одно вольное изложение.

Материал опубликован пользователем.
Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "0011", "author_type": "self", "tags": ["\u043e\u0441\u043d\u043e\u0432\u044b","\u043b\u043e\u043d\u0433","\u043b\u0435\u0432\u0435\u043b\u0434\u0438\u0437\u0430\u0439\u043d","long"], "comments": 12, "likes": 135, "favorites": 394, "is_advertisement": false, "subsite_label": "gamedev", "id": 65523, "is_wide": false, "is_ugc": true, "date": "Thu, 22 Aug 2019 23:36:37 +0300", "is_special": false }
0
{ "id": 65523, "author_id": 133839, "diff_limit": 1000, "urls": {"diff":"\/comments\/65523\/get","add":"\/comments\/65523\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/65523"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 64954, "last_count_and_date": null }
12 комментариев
Популярные
По порядку
Написать комментарий...
4

Макс приятный чувак, не только увлечённый своим делом, но и пытающийся рассказывать о нём с помощью небольших роликов. Вроде ничего прям из разряда "инсайда" (не инсайдерского, а по типу Эврика!) в них нет, но всё равно довольно интересно посмотреть на игры под иным углом :)

https://www.youtube.com/channel/UCncCrL2AVwpp7NJEG2lhG9Q/videos

Так же у него есть Дискорд сервер, но он чисто для увлечённых темой левел-дизайна и "спрятан" за патреоновский пейвол https://www.patreon.com/leveldesignlobby

Ответить
4

и вот мне кажется благодаря таким успешным техникам как 2 уровня укрытий из ящиков, в игры становится играть все скучнее, они все более вторичны, эта система уже во всех играх на протяжении лет 20, и геймплей в перестрелках абсолютно одинаково ощущается со времен gears of war 1, мне дико скучно и я вырубаю. Что может получится, когда не пытаются реализовать интересные идеи, а просто берут готовую, которая уже давно работает нормально - тоже самое в другой обертке

Ответить
0

боже как точно

Ответить
0

Просто кроме укрытий должны быть и другие интересные механики. Как в том же Max Payne 3. Там укрытия есть, но ими пользоваться не хочется особо, ибо без них веселее.

Ответить
3

Спасибо за перевод

Ответить
1

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

Ответить
2

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

Ответить
1

И все равно получится очередной 3rd шутер, который лучше бы игралсяя от первого лица.

Ответить
0

90 в закладках и 29 лайков... Хм... Все такие любознательные, но жадные?)

Ответить
0

Спасибо!

Ответить
0

Прекрасная работа, отличный рерайт (и отличное решение, что именно рерайт)

Ответить
0

Рубрика развивается при поддержке Playrix (известными по match-3), а рассказывают как делать уровни в шутере :)

Ответить

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "Article Branding", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cfovz", "p2": "glug" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-250597-0", "render_to": "inpage_VI-250597-0-1134314964", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=clmf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Баннер в ленте на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudo", "p2": "ftjf" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvc" } } } ]