Разработка игр: Как Вы делаете игру истории?

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

Вот несколько вещей, что имеет игра истории (и где я задаюсь вопросом о том, как они делают ее):

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

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

  • Плеер сделал в первый раз....
  • Плеер входит в десятый раз когда местоположение
  • Игрок говорил в течение ###th времени с тем человеком
  • и т.д.

Когда я говорю об играх истории, я думаю к:

  • The Legend of Zelda (все игры serie)
  • Okami

И это - несколько примеров level-in-level-out игр:

  • Mario
  • Оплетка
  • Физика мелка

Спасибо

8
задан Martijn Courteaux 8 June 2010 в 15:52
поделиться

5 ответов

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

  • FSM отслеживает «прогресс» определенного квеста - какие переключатели включены, какие разговоры ведутся и т. Д.
  • Каждый NPC имеет FSM для отслеживания «информационного состояния этого NPC - каждое состояние коррелирует с конкретным фаза внутри дуги NPC в игре, обычно заканчивающаяся состоянием случайных кавычек.
  • Сохраненная игра может, в качестве одного примера, отслеживать состояние каждого объекта во вселенной игры.

Важная часть - это проектирование не только состояния, но и переходы, чтобы их было как можно проще подключить.

5
ответ дан 5 December 2019 в 21:16
поделиться

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

например.

if(GameState.Player.Karma < 0 && GameState.NPCs.BillyTheInnocentLamb.KilledByPlayer)
{
    GameState.NPCs.FredTheShephard.HatesPlayer == true;
}

Теперь сделайте это миллион раз, и вы получите РПГ.

1
ответ дан 5 December 2019 в 21:16
поделиться

Если вам удастся взглянуть на Oblivion (фантастическая игра!), Вы можете попробовать использовать их Construction Set, который позволяет вам полностью персонализировать игру, создавая дополнительные квесты на картах и ​​т. Д.

Используя его, вы увидите, что механизм, по сути, совпадает с тем, что говорили другие: например, у вас есть несколько предложений, которые NPC может сказать, и он будет произносить одно или другое в зависимости от определенных условий. Например, добры вы или злые, насколько хорошо вы умеете убеждать его в чем-то или насколько хорошо вы умеете подкупать его, конкретные вещи, которые у вас есть / которых нет, но даже такие вещи, как время дня!

Как видите, любую из этих вещей можно легко выразить с помощью значения (например, хорошее / плохое может иметь значение от 0 до 100, то же самое для вашего навыка подкупа и т. Д.), И тогда это просто a вопрос наличия большого количества «если» :)

0
ответ дан 5 December 2019 в 21:16
поделиться

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

1
ответ дан 5 December 2019 в 21:16
поделиться

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

Я думаю, что да. :)

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

0
ответ дан 5 December 2019 в 21:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: