Gamedev Андрей Верещагин
6 892

Фактор случайности: процедурная генерация в The Swords of Ditto

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

В закладки

24 апреля на ПК и PlayStation 4 вышел «рогалик» The Swords of Ditto от студии OneBitBeyond. В нём, как и во многих других представителях жанра, смерть перманентна, а уровни и расположение предметов каждый раз меняются.

Левелдизайнер игры Сэм Робинсон рассказал порталу Gamasutra о подходе студии к процедурной генерации контента, призванной повысить реиграбельность. Мы выбрали из материала главное.

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

OneBitBeyond столкнулись с этой проблемой во время работы над The Swords of Ditto — экшен-RPG с элементами «рогалика». Авторы стремились к тому, чтобы каждая игровая сессия чувствовалась иначе и игрок ощущал последствия своих действий в других партиях.

Благодаря мощному набору инструментов, созданному главой студии Джонатоном Биддлом для GameMaker Studio, команда смогла контролировать и расположение, и наполнение определённых подземелий, а также смену настроения игры в процессе нескольких прохождений.

В The Swords of Ditto игрок берёт на себя роль героя, который за три дня должен подготовиться к битве со злой ведьмой по имени Мормо. Приготовления включают в себя сражения с противниками для повышения уровня, исследования подземелий в поисках новых предметов и выполнение квестов, открывающих доступ к навыкам.

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

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

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

Сэм Робинсон
дизайнер уровней и саунддизайнер

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

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

С помощью инструментария Биддля разработчики смогли легко и быстро менять игровые ассеты так, чтобы они выглядели естественно. Редактор, созданный им, был визуальным и не требовал серьёзных навыков программирования. Кроме того, он позволял «на ходу» опробовать созданные локации прямо в игре. Сам инструментарий — это расширение редактора уровней из игры Stealth Bastard от студии Curve Digital.

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

Так выглядит макет города, на который левелдизайнер помещает постройки

Подземелья

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

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

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

Сэм Робинсон
дизайнер уровней и саунддизайнер

Двойное использование

Уникальность каждого прохождения достигается и другими способами. В Swords of Ditto разработчики использовали знания, которые приобрели во время создания Fluidity и Fluidity: Spin Cycle. Речь идёт о принципе двойного использования, популяризированного сериями The Legend of Zelda и Super Mario.

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

Сэм Робинсон
дизайнер уровней и саунддизайнер

В Swords of Ditto множество примеров применения принципа двойного использования. Так, с помощью клюшки для гольфа можно оглушать врагов и отбрасывать монстров назад, а ещё она пригодится при решении загадок. То же касается и дронов, которых можно использовать для исследования окружения.

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

Во многих аспектах подход, использованный OneBitBeyond, выглядит как логичное развитие идей «рогаликов». Вместе с тем разработчики многое заимствовали и из более линейных игр вроде A Link to the Past. Учитывая требуемый для реализации всего задуманного объём кода, этот подход нельзя назвать эффективным, однако удобный инструментарий позволил авторам игры добиться поставленной цели.

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

Сэм Робинсон
дизайнер уровней и саунддизайнер

#опыт #игры

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

Написать
{ "author_name": "Андрей Верещагин", "author_type": "editor", "tags": ["\u043e\u043f\u044b\u0442","\u0438\u0433\u0440\u044b"], "comments": 19, "likes": 53, "favorites": 37, "is_advertisement": false, "subsite_label": "gamedev", "id": 19630, "is_wide": true, "is_ugc": false, "date": "Sun, 13 May 2018 17:26:10 +0300" }
{ "id": 19630, "author_id": 22254, "diff_limit": 1000, "urls": {"diff":"\/comments\/19630\/get","add":"\/comments\/19630\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/19630"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 64954, "possessions": [] }

19 комментариев 19 комм.

Популярные

По порядку

Написать комментарий...
11

Я вот считаю себя любителем роглайтов типа ftl, айзека, ганжона, даркест дажона и чего-нибудь ещё, что сейчас не вспомню, но меч дитто оказался невероятно скучной игрой и плохим роглайтом:\ А ведь эта одна из двух игр, выход которых я ждал в первой половине года. Разочаровало в игре практически всё, кроме визуала, он действительно хорош. Плох тот рогалик, который не хочется продолжать уже на третьей попытки(

Ответить
1

Кстати, раз уж зашла речь про рогалики вообще, никто не играл в Cogmind? Как оно вообще?

Ответить
1

Хе, ну я к такому даже близко не приближаюсь) уж больно всё схематично. Не настолько я хардкорен, хотя всегда хотелось поиграть в нечто подобное, но как подумаю, что в этом всём разбираться надо с неделю, то сразу желание пропадает.

Ответить
0

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

Ответить
0

Смотрели обзор, игра тот еще мусор.

Ответить
5

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

Ответить
4

Им вообще не надо было делать роуглайк в The Swords of Ditto. Игра получилась кривой и безсюжетной и с прекрасным артом в качестве графона. И от этого обидно ещё сильнее. Потому что авторы просрали (все полимеры) такую прекрасную стилистику, разменяв арт на такой УГ жанр. Им вообще надо было завернуть историю в стиле Undertale + night in the woods.

Короче:
Цель в The Swords of Ditto убить великого злодея через 4 дня внутри игры. Можно упростить себе это испытание разрушив 2 якоря в разных местах мира. Ок, вроде всё логично.

А ТЕПЕРЬ САМОЕ ИНТЕРЕСНОЕ (цитата из обзора, описывающая весь ад. Сохранена фирменная орфография):
ЭТО НУЖНО СДЕЛАТЬ ПЯТЬ РАЗ. ПЯТЬ РАЗ УБИТЬ МОРМО И ПЯТЬ РАЗ ПРИНЕСТИ К АЛТАРЮ...СТОП. Я НЕ СКАЗАЛ ПРО АЛТАРЬ? А ИГРА НИЧЕГО ОБ ЭТОМ НЕ ГОВОРИТ, РАЗВЕ ЧТО - "МЕЧ, ТЫ ДОЛЖЕН ПРИНЕСТИ ЖЕРТВУ" И ВСЕ!!!! КАКАЯ ПОМОЩЬ? КАК Я ДОЛЖЕН ДОГАДАТЬСЯ? ОКЕЙ.
ПОМИМО ЭТОГО, В ЛОКАЦИИ МОРМО УРОВЕНЬ ВРАГОВ И МОРМО ПРИМЕРНО НА 3-5 БОЛЬШЕ УРОВНЯ ГЕРОЯ. ПОЧЕМУ? ПОТОМУ ЧТО ТАК ЗАДУМАННО (чтобы открыть локации с якорями и игрушками лвл героя должен быть на один выше исходного). ТЕБЕ ЖЕ ВЕСЕЛО КАЧАТЬСЯ НА ОДНИХ И ТЕХ ЖЕ МОНСТРАХ (я серьезно, типов чуть больше десятка) И БРАТЬ ОДНИ И ТЕ ЖЕ ПРЕДМЕТЫ (игрушек менее десятка). БОСС ОДИН (не считая финального - огромная голова Мормо + Пуку с одной атакой и хп на 10 ударов)
А ЕЩЕ НУЖНО КАЖДЫЙ РАЗ БРАТЬ В ГОРОДЕ СВИСТОК ДЛЯ БЫСТРЫХ ПЕРЕМЕЩЕНИЙ. ОН ПРИ СЛЕДУЮЩЕМ ГЕРОЕ НЕ ОСТАЕТСЯ. ИГРА ОБ ЭТОМ НЕ НАПОМИНАЕТ. ПОЧЕМУ? ЕЙ ЛУЧШЕ ЗНАТЬ

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

Ответить
3

Перевод годный, а рецензии на саму игру что-то смешанные.
Ну и насчет переводов - доставляет русскоязычное описание игры в стим:
Swords of Ditto — незамысловатая игра в жанре Action RPG.

Ответить
–2

Обращаясь к автору статьи: а кто такой перманент?

Ответить
9

перманентный - постоянный, одинаковый на всем протяжении времени

Ответить
–1

круто, сарказм не оценили, молодцы ребята)))
поясняю: на момент написания коммента в тексте было написано: смерть перманента. на это и делался акцент.

Ответить
9

У вас буквы строчные (маленькие) в начале предложений. И написать надо было так:
Обращаюсь к автору статьи: а кто такой «перманент»?

Вы или крестик снимите, или трусы наденьте...

Ответить
1

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

Ответить
1

Игра хорошая. Рекомендую играть с другом. Лично я получил свою порцию веселья от этой игры. Стилистика очень приятная и красивая. Атмосфера хорошая, чувствуется дух приключений.

Ответить
1

Вроде читаешь вот это:

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

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

Ответить
1

Графика привлекательная, однако 50% положительных отзывов не просто так появились. Думаю тот случай когда другим разработчикам полезно почитать комменты к этой игре :)

Ответить
0

Классная статья. Только игра слабая. За почти 30 лет переплюнуть Зельду на данный момент может только другая Зельда)

Ответить
0

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

Ответить
0

Запахло пресс-релизом в профильном издании и немножечко агонией

Ответить
0

Прямой эфир

[ { "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": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "flbq" } } }, { "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, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "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" } } } ]
Уве Болл вернулся в кино
и начал экранизировать flash-игры
Подписаться на push-уведомления