興味深いパズルレベルのランダム生成?


8

私は倉庫番のようなゲームを作っています。つまり、プッシュできるクレートがいくつかあるグリッドがあり、レベルに勝つためにクロスでクレートを取得する必要があります(ただし、要素をいくつか追加します)。このスタイルのゲームの興味深い(たとえば、解決するのは簡単ではない)レベルを生成する方法について、一般的なアルゴリズムや参考資料はありますか?倉庫番にはランダムレベルジェネレーターが存在することは承知していますが、アルゴリズムの説明が見つかりません。

難易度で並べ替えて、マシンがたくさんのレベルを生成できるゲームを作ることに興味があります。ゲームのルールを制限して、レベルの生成を簡単にすることもできます(たとえば、グリッドサイズを約7x7に制限します)。私が見てきたように、ここではレベル生成を行ういくつかの一般的な方法があると思います。たとえば、トラフィックジャムのようなゲーム(無料のいくつかのブロックの周りでブロックを移動する必要がある)で、それぞれに固有のソリューションがある1000のレベルがあります。

私が持っていた1つのアイデアは、最終的な状態(つまり、すべてのクレートが十字の上にある状態)でランダムマップを生成し、コンピューターがこれらのクレートを(プッシュする代わりに)引っ張ってレベルを作成することでした。ここでの優れた特性は、レベルが解決可能であることを知っていることです。ただし、レベルが興味深いものであることを確認するには、いくつかのヒューリスティックが必要です。


レベルを生成するためのアイデアは非常に興味深いものです。正直言って、それについての議論を待つのではなく、先に進んで試してみます。私はあなたがプルの数を設定することによって生成されたレベルの難易度を調整できると思います、そしておそらくあなたが望む一つの発見的方法はプルを複数のクレートに分配することです。そのため、プレイヤーは時々箱の間を行き来しなければなりません(私は、一種の絡み合うロジックが一度に1つの箱よりも興味深いと思います)。
jhocking 2014

回答:


6

論文を見る:倉庫番問題の自動作成

要約から:

この記事では、倉庫番問題を自動的に作成するプログラムについて説明します。倉庫番は、日本で発明された一人称パズルの1つです。プログラムは、生成、チェック、評価の3つの段階で構成されます。まず、プロトタイプと3つのテンプレートによって、問題の候補がランダムに生成されます。次に、解決できない候補が倉庫番ソルバーによって削除されます。最後に、ささいなまたは興味のない候補が評価者によって削除されます。プログラムが作成した問題は、人間の専門家によって良いと判断されます。コンピューターによるアートの作成は、人工知能の重要なターゲットです。私たちの作品は、コンピューターで芸術を創ろうとする試みの一つとして特徴付けられます。


1

解決可能なパズルの場合、解決された状態から始めて、計画的またはランダムに(またはエディターで)不作為な動きから始めて、ゲームを逆にプレイするのは簡単です。

倉庫番はこのアプローチに非常によく適合し、除外して解決する戦略よりも実装がはるかに簡単です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.