私は倉庫番のようなゲームを作っています。つまり、プッシュできるクレートがいくつかあるグリッドがあり、レベルに勝つためにクロスでクレートを取得する必要があります(ただし、要素をいくつか追加します)。このスタイルのゲームの興味深い(たとえば、解決するのは簡単ではない)レベルを生成する方法について、一般的なアルゴリズムや参考資料はありますか?倉庫番にはランダムレベルジェネレーターが存在することは承知していますが、アルゴリズムの説明が見つかりません。
難易度で並べ替えて、マシンがたくさんのレベルを生成できるゲームを作ることに興味があります。ゲームのルールを制限して、レベルの生成を簡単にすることもできます(たとえば、グリッドサイズを約7x7に制限します)。私が見てきたように、ここではレベル生成を行ういくつかの一般的な方法があると思います。たとえば、トラフィックジャムのようなゲーム(無料のいくつかのブロックの周りでブロックを移動する必要がある)で、それぞれに固有のソリューションがある1000のレベルがあります。
私が持っていた1つのアイデアは、最終的な状態(つまり、すべてのクレートが十字の上にある状態)でランダムマップを生成し、コンピューターがこれらのクレートを(プッシュする代わりに)引っ張ってレベルを作成することでした。ここでの優れた特性は、レベルが解決可能であることを知っていることです。ただし、レベルが興味深いものであることを確認するには、いくつかのヒューリスティックが必要です。