助けてくれませんか。
私は、プレイヤーが複数のルートをたどることができるゲーム(2d)を書いています。その中には、分岐/マージ(おそらくループ)もあります。ゲームの各セクションは、次にロードされるセクションを決定します。
私は各セクションをIStoryElementと呼んでいます-そして、簡単に変更/構成でき、同時にグラフ化できる方法でこれらの要素をリンクするのに最適な方法を考えています
StoryElement
さまざまな構成オプションに基づいて適切なものをロードするエンジン/ファクトリーアセンブリを用意します。
私は当初、それぞれStoryElement
にNextElement() As IStoryElement
プロパティとCompleted()
イベントを提供することを計画していました。ベントが発生すると、エンジンはNextElementプロパティを読み取り、次を検索しますStoryElement
。
これの欠点は、ゲーム内のすべてのルートをグラフ化する場合、グラフ化できないことです。それぞれの可能なすべてのターゲットを特定できませんでしたStoryElement
。
私は他のいくつかの解決策を検討しましたが、それらはすべて少し不格好に感じます-たとえば、抽象化の追加レイヤーが必要ですか?つまり、StoryElementPlayersまたは同様のもの-それぞれが複数のStoryElement
おそらくシリーズとChoicePlayerをつなぎ合わせ、それぞれが独自のグラフを作成する責任がありますStoryElement
-しかし、これは問題を層の上に移動させるだけです。
つまり、シンプルでありながら動的なワークフローをエミュレートする方法が必要です(ただし、実際にはWWFを使用したくありません)。これほど単純なもののパターンはありますか?私が見つけたものはすべて、より高度な制御フロー(並列処理など)に関連しています。