宝石をちりばめた次の最高の宝石の選択


9

私が使用できるゲームデザインテクニックはありますか?すなわち。ゲームは不可能なシナリオを含んではいけません。

私が推測する限りでは、すべての宝石と、3または4の宝石グループが溶解した後にユーザーにどこを与えるかによって異なります。

出来ますか ? An always infinitely solvable Bejewelled game?


2
すべての宝石を青色にします
amb

素晴らしい質問を1つ。生成する新しい宝石の数によっては、これについてはかなり複雑な解決策が必要です。
ashes999

@ ashes999:ありがとうございますが、現時点での唯一の2つのアイデアは、この違法な状況の除去が可能であると私は考えています。爆弾またはハイパーキューブが周囲の宝石と相互作用して、ボードパターンに大きな混乱を引き起こします。
Vishnu

回答:


1

無限の宝石をちりばめたゲームを作成することは確かに可能です。PopCapは、最新のBejeweled 3(モードは "Zenモード"と呼ばれます)を使用して、それを行っています。

まず、最初にボードを生成するときに、少なくとも1つの有効な手があることを確認する必要があります。

プレーヤーが移動するたびに、結果のボードを計算して有効な移動を検索する必要があります。何も見つからない場合は、生成される宝石を制御して、有効なボードを復元する必要があります。(少なくとも)1つの移動で3つの宝石が削除され、3つの交換用宝石を生成する必要があるため、これらの3つの交換用宝石が現在のボードで別の有効な移動を確実に形成するようにすることができます。エンドレスモードを達成しました。

もちろん、新しい動きが新しい宝石で表示されるのは理想的ではありませんが、常にプレイ可能なボードを確保するための安価な方法です。また、有効な移動を作成することは、実際には宝石の位置を交換することを意味するので、他の移動が可能になるまでには時間がかかりません。

既に述べたように、爆弾やボードの大きな部分をクリアする他の手段はゲームプレイに多様性を追加しますが、エンドレスモードを保証するために必要ではありません。


4

はい。これは実際には可能です。ケースが定義されているため、これは停止問題のケースではなく、恣意的ではありません。これに答えるには、2つの部分に答える必要があります。最初に解決策が存在する場合、それを見つけることができます。次に、有効な解決策が常に見つかるでしょう。

の最初の部分は、プレイ可能なボードを作成する一連の交換用タイル(宝石)を見つける方法です。これはブルートフォースメソッドを使用して実現できます。可能な交換セットをすべて、再生可能なセットに遭遇するまでチェックしてください(より最適な非ブルートフォースメソッドもあります)。

2番目の部分は、再生可能なセットを生成する置換セットが常に存在するかどうかを判断することです。1回の移動で削除されるタイルのセットは、3つのタイルのセットのスーパーセットになります。したがって、削除されるタイルが3つだけの最小の場合、再生可能なセットが常に見つかると、削除されたタイルのすべての可能なパターンに対して削除されたタイルのサブセットである3つの削除されたタイルの各セットのすべてのソリューションを含むため、再生可能なセットがあります。

行/列の3つのタイルのみをクリアする最小限のケースでは、タイプBのタイルで区切られたタイプAの2つのタイルを含む置換セット(タイプAは、クリアされた3つのセットの上下のタイルのタイプです) 3列の場合、または3行の場合は左または右)。これにより、これらの3つのタイルの中心を適切なAタイルと並べ替えて3つのタイルのセットを作成する動きが生じます。これは、元のタイルがクリアされた列/行に沿って有効な移動を生成するタイルのセットが常に見つかることを示しています。その列または行への将来の移動を制限することは、無限のプレイアブルゲームの有効な解決策でありながら、あまり面白くないでしょう。しかし、一般的な宝石で飾られたスタイルのゲームのすべてのルールを使用して、その行/列の外への移動も可能にするソリューションが常に存在することを示すのは簡単です。3つのAタイプのタイルをドロップすると仮定します。ここで、Aは削除された3つのセットの上下または左右のタイルの1つです。これにより、「爆弾」スタイルのタイルが作成され、削除すると領域がクリアされます。次に、別のタイルの代替セットをドロップすると、その爆弾とのマッチングが行われ、タイルの領域がクリアされます。この領域には、他の行内にいくつかの3つのタイルサブセットが含まれます。つまり、将来の移動は必ずしも単一の行/列に限定されるわけではありません。これにより、「爆弾」スタイルのタイルが作成され、削除すると領域がクリアされます。次に、別のタイルの代替セットをドロップすると、その爆弾とのマッチングが行われ、タイルの領域がクリアされます。この領域には、他の行内にいくつかの3つのタイルサブセットが含まれます。つまり、将来の移動は必ずしも単一の行/列に限定されるわけではありません。これにより、「爆弾」スタイルのタイルが作成され、削除すると領域がクリアされます。次に、別のタイルの代替セットをドロップすると、その爆弾とのマッチングが行われ、タイルの領域がクリアされます。この領域には、他の行内にいくつかの3つのタイルサブセットが含まれます。つまり、将来の移動は必ずしも単一の行/列に限定されるわけではありません。


一度に120度回転するだけですよね?では、(前の手のため)ボードの他の場所にスコア可能な分布があり、新しく配置されたブロックから5手を必要とするボードを表示し、プレーヤーが最初に何か間違ったものをクリックするどうなりますか?
時計じかけのミューズ

120度回転しますか?宝石をちりばめたは回転を伴いません。宝石をちりばめたツイストを考えていますか?
Matthew R

すみません、いや、私はHexicのことを考えていました。しかし、十分に異なるgemを使用すると、エンジンが一致するトリオを毎回生成して継続的な再生を可能にする必要がある状況に入る可能性があります(他には何もスコアされないため)。見るのは面白いかもしれませんが、あまりプレイできません。
時計じかけのミューズ

そのセットの左/右または上/下のタイルと同じタイプの3つの同一のタイルの置換セットを常に生成できます。これにより、より大きなセットが作成され、その後削除されます。これは、元のタイルの行または列のすべてのタイルを最終的に削除できることを意味します。ほとんどの宝石をちりばめたスタイルのゲームでは、より大きなセットは、特定のタイルタイプの領域またはすべてをクリアする特別なタイルにつながります。これは、ボードの初期状態に関係なく、プレイ可能なボードを生成できる十分なタイルをクリアするために必要に応じてカスケードすることができます。
マシューR

3

あなたは停止問題に触れましコンピューターサイエンスのに。

任意のコンピュータプログラムの説明を前提として、ある時点で停止するか、永久に実行されるかを推測できますか?これが「問題」と呼ばれるのには理由があります。

短い答えは次のとおりです。いいえ、宝石をちりばめたゲームが違法な動きをしないことは保証できません。保証するには無限の計算時間がかかるからです。


4
参考までに、停止問題は、すべてが解決できるわけではなく、解決することが不可能な問題があることを示しています。この特定の問題については、あなたがそれを行うことはできないと思います(または、2色と3 * 3グリッドのように、ゲームは途方もなく単純になります)、このような「通常のサイズの」ゲームでは、パスが多すぎます。
Valmond

1
また、参考までに:現在の世代の宝石をちりばめたゲーム(PopCapから)にはエンドレスモードがあります...したがって、問題は正常に解決されたようです:)有効な移動を保証する新しい宝石を生成することで、常に有効な移動があることを保証します(現在利用可能なものがない場合にのみ適用されます)。
bummzack

1
@bummzack:あなたがbummzackは間違っていると言ってすみませんが、ポップキャップには驚きました(これは私がクラシックとスピードの両方で最高の得点者だと言っていることを誇りに思っています)。クラシックバージョンでは、.NO MOVES LEFTと表示されず、ゲームオーバーになります。
Vishnu

@ knight666:まあ、私はそれが不可能だとは思わない、Mathew Rによる他の投稿のように、彼はaiが違法な状況が発生するかもしれないと予見するときに爆弾を使うことの良いアイデアを与えます。
Vishnu

@Vishnuまあ私は現在の世代を書いたが、これはビジュエルド3であり、これはエンドレスモード(またはZenモードなど)にのみ適用される。これはクラシックバージョンには当てはまらないことを知っています...
bummzack
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.