Я только что начал играть Elder Scrolls IV: Oblivion несколько дней назад, и одна вещь, о которой я не могу не задуматься, - это то, как система квеста обрабатывается программно?
В частности, в игре много десятков (сотни?) квестов и даже подзапросов, все из которых отражены в игровой среде множеством способов: от сценариев событий, которые происходят в игре в определенное время/места между конкретными людьми (при условии, что они все еще живы), к связанным предметам квеста (некоторые из которых связаны с конкретными NPC и состояниями квеста), к разному диалогу с различными NPC (опять же, с сложным деревом, которое может быть изменено диалог с другими NPC и общее состояние квеста).
Кроме того, вы можете поменять местами между активными/неактивными квестами в любой момент, поэтому эти сложные динамические поведения, которые радикально влияют на окружающую среду вокруг вас, сделаны на один шаг дальше, будучи полностью взаимозаменяемыми.
Кажется, это логичный кошмар, и мне трудно понять, как что-то настолько глубокое и богатое можно определить программным путем, так что казалось бы безупречно.
Есть ли у кого-нибудь опыт такого рода вещей, который может объяснить (в общем), что входит в эти системы?