Кодзима Гений - канал про геймдизайн
7.56K subscribers
460 photos
32 videos
20 files
1.27K links
Здесь рассказывают про геймдизайн и индустрию разработки видеоигр, делятся полезными материалами
Чат: @kojima_talks

Сотрудничество, реклама: @tkoff
Download Telegram
О границах в левел-дизайне

В следующий раз во время игры обратите внимание на способ ограничения вас в передвижении по уровню. Вы можете наткнуться на один из видов ограничения:
1. "Невидимая стена";
2. "Абстрактная граница";
3. "Естественная граница", или сюжетно обоснованная.

Невидимая стена
Граница уровня не представлена визуально. Проста в разработке, но может испортить игровой опыт. Особенностью невидимой стены является её неизменяемость: игра не предполагает совершение какого-либо действия, при котором преграда исчезнет. Пример - игры компании Bioware. Стоя на краю обрыва, вы не сможете упасть вниз, даже если будете безать в его сторону.

Абстрактная граница
Игра преграждает путь способом, который не встречается в реальной жизни и не соотносится с опытом игрока. В таком случае могут возникнуть вопросы "а почему игра не позволяет мне пройти за этот барьер?". В отличие от невидимой стены, такой способ ограничения передвижения может подразумевать изменение состояния при достижении определённых условий. Пример - границы сцены в Devil May Cry, исчезающие при убийстве всех монстров на ней.

Естественная граница
Ограничение уровня выглядит естественным для игрока и соотносится с его опытом. Аватар не может его преодолеть из-за физических, а не абстрактных ограничений. Это может быть тот же самый обрыв - но тогда аватар упадёт в него. Это может быть взорванный в узком переулке танк - аватар просто физически не сможет его передвинуть.

Естетственная граница имеет свойство изменяться во времени аналогично абстрактной. Её изменение выглядит логично и обосновано - сюжетно или геймплейно.

Подробнее о способах ограничения игрока в его передвижении по уровню можно прочитать в статье:
https://www.gamasutra.com/view/feature/132106/defining_boundaries_creating_.php (~ 10 минут, ENG)

#Геймдизайн
​​О механике накопления энергии

Современные beat-em up или файтинг не обходится без называемой "шкалы ярости". Она накапливается, когда игрок выполняет игровые действия. При заполнении шкалы игрок может выполнить супермегакомботурбо крутой удар или действие, дающее ему некое превосходство. Mortal Kombat 11, The Warriors, Devil May Cry и другие игры - примеры игр с механикой.

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

Для заполнения шкалы ярости можно использовать следующие приёмы:
1. Выполнение тривиального действия - убийство врага, ходьба, увороты и так далее. От игрока не требуется специальных навыков для заполнения шкалы.
2. Выполнение условия - поиск усилителей, отсутствие урона на протяжении некоторого времени, точные выстрелы в голову пять раз подряд. От игрока требуется больше трудозатрат. Как следствие, трудозатраты должны быть пропорциональны его ожиданиям от действия суперудара.
3. Временное ограничение - от игрока не требуется никаких действий. Применение суперудара "перезаряжается" автоматически. В данном случае скорость перезарядки должна сопоставляться с ожиданиями. Не стоит заполнять шкалу нитро у автомобиля на протяжении пяти минут.

Также важно помнить, что заполнение шкалы не должно сразу же вызывать суперудар. Игрок должен сам определить этот момент. В данном случае геймдизайнер может поступить следующим способом:
1. Накопленная энергия хранится у игрока до момента вызова удара (либо до завершения уровня);
2. Накопленная энергия исчезает в течением времени, если игрок не выполняет действия или условия для её пополнения;
3. Накопленная энергия исчезает, если игровому аватару нанесён урон. Отнятое количество энергии не должно превышать время, которое игрок захочет потратить на его восстановление. Например, удар может снять 10% энергии, которые игрок может восстановить за 5-10 секунд.

Суперудар не должен выглядеть как основное оружие в игре, но как вспомогательное - и очень мощное. Поэтому стоит подумать, какие эффекты должны быть наложены после его активации. Чем сильнее их влияние на игру - тем лучше, но и тем дольше игроку придётся копить эту силу.

При разработке механики накопления энергии помните:
1. Какой эффект должен нести супер удар?
2. Как и как быстро должна заполняться шкала энергии?
3. Какие штрафы может нести игрок за невыполнение условий для накопления?
4. Как часто игрок может вызывать действие?

#Геймдизайн
​​Четыре игровых свободы

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

Скот Остервейл предложил концепцию геймдизайна под названием "Четыре игровых свободы" (Four Freedoms of Play). Она описывает, какими свойствами должен обладать геймдизайн, чтобы игрок получил увлекательный игровой опыт.

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

Свобода эксперимента
Одним из источников мотивации в жизни человека является поиск ответа на вопрос "А что будет, если..?", то есть любопытство. Через эксперименты с реальным миром мы учимся и накапливаем опыт, который помогает нам в будущем.
Игры предлагают бесконечное число попыток для экспериментов! В отличие от реальной жизни, мы можем использовать разные стратегии для выигрыша и найти самую лучшую. Или можем учинить хаос на улицах города, как в GTA, и посмотреть что произойдёт.
Эту свободу трудно оценить в цифрах. Я бы говорил не о том, есть ли свобода экспериментирования в игре или нет, а о том, какой уровень этой свободы. Например, в Call of Duty большую часть времени вы играете за пехотинца и передвигаетесь на своих двоих, а в уже упомянутой GTA вы вольны перемещаться пешком, на автомобиле или самолёте.

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

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

#Геймдизайн
Полезные материалы о геймдизайне

Как вы знаете, «Кодзима Гений» с 2018 года публикует полезные материалы о механиках и динамиках игрового процесса видеоигр. Да, в последнее время постов мало, но всё же.

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

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

Добавляйте папку себе, подписывайтесь на ребят - рекомендую, они это заслужили:
https://t.me/addlist/NAsLzaf9vHAwNDYy
Forwarded from Quick Saved
This media is not supported in your browser
VIEW IN TELEGRAM
Всегда разворачивайтесь в другую сторону после начала уровня

Зачастую дизайнеры оставляют позади точки старта секретные комнаты или пасхальные яйца.

Одно из них находится в Donkey Kong Country. На первом же уровне вы можете развернуть Конга и пойти исследовать его дом - там находится дополнительная жизнь.

#Секреты
​​Треугольник странностей

Всем привет!

Сегодня я хочу познакомить вас с инструментом для создания интересной истории в игре. Этот инструмент называется «Треугольник странностей» и был описан в книге "Level UP!" Скотта Роджерса. Инструмент помогает в выборе основного грани вашей истории. Вот эти грани (или вершины треугольника):
1. Мир
2. Персонажи
3. Действия персонажей

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

Приведём примеры из компьютерных игр.

В Red Dead Redemption персонажи архи стереотипичны. Их поступки и мотивация тоже подчиняются стандартным сценарным законам. А вот мир Дикого Запада, в котором они живут, проработан до мелочей.

В Detroit: Become Human основной упор сделан на характеры персонажей, которые пытаются выжить в Детройте будущего. Их действия в мире, в прямом смысле стоящем на пороге технической револющии, только усиливают эмоциональную связь с игроком.

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

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

Удовлетворение каждого типа игроков является сложной задачей баланса между геймплеем и сюжетом. Автор книги предлагает рассказывать историю средствами геймплея и приводит несколько полезных примеров:

Добавление информации об игровом мире. Её сбор не должен мешать основному геймплею. Это могут быть записки, голосовые записи, которые дополняют основную сюжетную линию. Хорошим примером такого подхода к рассказу истории является Metal Gear Solid: The Phantom Pain.
Рассказывать истории через отдельные уровни или геймплей. В Max Payne некоторые уровни происходят во сне Макса. Они расскрывали переживания персонажа о его трагичной потере семьи.
Начинать историю с середины действия. Игрок помещается в сцену с кульминационным моментом без объяснения предваряющих событий. В Call Of Duty: Modern Warfare последний уровень открывается сценой погони. Погоня в самом разгаре, и игрок с первых секунд находится в состоянии концентрации.
Не принебрегать стандартными сюжетными поворотами, которые используются в кинематографе или в видеоиговой индустрии. Интересный сюжет должен рассказывать интересную историю о персонажах, мире или их действиях в этом мире. Так же он должен давать ответ на вопрос «Как это произошло?», а не только на «Кто это сделал?», «Почему он это сделал?» и «В каком месте это произошло?». Новое представление старых сюжетных поворотов будет принято игроками тепло.

Для ознакомления со способами построения истории в компьютерных игр рекомендую следующую литературу:
Level UP! - книга о геймдизайне, написана доступным и весёлым языком. Является скорее мотиватором, чем набором гоовых рецептов.

Тысячеликий герой – анализ построения классического сюжетного цикла, через который проходит герой в художественном произведении.

#Геймдизайн
#Сюжет
Forwarded from Quick Saved
В Return to Monkey Island при загрузке игра предлагает напомнить, в каком месте остановился игрок.

Эта функция крайне полезна, когда ты не заходил в игру долгое время.

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

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

Я рекомендую обратить внимание на мероприятие и поучаствовать в нём.

По ссылке ниже можно прочитать подробности:
https://t.me/justGameDesign/1037

Активность ребят поддерживаю исключительно из соображений расширения вашего кругозора и желания расшарить классные эвенты людям ☺️
В качестве бонуса к предыдущему посту делюсь ссылкой на замечательную книгу The Game Jam Survival Guide. Книга содержит советы и материалы о том, как подготовиться к геймджему и разработать качественный прототип. Книга на английском языке, но написана простым языком. Её можно осилить за пару дней.

Скачать книгу
​​О Thank Goodness You're Here!

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

Не буду писать про сюжет, но отмечу интересные геймдизайнерские находки:
1. Высокая интерактивность окружения - каждая локация наполнена маленькими деталями, с которыми игрок может взаимодействовать активно или пассивно. Например, порвать все мусорные мешки во всём городе. Не знаю, зачем это нужно - ачивку я за это не получил, - но внутреннее удовлетворение происходит. Интерактивные объекты расставлены на пути сюжетного следования игрока, поэтому не нужно тратить время на гринд поиск (если вдруг вы захотите это сделать 🤡).
2. Нарративное изменение игровых локаций - все ваши заскриптованные действия меняют на локациях составы людей, интерактивных точек. Город ощущается живым, и его история развивается по мере прохождения - вспоминаем термин environmental storytelling. Динамика изменения дискретная, линейная, но вырабатывает немного дофамина когда вы эти изменения замечаете.
3. Переиспользование сцен - путь аватарчика по городу цикличен. Использование этого приёма создаёт множество комедийных сцен, основанных на повторении действий и реакции окружающих на них.
4. Интерактивная песня - продюсеры, пожалуйста, вкладывайтесь в большее количество запоминающихся песен в играх. А если она ещё и интерактивная, то shut up and take my money.

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

Рекомендую квест для легкого вечера.

#Мысли
#Обзор
Внутриигровая экономика: пять советов балансировки

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

На Gamasutra вышла статья о том, как проводить балансировку экономической составляющей игры:
https://www.gamedeveloper.com/design/5-basic-steps-in-creating-balanced-in-game-economy (~6 минут)

Автор выделяет пять шагов:

Определение базовых игровых параметров и их подсчёт
В первую очередь вам нужно иметь перед собой полный список механик. Для каждой механики нужно определить, как они удерживает один из четырёх типов игроков (https://t.me/kojima_calls/14). Под удержанием понимается количество времени, которое тип игрока тратит на неё. Больше потраченного времени - больше интереса. Это знание поможет выстроить кривую интереса в зависимости от времени.

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

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

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

Создание дефицита и профицита
Дефицит ценных ресурсов заставляет игрока проводить больше времени в игре с целью их получения. Ценность ресурсов определяется их способностью ускорить или улучшить игровой опыт. Периодическая выдача этих ресурсов игроку "просто так" или при выполнении ежедневных испытаний создадут эффект якоря для игрока.

Декомпозиция
Балансировка экономики должна быть произведена для таких временных промежутков, как первые несколько часов в игре, первый день в игре, первая неделя в игре и последующие недели. На каждом из этих временных промежутков уровень интереса игрока к игровой механике может изменяться от "неинтересного" к "необходимого для прохождения игры".

#Баланс
Плейтестинг как наиважнейшая часть процесса разработки

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

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

Плейтестинг как основа:
1. Постоянное тестирование необходимо для понимания, что именно работает в игре, а что нет.
2. Плейтестинг позволяет адаптировать и улучшать игру на основе реальной обратной связи от игроков.
3. Тестирование помогает выявить критические ошибки и улучшить общий пользовательский опыт.

Прозрачность обратной связи:
1. Использование различных методов сбора данных, таких как опросы, данные о поведении игроков и тепловые карты.
2. Наблюдение за тем, как игроки взаимодействуют с игрой, дает наиболее ясное понимание проблем и того, почему они возникают.
3. Анализ данных позволяет выявить паттерны и тенденции в поведении игроков.

Советы по улучшению обратной связи:
1. Быть открытым к обратной связи и не зацикливаться на том, что именно говорят игроки, а понимать, почему они это говорят.
2. Преодоление личных предубеждений и развитие навыков эмпатии и психологии игрока.
3. Регулярное пересмотр и адаптация подходов к тестированию и сбору обратной связи.

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

Оригинальная статья с картинками и графиками:
https://www.gamedeveloper.com/production/illusion-of-skill-how-to-make-a-better-game-in-less-time

#Статья
#Тестирование
Forwarded from Quick Saved
Дизайнеры Signalis умеют в environmental storytelling and navigation.

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

Игрок понимает, куда ему идти чтобы получить награду. Даже если локация не лежит на его пути.

#Navigation
​​Оптимизация игрового опыта: эффективное использование контекстных действий на одной кнопке

В игровом процессе контекстные действия на одной кнопке становятся особенно ценными. Вот как выглядит типичная схема реализации контекстных действий:

1. Игрок входит в зону, где возможно контекстное действие;
2. Система показывает подсказку, какое действие выполняется (чаще всего - с указанием кнопки, иногда - с описанием действия);
3. Игрок нажимает на кнопку и активирует действие;
4. Для контекстных действий выделяется специальная кнопка, не связанная с другими действиями вне контекста.

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

Такая ситуация может возникнуть, например, в игре Syphon Filter. На кнопку "треугольник" назначено несколько контекстных и внеконтекстных действий:

1. Перезарядка (внеконтекстное действие);
2. Прыжок (контекстное действие);
3. Использование переключателя (контекстное действие).

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

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

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

#Геймдизайн
_
Если вам понравился материал, расскажите о канале друзьям, или поделитесь ссылкой у себя на канале - это помогает развитию и улучшает качество выпускаемых материалов ❤️
​​О последовательности игровых заданий в S.T.A.L.K.E.R.: Тень Чернобыля

Сейчас наворачиваю S.T.A.L.K.E.R: Тень Чернобыля, и обратил внимание на реализацию системы заданий, которая по современным меркам выглядит как достаточно непроработанная часть игрового процесса.

Игра предлагает четыре типа заданий:
1. Сюжетные - задачи выдаются друг за другом в момент выполнения предыдущей. Задачи не имеют временного ограничения;
2. Дополнительные - выдаются определёнными NPC, не обязательны к выполнению, направлены на получение ресурсов. Задачи репетативные и не несут смысловой нагрузки. Как правило, ограничены по времени исполнения и могут выполняться репетативно;
3. Ситуативные - возникают автоматически при исследовании игрового мира (например, защита базы сталкеров на Свалке при первом посещении локации). Так же имеют временное ограничение, но не обязательны к исполнению;
4. Дополнительные сюжетные - выдаются определёнными NPC, не имеют ограничения по времени и призваны расширить лор игры. Уникальные по своей структуре, но их легко пропустить, и они не влияют на прогресс прохождения.

В системе заданий я обнаружил следующие проблемы:
1. Изначально у игрока есть глобальная задача - убить Стрелка. Сама задача не требует активного участия от игрока, и практически до конца игры по ней нет никакого прогресса. Не понятно, почему задача выделена отдельным заданием.
2. Сюжетные задачи могут выдаваться «пачкой». То есть у игрока появляется несколько задач одновременно. Это создаёт иллюзию нелинейности прохождения. Однако задачи между собой связаны, и возможность завершить задачу появляется только после выполнения другой. Более того, на карте сразу отображаются метки с локацией задачи, что вдобавок путает игрока.
3. У дополнительной задачи могут быть два заказчика. В данном случае в логе отображаются два одинаковых квеста. Задачу можно сдать только одному NPC, что автоматически проваливает задание другого.
4. Ситуативные задачи ставят игрока перед фактом - у него появилась новая необязательная цель, хочет он её выполнять или нет. Если на неё не обращать внимания, то она будет провалена - так же, как и другие дополнительные задачи.
5. Дополнительные сюжетные задачи в большинстве случаев никак не обозначаются игроку. Игрок самостоятельно должен дойти до определённого NPC и завести с ним диалог.

Как можно исправить подобное поведение:
1. Сделать основное сюжетное задание единым, и все промежуточные цели писать в лог данного задания. Например, это может быть изначальное задание «Узнать тайну Стрелка», в которое последовательно будет заноситься сюжетный прогресс.
2. Однозначно определять заказчика задания, условия выполнения и провала.
3. реализовать систему отображения квестовых персонажей, чтобы у игрока был ориентир - к какому NPC нужно подходить за заданием.
4. При возникновении ситуативной задачи предлагать игроку выбор - будет ли он браться за него или нет. В случае отказа не накладывать штраф в виде проваленного задания.

#Геймдизайн
#Задания
Про алгоритм планирования поведения NPC Goal-Oriented Action Planning

Hitman: World of Assissination Trilogy - удобная база для наблюдения за поведением NPC его и реакциями на действия игрока. В ядре игрового процесса лежит манипуляция алгоритмами, отвечающими за расписание действий статиста на уровне. Если у вас есть игра, рекомендую поиграться с болванчиками и найти множество неровностей в реализации их интеллекта - лично я получил от этого процесса удовольствия больше, чем от выполнения игровых целей.

В основе поведения ИИ в игре лежит подход Goal-Oriented Behavior (GOB). По сути, это дерево, описывающее принятие решения поведения NPC в зависимости от текущего состояния игрового мира. Например, не боевой NPC, находясь в состоянии угрозы, будет стремиться найти укрытие или безопасную зону. Выйдя из состояния угрозы, он вернётся к дефолтному состоянию, будто бы до этого ничего не происходило.

Goal-Oriented Action Planning (GOAP) использует подход GOB, но позволяет описать план действий для набора одинаковых типов NPC, но которые должны по-разному реагировать на изменение игровой системы. Каждый NPC автономно будет искать наиболее выгодный алгоритм достижения текущей поставленной цели и менять его в зависимости от внешних факторов.

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

Чтобы лучше понять GOAP, рекомендую ознакомиться со следующими статьями:
https://habr.com/ru/post/650235/ - overview по GOAP на русском языке

https://medium.com/@vedantchaudhari/goal-oriented-action-planning-34035ed40d0b - чуть более глубокое описание GOAP на английском языке

https://alumni.media.mit.edu/~jorkin/goap.html - кладезь глубинного описания GOAP с большим количеством примеров и ссылок на другие ресурсы на английском языке

#ИскуственныйИнтеллект
#Геймдизайн

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

Играя в «Чистое небо» я несколько раз хотел сделать rage quit из-за несправедливого, на мой взгляд, игрового процесса.

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

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

В лагере находится 15-20 NPC, и при уходе с локации уже убитые мной бандиты респаунятся. Представьте цикл:
1. Я убиваю 19 бандитов из 20;
2. Задание на захват лагеря отменяется;
3. Я иду захватывать точку перехода и возвращаюсь в лагерь;
4. Убитые мной бандиты возраждаются;
5. Повторить начиная с первого пункта.

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

Кто-то может назвать это хардкорностью игрового процесса. Я же скажу, что это not fair, и у хардкорных игр есть свои отличительные черты, позволяющие получить удовольствие даже при постоянном проигрыше:

1. Понятные правила игры. В игровом процессе может быть полно функций, в которых игроку стоит разбираться (например, симулятор ARMA). Но каждая из функций работает на игровой процесс, а не сделана для «галочки». Игрок понимает, по каким правилам работает игра, и соглашается с ними.
2. Наказание игрока справедливое и зависит от его навыка. Помещение игрока в ситуацию «у тебя один патрон и 10 врагов» не выглядит справедливым - у игрока нет возможности решить поставленную задачу своим навыком и пониманием правил. Из-за этого каждый проигрыш не заставляет игрока искать новые тактики и оттачивать мастерство, а снова и снова попадать в цикл, результат которого от него не зависит. Смерть в souls-like выглядит справедливой, так как процесс боя полностью зависит от реакции игрока и его умении сражаться.
3. Сведение случайности к нулю. Игровой процесс сбалансирован таким образом, что исход события не зависит от случайных чисел. в том же «Чистом небе» брошенная NPC граната, взорвавшить рядом с игроком, может как снять часть здоровья, так и совершить one shot kill. Удержание в голове вероятность разброса мне, как игроку, доставляет ненужное усложнение.

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

#Геймдизайн
Механика: телепортация персонажа

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

Суть:
Игровой аватар по нажатию кнопки на контроллере перемещается по пространству уровня на определённое расстояние. Расстояние можно определить следующими образами:
1. Статичное расстояние - аватар перемещается на заранее вычесленное расстояние от текущего местоположения. Игрок не может контролировать его перемещение. Предположим, телепортация перемещает персонажа на 10 метров по направлению игровой камеры, либо по направлению взгляда персонажа, либо по направлению положения курсора, если игра изометрическая;
2. Итоговое положение определяется игроком - аватар перемещается в точку, указанную игроком. В данном случае у механики может быть ограничение на расстояние перемещения, либо ограничение по геометрии уровня (например, аватар не может перемещаться на поверхность с песком, на вертикальную поверхность и т.п.);
3. Телепортация в изначально предустановленных местах - аватар должен находиться в строго указанно месте, и перемещается он в строго прописанное место в пространстве. Аналогия данного подхода - цепляние крюком-кошкой за выступ и перемещение аватара в пункт назначения.

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

С эстетической точки зрения телепортация, по классике, выглядит следующим образом:
1. Игровой аватар исчезает из точки нахождения. Исчезновение модели происходит при помощи спецэффектов;
2. Игровой аватар помещается в точку назначения. Так же при помощи спецэффектов;
3. Игровая камера с небольшой задержкой перемещается в новую точку нахождения аватара. Можно реализовать анимация перемещения камеры;
4. Если игра от первого лица, то нужно так же поработать над комфортной анимацией эффектов телепортирования и перемещения камеры в пространстве.

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

Зачем нужна механика:
1. Ускорить перемещение по пустым участкам уровня;
2. Решение пространственных головоломок;
3. Использование в stealth-прохождении;
4. Приобретение тактического преимущества перед врагами в сражении.

Визуализацию механики можно посмотреть в этом видео:
https://www.youtube.com/watch?v=GI86f5eml6I
https://www.youtube.com/watch?v=cohKnirB7Ew

#Геймдизайн