Что такое правильный подход для написания многолучевого "история" потоков?

интересно, если вы можете мне помочь.

я пишу игры (2d), которая позволяет игрокам взять несколько маршрутов, некоторые из которых филиал/merge - возможно, даже петли. Каждый раздел игры будет решать, какой раздел загрузки далее.

я звоню каждой секции IStoryElement - И мне интересно, как лучше, чтобы связать эти элементы так, что это легко изменить/настроить и в то же время, graphable

я собираюсь иметь двигатель/Заводская сборка, которые будут загружаться StoryElement(ы), основанный на различные опции config.

первоначально я планировал дать каждому StoryElement NextElement() As IStoryElement собственности и Completed() событие. Когда сброс пожаров, двигатель читает NextElement собственности, чтобы найти следующую StoryElement.

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

я рассмотрел несколько других решений, но они все чувствуют себя немного неуклюжим, например, мне нужен еще один уровень абстракции? т.е. StoryElementPlayers или аналог - Каждый будет отвечать за нанизывания вместе с несколькими StoryElement возможно, Серия и ChoicePlayer с каждый из которых отвечает за построение графиков свою собственную StoryElement - Но это будет просто переместить проблему слой.

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

Найдено 2 ответа:

What's the proper approach for writing multi-path “story” flows?

http://stackoverflow.com/questions/3034161/whats-the-proper-approach-for-writing-multi-path-story-flows

Посмотреть решение →