Модель ashen включает в себя элементы

Обновлено: 04.07.2024

Клеймо Soulslike, источники вдохновения и мир, в котором осталась надежда.

Автор издания Gamasutra поговорил с креативный директором Ashen Дереком Брэдли, который рассказал о том, почему разработчикам не нравится ярлык Soulslike, а также описал несколько главных идей, ставших основой для всей игры. Мы выбрали из материала главное.

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

Это описание, вероятно, заставляет сразу же подумать о Dark Souls. Укоренившееся влияние игры From Software неоспоримо, однако оно также привело к появлению термина «Soulslike», который в лучшем случае проблематичный, а в худшем — деморализующий.

Сам термин подразумевает наличие какого-то эталона, что усложняет идентичность. Он сразу же связывает игру с единым, несводимым идеалом — в данном случае с Dark Souls. Кроме того, в термине используется суффикс «like», который добавляет значение: «почти, но не вполне».

С такой логикой можно было бы назвать «Интерстеллар» — «2001-like». А почти всю современную фэнтези-литературу — «Tolkien-like». В игровой индустрии разработчики оказались прокляты этим неубиваемым термином — «Soulslike».

Игра, которая в действительности описана в первом абзаце, называется Ashen. Причина, по которой этот отрывок можно применить ко многим другим играм, заключается в том, что он намеренно неоднозначен. Dark Souls — важная игра по многим причинам: из-за структуры, основанной на боссах; замысловатого окружения; фрагментарного повествования и так далее.

Мы никогда не пытались быть Dark Souls. Мы, конечно, любим игры From Software, но Ashen должна была иметь что-то, что сильно отличало бы её. И мы хотели сделать так, чтобы жанр игр с боевой системой, основанной на выносливости, воспринимался как нечто самостоятельное.

Несмотря на свою землистую палитру и меланхоличные оттенки, мир команды A44 радикально отличается от унылых, искажённых миров Dark Souls и Bloodborne.

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

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

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

В Dark Souls также можно найти проблески надежды, но в этом мире она никогда не бывает по-настоящему живой. Мир страдает от отчаяния, преследуемого циклическим характером гибели и разрушения. А мир Ashen не воспринимается таким — даже в самом тёмном месте сохраняется чувство веры и цели.

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

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

Идея поиска смысла в мимолётной природе жизни взята из одного из важнейших источников вдохновения Ashen — романа «Дорога».

Для тех, кто не знаком с работой Кормака Маккарти, «Дорога» — это постапокалиптический роман, получивший Пулитцеровскую премию в 2007 году. В нём рассказывается история отца и сына, которые бродят по пустынной Северной Америке, разрушенной таинственным катаклизмом. Все персонажи безымянные. Это совершенно блестящая художественная работа, которая заставит читателей чувствовать себя абсолютно разбитыми.

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

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

Истории «Дороги» помогла нам сформировать внешний вид Ashen, создать значимые многопользовательские действия и осознать важность помощи друг другу в трудных ситуациях.

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

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

Интересным анекдотическим явлением стало то, что песня «Names and Races» группы Foreign Fields, участником которой является e.hillman (композитор саундтрека Ashen), также находилась под сильным влиянием «Дороги».

Услышав «Names and Races», мы познакомились с ними и в конечном итоге поработали с e.hillman над музыкой для Ashen.

Атмосферный саундтрек e.hillman передаёт то же настроение. Это служит напоминанием о том, что в этом мире персонажи являются лишь крохотным элементом, который просто существует. Это нигилистический оптимизм — размышление о том, что незначительность не является синонимом отсутствия цели.

Когда Ashen вышла, она получила ярлык Soulslike. Это был свежий взгляд на проверенную модель. Но Ashen другая: у неё есть непоколебимая собственная идентичность. Это мир, наполненный множеством курьёзов, и созданный, чтобы быть одновременно ярким и тёмным.

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

Как настроить дозагрузку
контента для тяжёлой игры

Мы никогда не пытались быть Dark Souls.

Ага, точно не пытались. Всего-то взяли боевку от Dark Souls, систему наказаний за смерть из Дарк Соулс, принципы левел-дизайна с шорткатами из Dark Souls, систему чекпойнтов из Dark Souls, стиль подачи сюжета из Dark Souls и сеттинг, очень во многом повторяющий Dark Souls. Прям, сплошная оригинальность и полное отсутвие попыток "быть Dark Souls".

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

Неправда, игра ощущается иначе и самобытна, даже несмотря на использование аналогичных Dark Souls механик.
В статье очень верно про ярлык Soulslike, именно это искажает восприятие, и ваше в том числе.
Ну да, когда то Wolfstein 3D или Doom заложили основы жанра шутеров от первого лица в трехмерном пространстве. В Far Cry и большинстве современных шутеров тоже всего-то взяли вид от первого лица, боевую систему, систему продвижения по уровням и почти все ключевые механики из Wolfstein 3D или Doom, но почему-то никто сейчас не говорит, что "вышел очередной клон Wolfstein 3D", "эта игра снова пытается быть Doom'ом", это было бы просто глупо.
Нужно перестать мыслить ярлыками, и просто играть в игру, воспринимая ее как она есть.

Неправда, игра ощущается иначе и самобытна

А я нигде и не говорил, что игра ощущается абсолютно, как Дарк Соулс. Самобытность в ней присутствует, но это вообще никак не отменяет того, что большинство ее аспектов заимствовано у Соулсов. И "самобытности" в ней меньше, чем, собственно, заимствования.

В статье очень верно про ярлык Soulslike, именно это искажает восприятие, и ваше в том числе.

Ради бога, только не надо считать себя умнее других и судить о "искаженности" их "восприятия". Я со своим восприятием знаком лучше вас и как-нибудь сам с ним разберусь, спасибо.

Ну да, когда то Wolfstein 3D или Doom заложили основы жанра шутеров

В Far Cry и большинстве современных шутеров

Шутеры - сформировавшийся огромный жанр с огромным количеством представителей, как похожих на дум, так и нет. И современные шутеры в рамках жанра ушли от дума настолько далеко, что говорить о заимствовании уже глупо. На заже же жанра параллели вполне себе проводились и заимствование было очевидно.
"Соулслайк" же - не жанр. Это набор ключевых особенностей, геймплейных и нарративных находок в рамках конкретного жанра экшн-рпг от 3 лица. И когда эти находки заимствуются чуть ли не полным составом, то глупо притворяться, что это не так. Нужно ли объяснять дальше, почему ваше сравнение некорректно?

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

Что я и делал с самого начала, не навешивая никаких ярлыков, просто критикуя высказывание разработчика. Я просто указывал на тот факт, что если активно заимствуешь конкретные элементы из другой игры, то не нужно от этого показательно открещиваться и выпячивать "самобытность". Я воспринимаю Ashen, "как она есть" - хорошая и успешная попытка запилить "свой Dark Souls". И, повторяюсь, я не считаю это чем-то плохим. ред.

  1. Инженерный подход
  2. С учетом специфики задачи
  3. Современные технологии быстрой разработки
Модель кодирования и устранения ошибок
  1. Постановка задачи
  2. Выполнение
  3. Проверка результата
  4. При необходимости переход к первому пункту
Каскадная модель жизненного цикла программного обеспечения (водопад)

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

  • Последовательное выполнение этапов проекта в строгом фиксированном порядке
  • Позволяет оценивать качество продукта на каждом этапе
  • Отсутствие обратных связей между этапами
  • Не соответствует реальным условиям разработки программного продукта
Каскадная модель с промежуточным контролем (водоворот)

Данная модель является почти эквивалентной по алгоритму предыдущей модели, однако при этом имеет обратные связи с каждым этапом жизненного цикла, при этом порождает очень весомый недостаток: 10-ти кратное увеличение затрат на разработку. Относится к первой группе моделей.

V модель (разработка через тестирование)

Данная модель имеет более приближенный к современным методам алгоритм, однако все еще имеет ряд недостатков. Является одной из основных практик экстремального программирования.

image

Модель на основе разработки прототипа
  1. Прояснить не ясные требования (прототип UI)
  2. Выбрать одно из ряда концептуальных решений (реализация сцинариев)
  3. Проанализировать осуществимость проекта
  1. Горизонтальные и вертикальные
  2. Одноразовые и эволюционные
  3. бумажные и раскадровки

Модель принадлежит второй группе.

Спиральная модель жизненного цикла программного обеспечения

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

  1. Инженерный подход
  2. С учетом специфики задачи
  3. Современные технологии быстрой разработки
Модель кодирования и устранения ошибок
  1. Постановка задачи
  2. Выполнение
  3. Проверка результата
  4. При необходимости переход к первому пункту
Каскадная модель жизненного цикла программного обеспечения (водопад)

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

  • Последовательное выполнение этапов проекта в строгом фиксированном порядке
  • Позволяет оценивать качество продукта на каждом этапе
  • Отсутствие обратных связей между этапами
  • Не соответствует реальным условиям разработки программного продукта
Каскадная модель с промежуточным контролем (водоворот)

Данная модель является почти эквивалентной по алгоритму предыдущей модели, однако при этом имеет обратные связи с каждым этапом жизненного цикла, при этом порождает очень весомый недостаток: 10-ти кратное увеличение затрат на разработку. Относится к первой группе моделей.

V модель (разработка через тестирование)

Данная модель имеет более приближенный к современным методам алгоритм, однако все еще имеет ряд недостатков. Является одной из основных практик экстремального программирования.

image

Модель на основе разработки прототипа
  1. Прояснить не ясные требования (прототип UI)
  2. Выбрать одно из ряда концептуальных решений (реализация сцинариев)
  3. Проанализировать осуществимость проекта
  1. Горизонтальные и вертикальные
  2. Одноразовые и эволюционные
  3. бумажные и раскадровки

Модель принадлежит второй группе.

Спиральная модель жизненного цикла программного обеспечения

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

Разработка программного продукта знает много достойных методологий — иначе говоря, устоявшихся best practices. Выбор зависит от специфики проекта, системы бюджетирования, субъективных предпочтений и даже темперамента руководителя. В статье описаны методологии, с которыми мы регулярно сталкиваемся в Эдисоне.




1. «Waterfall Model» (каскадная модель или «водопад»)


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

С помощью каскадной модели мы создали множество проектов «с нуля», включая разработку только ТЗ. Проекты, о которых написано на Хабре: средний — рентгеновский микротомограф, мелкий — автообновление службы Windows на AWS.

Когда использовать каскадную методологию?

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

2. «V-Model»


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

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

Когда использовать V-модель?

  • Если требуется тщательное тестирование продукта, то V-модель оправдает заложенную в себя идею: validation and verification.
  • Для малых и средних проектов, где требования четко определены и фиксированы.
  • В условиях доступности инженеров необходимой квалификации, особенно тестировщиков.

3. «Incremental Model» (инкрементная модель)

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


Инкрементные модели используются там, где отдельные запросы на изменение ясны, могут быть легко формализованы и реализованы. В наших проектах мы применяли ее для создания читалки DefView, а следом и сети электронных библиотек Vivaldi.

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

Когда использовать инкрементную модель?

  • Когда основные требования к системе четко определены и понятны. В то же время некоторые детали могут дорабатываться с течением времени.
  • Требуется ранний вывод продукта на рынок.
  • Есть несколько рисковых фич или целей.

4. «RAD Model» (rapid application development model или быстрая разработка приложений)

RAD-модель — разновидность инкрементной модели. В RAD-модели компоненты или функции разрабатываются несколькими высококвалифицированными командами параллельно, будто несколько мини-проектов. Временные рамки одного цикла жестко ограничены. Созданные модули затем интегрируются в один рабочий прототип. Синергия позволяет очень быстро предоставить клиенту для обозрения что-то рабочее с целью получения обратной связи и внесения изменений.


Модель быстрой разработки приложений включает следующие фазы:

  • Бизнес-моделирование: определение списка информационных потоков между различными подразделениями.
  • Моделирование данных: информация, собранная на предыдущем этапе, используется для определения объектов и иных сущностей, необходимых для циркуляции информации.
  • Моделирование процесса: информационные потоки связывают объекты для достижения целей разработки.
  • Сборка приложения: используются средства автоматической сборки для преобразования моделей системы автоматического проектирования в код.
  • Тестирование: тестируются новые компоненты и интерфейсы.

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

5. «Agile Model» (гибкая методология разработки)


В «гибкой» методологии разработки после каждой итерации заказчик может наблюдать результат и понимать, удовлетворяет он его или нет. Это одно из преимуществ гибкой модели. К ее недостаткам относят то, что из-за отсутствия конкретных формулировок результатов сложно оценить трудозатраты и стоимость, требуемые на разработку. Экстремальное программирование (XP) является одним из наиболее известных применений гибкой модели на практике.

В основе такого типа — непродолжительные ежедневные встречи — «Scrum» и регулярно повторяющиеся собрания (раз в неделю, раз в две недели или раз в месяц), которые называются «Sprint». На ежедневных совещаниях участники команды обсуждают:

  • отчёт о проделанной работе с момента последнего Scrum’a;
  • список задач, которые сотрудник должен выполнить до следующего собрания;
  • затруднения, возникшие в ходе работы.

Когда использовать Agile?

  • Когда потребности пользователей постоянно меняются в динамическом бизнесе.
  • Изменения на Agile реализуются за меньшую цену из-за частых инкрементов.
  • В отличие от модели водопада, в гибкой модели для старта проекта достаточно лишь небольшого планирования.

6. «Iterative Model» (итеративная или итерационная модель)

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


На диаграмме показана итерационная «разработка» Мона Лизы. Как видно, в первой итерации есть лишь набросок Джоконды, во второй — появляются цвета, а третья итерация добавляет деталей, насыщенности и завершает процесс. В инкрементной же модели функционал продукта наращивается по кусочкам, продукт составляется из частей. В отличие от итерационной модели, каждый кусочек представляет собой целостный элемент.

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

Когда оптимально использовать итеративную модель?

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

7. «Spiral Model» (спиральная модель)


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

Спиральная модель предполагает 4 этапа для каждого витка:

  1. планирование;
  2. анализ рисков;
  3. конструирование;
  4. оценка результата и при удовлетворительном качестве переход к новому витку.

Подытожим


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

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

Читайте также: