338

対戦シミュ、連棋(ターン制ぷよ)、詰ぷよ、謎ぷよ新条件、の概要

by
takezou
takezou
この記事の項目一覧
・「対戦シミュレータ」
・「連棋」(対戦型ターン制ぷよ)
・「詰ぷよ」
・「謎ぷよ新条件・新要素」
・「1人用お邪魔モード」

------------------------------------------------------------------------------------------
●「対戦シミュレータ」

対戦シミュレータ テスト版 https://puyoloft.net/battle
セレクトボックスからルールを選択できます。

対戦シミュレータとは、ぷよぷよ対戦のルールをターン制動作できるように調整した研究ツール。
1人で先手後手の指し手を選択して進行していく。

○対戦シミュレータの役割。
・ルール、ゲームバランスの検証。
・戦術検証。
・対戦型ターン制ぷよのオフラインテスト版

現バージョンでは、対戦型ターン制ぷよの「連棋」暫定ルールを試せます。
とりあえず連棋ルールを試せるものとして作ったため、まだ最低限の機能しか実装していません。

今後は硬直時間や各要素の有無など細かく設定変更できるようにし、ルール、戦術などを研究するのに適した機能を実装したツールを目指します。

行動単位のステップ進行を基本としたターン制形式なので、自由落下するようなリアルタイムアクション要素は取り入れません。


------------------------------------------------------------------------------------------
●「連棋」の概要

連棋の紹介ページ 作成途中 https://puyoloft.net/memo/rengi
対戦シミュ上で動作する連棋のオフラインテスト版 https://puyoloft.net/battle

連棋とは、個人で開発している対戦型ターン制落ち物パズルゲーム。
いわゆるターン制ぷよと呼ばれているジャンルのゲーム。

-------------------------------------------
● 想定している設定変更可能な要素一覧。
・ツモ配色 [フリー] [オープン] [ランダム]
・ツモパターン  
・連鎖時間 [1+(n*1)手] [1+(n*1.5)手]
・お邪魔発生単位 [1個] [2個] [3個] [6個(1段)]
・お邪魔落下位置 [ランダム] [テーブル]
・お邪魔落下位置テーブル   
・お邪魔相殺 [有無]
・ツモネクスト表示数 [2個] [指定] [無し(フリー配色)] [全て(オープン配色)]
・手番パス [有無] [連鎖中のみ有り]
・全消し [有無]
・チギリロス(安定中) [無し] [チギリ差3回で1手取得]
・チギリロス(連鎖中) [無し] [0.5手消費]
・クイック [無し] [0.5手の減算or通常時加算]
・千日手  
・真似ぷよ対策  
・考慮時間  

-------------------------------------------
● 固定要素。連棋共通の各要素の設定値。
・着手方式 [交互着手]
・得点計算 [ぷよ通準拠]
・お邪魔落下時間 [無し]
・13段目隣接お邪魔消し [有り]
・お邪魔割り込み相殺 [有り]

-------------------------------------------
● 大まかな対戦モード

配色方式は「フリー」「オープン」「ランダム」の3種類。

○「フリー連棋」 フリー配色。自分のツモ配色は自由。二人零和有限確定完全情報ゲーム。
○「オープン連棋」 オープン配色。ランダム配色のツモを全て公開。配色決定後は運要素無し。
○「ランダム連棋」 ランダム配色。ネクスト2つ公開。従来型のターン制ぷよ系ルールに近い。

-------------------------------------------
● 細かい対戦モード
「配色方式」や「ちぎりロスの有無」などで対戦モードを分けている。

○「フリー」https://puyoloft.net/battle/free
[フリー配色] [n連鎖時間 n+1手]
[お邪魔発生単位6個(1段)]

○「オープン」https://puyoloft.net/battle/open_noshred
[オープン配色] [n連鎖時間 n+1手] [全消し] [16手ループのランダム配色]
[お邪魔発生単位6個(1段)]

○「オープン・スレッド」https://puyoloft.net/battle/open_shred
[オープン配色] [n連鎖時間 (n*1.5)+1手] [全消し] [16手ループのランダム配色]
[お邪魔発生単位6個(1段)] [チギリロス]

○「ランダム」 https://puyoloft.net/battle/random_noshred
[ランダム配色] [n連鎖時間 n+1手] [全消し]
[ネクスト2個] [お邪魔発生単位1個] [お邪魔落下位置ランダム]

○「ランダム・スレッド」 https://puyoloft.net/battle/random_shred
[ランダム配色] [n連鎖時間 (n*1.5)+1手] [全消し]
[ネクスト2個] [お邪魔発生単位1個] [お邪魔落下位置ランダム] [チギリロス]


-------------------------------------------
相殺無しの「ノーガード」ルールも考えていますが、これはまだ調整不足で未実装です。

・「千日手」「真似ぷよ対策」「手番パス」
これらの項目はいくつか案があるが検証が足りていないため未実装です。

標準対戦モードが多すぎると1つのモードに対する追求が疎かになるためなるべく種類を減らしたい。
それぞれのモードの特徴に合うようにゲームバランスを調節したい。

詳細なゲームルールは連棋の紹介ページを確認してください。(作成途中)
https://puyoloft.net/memo/rengi


------------------------------------------------------------------------------------------
●「連棋の今後の予定」

・「千日手」「真似ぷよ対策」「手番パス」などの細部のルールを決めて実装する。
・連棋のルール説明ページを整える。
・ネット対戦テスト版の開発。
・セガ社に問い合わせる。

正式な連棋ネット対戦サービスは、セガ社に問い合わせて公開条件等を確認してから運用開始予定。

ターン制ぷよの前例として、セガ社に公開条件等を確認してから公開したゲーム「崩珠」(作者:池田心さん)があり、連棋もそれに倣いセガ社に問い合わせることにしています。

崩珠の公開からすでに20年以上経っていて取り巻く状況が違うため、セガ社からどのような反応があるか分かりません。
どのような返答や条件提示があったとしてもターン制ぷよが問題無くクリーンなものとして存続できることを目指します。

連棋AIにも興味があるので、将棋で言うところの将棋所やfloodgateのようなものもいずれ作りたいです。


------------------------------------------------------------------------------------------
●「詰ぷよ」の概要

詰ぷよとは、対戦型ターン制ぷよの局所問題。あるいは対戦形式の謎ぷよ。
将棋における詰将棋や、囲碁における詰碁に対応するジャンル。

詰ぷよのルールは対戦型ターン制ぷよのルールに依存している。
完成度の高い対戦型ターン制ぷよのルールが存在すれば、そのルールをそのまま詰ぷよに適用すればいい。
詰ぷよのルールは自分が作るものに関しては連棋ルールをそのまま採用するつもりでいる。

-------------------------------------------
○詰ぷよAI
解答手順データ作成と、問題作成時の別解潰しと矛盾問題回避に利用。

詰ぷよは、解答者が入力した解答手順の正誤判定が必要だが、自力で正誤判定することの難しさが詰ぷよの欠陥の1つである。
詰ぷよは後手側の最善手を解答者が選ぶことが困難、あるいは後手側がどんな手を選んでも正解になる場面が存在する。
正誤判定をするときに後手の手順をどう扱うかが詰ぷよの解決すべき問題の1つ。
解決策として、解答者は詰ぷよシミュ上で先手の手順のみを解答し、後手の手順は事前に用意した解答手順データを使い自動選択する方法を模索している。

詰将棋でも後手側の最善手を選ぶことが1つの難しさだが、後手側が「n手詰め」のn手の直前まで後手が逃げる手順を選べればその手順が正解だと判別できる。
自力で正誤判定しやすいのが詰将棋の単純さとルールの完成度の高さを表している。


------------------------------------------------------------------------------------------
● 「詰ぷよのルール」

上記で紹介した連棋の「フリー」「オープン」「オープン・スレッド」の3種類をベースにしたものを流用予定。
詳細なルールはここでは省く。

詰ぷよの問題作成は、ツモと両者のフィールド上ブロックの整合性を考える必要はなく、ブロック量も先手後手で合わせなくていい。

○ 詰ぷよ問題の正解条件。暫定案。
・後手側の3列目12段目を埋めること。
・後手側の発火点をn段埋めること。

○「発火点」と「n段埋まる」の定義。暫定案。
・「発火点」は、発火色のブロックがあと2つあれば2連鎖以上発火できる発火点ブロックを指します。
・「発火点がn段埋まる」の条件は、1連鎖で最短n回消せば「発火点」が露出する状態を指します。

------------------------------------------------------------------------------------------
● 「詰ぷよの条件表記の例」

○先手番のみの手数を数える場合。
・[2手詰め]
先手ネクスト2、後手ネクスト4の場合。
最終的に先手が2手、後手が4手置き終わったときに、後手の3列目12段目が埋まる手順を解答する。

・[2手3段埋め]
[2手詰め]の条件に加えて、後手側の発火点を3段以上埋めても正解になる。


○先手後手の手数を合算して数える場合。
先手後手のネクスト数を合計した手数で表記する。
先手ネクスト2、後手ネクスト4の場合は[6手詰め]になる。

---------------------------
詰ぷよ問題は、後手ネクストの最後の手を置く前に、後はお邪魔が降るのを待つだけの状態になる場合も多い。
そのため、先手後手のネクスト数を合算して表記すると、[6手詰め]の表記が直感的でなくなる気がする。

詰ぷよシミュ上で答え合わせするときに、詰ぷよAIの項目で書いたように、後手の手順を自動選択にするのであれば、さらに後手の手数を含める意味が薄れる。

とりあえずは条件表記として先手番のみの手数を数えたものにしている。


------------------------------------------------------------------------------------------
●「詰ぷよ」の例題

・条件 [2手詰め]
・ルール
[交互着手] [オープン配色] [n連鎖時間 n+1手] [チギリロスなし]
[お邪魔発生単位6個(1段)] [お邪魔落下の時間消費なし] [割り込み有り]

詰ぷよシミュではないが、この詰ぷよ局面の動作検証を行えるURLを用意。
https://puyoloft.net/battle/open_noshred_ojmunit6/00crghSVB8Cz1w8tJ9_005iYy6kWQFtrATcgQ_1017N_108WQg

手順解説。
○手順例1
・先手がネクスト1の「緑」で2連同時消しを発火。
・後手は3手しか置けないので「青」発火を目指す場合は間に合わず、後手がお邪魔予告9段を受けるしかなくなり、3列目12段目が埋まって詰み。

○手順例2
・先手がネクスト1の「緑」で2連鎖同時消しを発火。
・後手がネクスト2の「黄」を5列目に置く。
・後手がネクスト3の「赤」で6列目から4連発火で対応する。
・先手ネクスト2の「黄」で3連追い打ち。結果6段お邪魔を送れる。
・後手ネクスト4の「黄黄」のツモを置く前に5段降り、ネクスト4を置いたあと1段追加でお邪魔が降る。
・後手側が3列目12段目が埋まって詰み。


------------------------------------------------------------------------------------------
●「謎ぷよ新条件・新要素」の概要

ぷよぷよに存在しない特殊要素を追加するのではなくて、
あくまで既存要素を謎ぷよ向けの条件として組み込んだもの。

新条件は何らかの実用的な技術を組み込んだもののほうが実用性がある。
ただし実用性はなくても、謎ぷよマニア向けに選択肢を増やしたり難易度を上げるために、新条件を取り入れて謎ぷよジャンル自体のコンテンツの幅を広げるのは良いことだと思っている。

広義の謎ぷよとして、ゆるく条件が指定してある「レッスンモード」もあるが、
自分がやりたいのはこっちのほうが近いかもしれない。
実用的な形を学習する目的の謎ぷよジャンルをもっと開拓したい。


・「謎ぷよ」と「なぞぷよ」
謎ぷよの正式名称はひらがなで「なぞぷよ」である。
ここでは「詰ぷよ」に合わせて「謎ぷよ」と記述している。


------------------------------------------------------------------------------------------
●「フリー配色」 - 謎ぷよ

対戦型ターン制ぷよで紹介した「フリー配色」ルールを取り入れる。
都合の良い配色を選び、そのツモを配置していく。

既存の謎ぷよの配色方式は「オープン配色」が採用されている。
オープン配色の1手ごとの選択肢はツモの配置要素のみであり、色ゾロツモなら11通り、色バラツモなら22通りになる。
フリー配色の場合は、色の組み合わせパターンも含めるため、1手ごとの選択肢は「4^2 * 11 = 176通り」になる。

オープン配色のネクストの中で所々の「n手目をフリー配色」にする、というような変則的なルールも可能。

・「オープン配色」と「フリー配色」の違い
フリー配色のほうが選択肢が多く、問題によってはフリー配色のほうが難しくなる。
オープン配色は発火色を推測しやすいが、フリー配色ではそれができないことも難しくなる理由の1つ。

フリー配色は別解潰しに苦労するため問題作成難易度が高くなる。
手数が多いほど別解潰しは難しい。

フリー配色ルールは連鎖エディタ上で連鎖を上手く繋げるために試行錯誤することと似ている。

○謎ぷよ問題1
[2手問題][フリー配色] 5連鎖すべし


------------------------------------------------------------------------------------------
●「チギリ回数制限」 - 謎ぷよ

より実践的な手順問題を作成できる。

連棋で採用されている連鎖中の「ちぎりロス」ルールでは、1回ちぎるごとに時間を消費するようになっているが、これを謎ぷよ向けに簡略化する。

「チギリ無し」「チギリ回数n回まで」(発火以外or発火含む)、という条件を付け加えるのが分かりやすい。
発火時のチギリは回数に含めないのが実践的だがどちらでも構わない。
別解潰しにとても手間がかかるのが難点。

○謎ぷよ問題2
[3手問題][チギリ無し(発火以外)] 4連鎖すべし
ネクスト


------------------------------------------------------------------------------------------
●「2色発火」 - 謎ぷよ

最後のツモで2色発火するか、もしくは発火直前の2色発火の形を作ることで正解になる。
前伸ばしやリバーシブル部分での2色発火問題を作成できる。

2色発火の特性として「○」か「●」の2色発火の形が完成したあとの発火時に「○●」のツモが来たとき「○」発火しかできない形が存在するが、2色発火で「●」から発火できるので実用上問題無い。
実用的な条件を考えるなら、最後のツモに発火色が含まれていれば発火できる形に辿り着ければ正解にする。

片方の色で発火すると1連減るタイプの2色発火の形なら連鎖数条件を[2色発火で8、9連鎖すべし]というふうにする。

ネクスト最後の[発火]ターンで発火色の2色どちらかを含むツモで発火できれば正解。
[発火ターン]の色は、問題で色を指定するか、あるいはフリー配色として解答者が発火色2色を選択する。
もしくは、謎ぷよシミュ上で自動判定でも良い。

○謎ぷよ問題3
[4手問題][2色発火で9連鎖すべし][発火色は回答者選択]
ネクスト [5手目が発火ターン]


上記の問題とは別の形だが、下記の発火直前の形は「青」か「赤」が含まれていれば発火できるので正解。
「青赤」のツモだと「青」発火すると1連目が同時消しになって1連減ってしまうが、「赤」発火で同時消しにしないで発火できるので実用上問題なく正解とする。


------------------------------------------------------------------------------------------
●「お邪魔落下ターン」 - 謎ぷよ

これは新要素ではない。
1~5段降るお邪魔落下ターンを挿入する。
お邪魔受けカウンターの形の習得に役立つ。

過去にお邪魔落下ターンを使った謎ぷよを全く見たことがなかったので最近まで新要素だと勘違いしていた。
IPSの謎ぷよエディタでもお邪魔落下ターン挿入は可能。


------------------------------------------------------------------------------------------
●「1人用お邪魔モード」

ターン制ぷよの1人用モード。
指定手数ごとに指定段数のお邪魔が降る。カウンターや掘りの練習を想定したツール。
謎ぷよとは違い正解条件は無いが、正解条件を加えて謎ぷよ形式にすることは可能。
指定手数は固定かランダム。チギリロス有りの場合はお邪魔が降るまでの残り手数を常に表示する。

相殺の有無。配色方式は「フリー」「オープン」「ランダム」の3種あり。
13段目のお邪魔はぷよテトやぷよスポ準拠で隣接していれば消えるというルールにする。そのほうが耐久性が高くなる。
最大連鎖数、スコア、生存手数などを競う。

「チギリロス」の仕様は、1回千切るごとに0.5手消費され、残り手数から引かれる。
残り手数が1手未満になるとお邪魔が降る。

--------------------------
○お邪魔モード テスト版
https://puyoloft.net/ojama
「配色ルール」「チギリロス有無」「n手毎p段降る」のルールを変更できる。
現状は設定自由度が低くて、お邪魔手数や量の可変や、相殺に対応していない。

フリー配色とオープン配色は実践的ではないので練習ツールというよりは謎ぷよに近い。
お邪魔が降るまでの手数と降る量を可変にして相殺を組み合わせて、対テト練習ツールのようなものも作りたい。

--------------------------
○設定例

・「フリー配色、2手毎に2段お邪魔」
https://puyoloft.net/ojama/free_fallturn2_row2
最大5連鎖まで可能。
このお邪魔シミュは死亡判定無しで13段壁越え可能なので、その条件なら最大6連鎖までできるがあまり意味はない。

・「フリー配色、2手毎に1段お邪魔」
https://puyoloft.net/ojama/free_fallturn2_row1
これはかなり不毛なルール。
掘るコツを見つければ上部から1段目まで掘れるので、掘りと本線構築を時間かけて繰り返せば19連鎖できそう。

------------------------------------------------------------------------------------------

 
更新日時:2020/05/12 16:11
(作成日時:2020/05/09 14:19)
コメント( 4 )
4件のコメントを全て表示する
takezou
takezou
5月10日 19時52分

PCのchromeとfirefoxで動作確認してます。
思いつくのはcloudfrontやcloudflareのサーバからjsファイルをダウンロードしているのでそれが拒否されていないかどうか。
chromeなら「右クリック→検証」でデバック画面を開いてコンソールログを見ればどこでエラーになってるかわかるかもしれないです。

machine322
machine322
5月10日 20時33分

Uncaught Error: WebGL unsupported in this browser, use "pixi.js-legacy" for fallback canvas2d support.
どうもWebGLが動いてないみたいで、おっしゃる通りjsファイルのところでエラー吐いてました。firefoxでは正常に動作したのでこっちのchromeの環境が何か悪さしてるっぽいです。返信ありがとうございました

takezou
takezou
5月10日 23時38分

報告ありがとうございます!webglのことは全く考慮していなかったです。調べたらpixi最新版はwebgl必須だったのでwebgl無しでも動く両対応版に替えました。一応これでwebgl無しでも動くことを確認しました。

machine322
コメントするにはログインが必要です
シェア