私はこれがゲームデザインに関連していることを知っていますが、私はStackOverflow FAQを読んでおり、ソフトウェアアルゴリズムの質問にはここで質問することができます。これがゲームデザインの方が良ければ、誰かが私の動きを助けることを願っています。ありがとう!このマルチスレッド手続き生成アルゴリズムの潜在的な問題は何ですか?
私はマルチスレッド手続き型ダンジョンジェネレータを設計しています。しかし、私はどのような種類の問題に直面しているのだろうか、私は明らかにそれらにマルチスレッドを示す多くのアルゴリズムを見つけることができませんでした。
私は3つの異なるオブジェクトを作成する必要があります。複数の「部屋」を収容する「世界」と各部屋は潜在的な「物体」を収容する。
現在のアルゴリズムは次のように機能します。
Step 1: Generate World
Step 2: Generate Rooms and Objects concurrently
世界は部屋のリストを収容し、「利用可能なオブジェクトのリスト」。部屋の作成方法は部屋を生成して世界の部屋リストに追加します.--オブジェクト作成手順はどのような方法でも部屋手順と通信しません。むしろ、オブジェクト作成プロシージャは、Worldのルームリストからランダムなルームを選択し、ルーム内にランダムなオブジェクトを生成します。
私が見るのは、オブジェクト作成プロシージャがあらかじめ成熟して終了している場合のみです。言い換えれば、ルーム作成手順がオブジェクト作成手順よりも遅れて完了したため、ルームリストのルームの一部にのみオブジェクトが作成されます。
さらに問題がありますか、誰もそのようなアルゴリズムの開発に関するアドバイスや経験がありますか?
これは興味深いアプローチです(私の初期のアプローチよりも複雑ですが)。一度に1つずつ部屋を生成し、部屋の側に並んでオブジェクトを並行させることによって、その複雑さの大部分を避けたいと考えました。しかし、あなたのように私のアプローチは部屋と物体を一緒に保つことではあまり効果がないかもしれない、と言っています。オブジェクトの作成は部屋自体に比べて軽いと仮定します。 –
また、部屋の生成手順で、その部屋のオブジェクト生成手順を呼び出すこともできます。 –
私は部屋を並行して部屋ごとに一度オブジェクト作成プロシージャを呼び出すというアイデアが気に入っています。私は、払い戻しが高くなり、部屋や物件を同時に行うよりも管理が簡単だと思います。 –