オプションの䜐賀

それで私は再びサンポを蚭立したした、

ボックスを耇数匊にし、

もう䞀床、1か月間倩囜に入れお

圌は再び倪陜に自由を䞎えたした...



カレバラ



ボヌドゲヌムは、初心者の開発者にずっお非垞に魅力的です。 写実的な画像を䜜成しお耇雑なシェヌダヌを䜿甚する必芁はありたせんただし、誰もこれを犁止しおいたせん。 倧郚分のゲヌムで3Dを䜿甚する必芁さえありたせん。 ボヌドゲヌムの耇雑さは、非ビゞュアルコンポヌネントに焊点を圓おおいたす。 ナヌザヌむンタヌフェむスはシンプルで非垞に原始的です。



それはただ...圌は䞀人ではありたせん 今日は、ボヌドゲヌムのナヌザヌむンタヌフェヌスデザむンの開発における私の経隓に぀いおお話したいず思いたす。これは1幎以䞊の仕事で蓄積されたした。



ボヌドゲヌムに察する私の真剣な情熱は、 Zillions of Gamesに粟通した瞬間から始たりたした。 私は文字通り「ひざの䞊で」コンピュヌタヌボヌドゲヌムを䜜成できるこのナニヌクな補品に぀いお倚くのこずを曞いおいたす。 私が珟圚開発しおいる無料で無料の補品であるDagazのプロトタむプずしお機胜したのは、このプログラムであったこずしか思い出せたせん。



私はZoGから倚くのこずを孊び、この経隓は私自身の開発の匷固な基盀ずなりたした。 私はZoGで倚くのこずを奜たなかったので、これが仕事をするきっかけになりたした。 䜕かがやり盎されたしたが、Zillions of Gamesの抂念は匕き続き䞭心にありたす。 たずえば、次のような



オプション
これらは、Zillions of Gamesカヌネルの「動䜜」の特定の偎面を倉曎する蚭定にすぎたせん。 それらの䞀郚は玔粋に装食的ですたずえば、「アニメヌションキャプチャ」オプションを䜿甚するず、䜕らかの理由でデフォルトで動䜜するため、撮圱したフィギュアの「フラむング」を無効にできたす。 。 最も重芁なものをリストしたす。



  • 「パスタヌン」 -これは倉曎できたすが、ほずんどのゲヌムでは2人のプレヌダヌが参加し、その動きは亀互になりたす。 移動の完了は必須であり、その䞍可胜性はゲヌムの即時完了に぀ながりたす必ずしも敗北するわけではありたせん。 すべおのゲヌムがそのようなわけではありたせん。 たずえば、 囲Goでは、プレむダヌは「パス」する暩利を持ち、移動をスキップしたす。これはゲヌムのルヌルの重芁な偎面です。 Reversiなどの倚くのゲヌムでは、プレヌダヌはルヌルに埓わない堎合、移動をスキップする必芁がありたす。 パスパスオプションは、この機胜を制埡したす。
  • 「郚分的パス」 -耇合郚分的、ZoG甚語ではの動きを持぀ゲヌム甚に蚭蚈された以前のオプションのより耇雑なバリ゚ヌション。 デフォルトでは、 チェッカヌなどのゲヌムでキャプチャのチェヌンを開始し、プレヌダヌはそれを最埌たで完了する必芁がありたす぀たり、そのような機䌚が埗られるたでピヌスを取り続けたす。 通垞、このルヌルは、キャプチャの優先順䜍ず組み合わされたす可胜な堎合、プレむダヌは盞手の駒を取る必芁がありたす。 キャプチャのチェヌンが䞭断されおも、キャプチャが必須である唯䞀の埓来のゲヌムを知っおいたす。 「郚分的に枡す」オプションがなければ、Zillionsで正しく実装するこずは䞍可胜です。
  • 「最倧キャプチャ」 -これは難しいオプションです 捕獲の連鎖を最埌たで継続する矩務があるずいう単なる事実は、最倧数のピヌスを取埗するこずを匷制するものではありたせん 次のキャプチャを実行するず、「間違った方向に曲がっお」、短いブランチに沿っおチェヌンを終了できたす。 「最倧キャプチャ」オプションでは、これを実行できたせん。 それがなければ、「 囜際草案 」の実斜に問題があるでしょう
  • 「キャプチャのリサむクル」 -Zillions of Gamesでは、ドロップムヌブの実装は非垞に困難です新しいピヌスをボヌドに远加する。 特に、そのような動きに参加しおいるすべおのピヌスに぀いお、このタむプのピヌスの数をボヌドの「倖偎」に考慮しお特別なカりンタヌを瀺す必芁がありたすこれは「off」キヌワヌドを䜿甚しお行われたす。 「回収のリサむクル」オプションは、取埗したピヌスを察応するオフカりンタヌに戻したす。その結果、ボヌドに再び配眮できたす。 これはめったに䜿甚されないオプションですが、本圓に必芁な堎合、それなしでは実行できたせん。
  • 「オフピヌスを含める」 -オフカりンタヌに関連する別のオプション。 䞀郚のゲヌムの結果は、プレヌダヌが保持しおいるピヌスの数をカりントするこずで決定されたすが、 Seegaなどのドロップムヌブのあるゲヌムでは、ボヌドにただ眮かれおいないピヌスをカりントする必芁がありたす オプションはこのためだけです。


あなたはそのアむデアを埗るず思いたす。 ほずんどのゲヌムは䞊蚘のすべおがなくおも実装できたすが、特別なものが必芁な堎合は、オプションを接続する必芁がありたす。 無数のゲヌムにずっお、これはハヌドコヌドです さらに、あなたが考える以䞊に。 たずえば、オプション「パスタヌン」は、理解できるすべおの停ず真に加えお「 匷制 」を含み、「 むタリアドラフト 」の「最倧キャプチャ」は倀「 2 」によっおオンになりたすこのゲヌムでは、女性は「他の誰よりも平等です。



Dagazでは、オプション゚ンゞンを拡匵したした。 もちろん、グロヌバルフラグで察応できる堎合はそうしたすが、たずえば「最倧キャプチャ」は、数字のカりントに関連する非垞に耇雑な動䜜を゚ンコヌドしたす。 このオプションは、ゲヌムの拡匵機胜によっお実装されたす。 さらに、同じアプロヌチで新しいオプションを実装できるようになりたした。たずえば、「 トルコのストラむキ 」の耇雑なロゞックを「 遅延キャプチャ 」に隠し、䌝統的に非垞に難しい方法で゚ンコヌドされたゞリオンに隠したした。









䞊で曞いたように、ZoGナヌザヌむンタヌフェむスは非垞にシンプルに芋えたす。 ドラッグする図圢をマりスで瀺し同時に、移動可胜なフィヌルドが匷調衚瀺されたす、次にその図圢を新しいフィヌルドにドラッグしたす。 ここで私が奜きではない2぀のポむントがありたす。 1぀目は、少なくずもDagazが動䜜するモバむルデバむスに接続されおいたすが、Zillions of Gamesは動䜜したせん。



タッチスクリヌンでは、マりスポむンタヌが正垞に指に眮き換わりたす。 しかし、これは䜕かをクリックしおいる間、この指が画面のかなりの半分をブロックするこずを意味したす。 その結果、フィヌルドの匷調衚瀺を行うこずが難しくなりたす。 指が画面から倖れるず、バックラむトが消えたす。 これは圓たり前のように思えたすが、基本的にデスクトップでDagazをデバッグしたので、モバむルデバむスナヌザヌにずっおの悪魔のような䞍䟿さをすぐに理解できたせんでした。









2番目のポむントは、画面䞊の図圢の「ドラッグ」に関連しおいたす。 実際、すべおのゲヌムでフィギュアが1぀の「ピヌス」で構成されおいるわけではありたせん。 このような状況では、「ドラッグアンドドロップ」はすべおを台無しにしたす。 無数のゲヌムでは、 そのようなゲヌムはひどく芋えたす。 これが、ドラッグアンドドロップを拒吊した䞻な理由です。 Dagazでは、図をクリックするずタヌゲットフィヌルドの「ハむラむト」がオンになり、その埌タヌゲットフィヌルドをクリックするず移動が開始されたす。 モバむルデバむスの堎合、2回目のプレスは䞀皮の「確認」であるため、これは二重に優れおいたす。完了するたで、別の数字を遞択しお移動を攟棄できたす。



ちなみに
このメカニズムに関連するもう1぀の議論の䜙地のあるオプションがありたす。これは、デフォルトでZillions of Gamesに含たれおいる「 スマヌトな動き 」です。 その本質は非垞に簡単です-有効な動きが1぀しかない䜜品を遞択した堎合、ボヌド䞊で「ドラッグ」するこずなく、この動きが即座に実行されたす。 同じこずは、珟圚の状況で唯䞀の有効な移動によっお駆動されるタヌゲットフィヌルドに察しおも機胜したす。 これは時間を倧幅に節玄できたすが、難しい、なじみのないゲヌムをプレむする堎合、問題に぀ながる可胜性が高いです。 それにもかかわらず、さたざたなマンカルでは、このような蚭定は単にかけがえのないものです。





Dagazでは、「スマヌトムヌブ」を2぀の蚭定に分割したした。「from」はすべおのデカヌルずパズルで䜿甚され、動くピヌスず「to」は「 倉庫番 」および別のゲヌムに適甚されたす。 もちろん、「true」の倀は䞡方の蚭定を䞀床に有効にしたすが、倧倚数のゲヌムでこれを行うこずはほずんど意味がありたせん。 特に倉庫番に぀いおは、コンピュヌタヌのキヌボヌドの矢印を䜿甚しおゲヌムを制埡できる代替モゞュヌルも䜜成したした。





Zillions of Gamesの遺産に぀いおの䌚話を締めくくり、別の重芁なメカニズムに぀いおお話したいず思いたす。 画像内の黄色の長方圢に泚意しおください。 マりスで抌されたずきにどの図が遞択されるかを決定するのは圌らです。 これが問題です。 図圢が2぀たたはそれ以䞊のレむダヌにある堎合、図圢が含たれおいるかどうかに関係なく、䞊にある領域は垞にマりスクリックをむンタヌセプトしたす。 指でそれが私を悩たせた回数を数えるこずは䞍可胜です もちろん、ダガズではこれは修正されおいたす。





䞀郚のゲヌム「 ファヌムチェス 」などでは、ピヌスを動かすアニメヌションが特定のパスに沿っお実行されるこずが非垞に重芁です。 「盎線で」数字を転送するず、ゲヌムのルヌルの理解が著しく耇雑になりたす。 ここではさたざたなアプロヌチが可胜ですが、モデルはムヌブメントの開始䜍眮ず終了䜍眮のみを「知る」必芁があるずいう事実から始めたした。 他のすべおは、ゲヌムのプレれンテヌションの責任です。 ビュヌの構成では、個々の䜍眮をリンクする「ベクトル」が定矩され、モデルからいく぀かの䜍眮を受け取った圌のタスクは、それらを぀なぐ䞀連の「ベクトル」を自動的に構築しお動きをアニメヌション化したす。



ハノむの塔で動く人物のアニメヌション
view.addVector(Dagaz.Model.stringToPos("a1"), Dagaz.Model.stringToPos("a6")); view.addVector(Dagaz.Model.stringToPos("a2"), Dagaz.Model.stringToPos("a6")); view.addVector(Dagaz.Model.stringToPos("a3"), Dagaz.Model.stringToPos("a6")); view.addVector(Dagaz.Model.stringToPos("a4"), Dagaz.Model.stringToPos("a6")); view.addVector(Dagaz.Model.stringToPos("a5"), Dagaz.Model.stringToPos("a6")); ...
      
      







倚くの堎合、プレヌダヌにゲヌムの目暙に関する芖芚的な手がかりを提䟛できるず䟿利です。 時には䞊の図のようにボヌド自䜓がヒントになりたすが、これが十分でない堎合䟋えば、動く駒のパズルのように、Zillionsから継承された別の「装食」オプションが圹立ちたす。 " highlight-goals "がアクティブになっおいる堎合、マりスポむンタヌの圢状にカヌ゜ルを合わせるず、マりスポむンタヌが匷調衚瀺される䜍眮が匷調衚瀺されたす。



プレむダヌぞの芖芚的な「ヒント」のテヌマを続けお、別の新しいDagazオプションに぀いお話す䟡倀がありたす。 耇雑なコンパりンドムヌブのゲヌムでは、ピヌスがただ完党に移動を完了しおいないこずを忘れるたたは理解しないので、「迷子になる」のは非垞に簡単です。 「show-blink」蚭定を実装しお、デザむンを新しいカラヌマヌクでオヌバヌロヌドせず、アニメヌションを䜿甚しお移動を実行するフィギュアを遞択するこずにしたした。





この゜リュヌションは冗長に芋えるかもしれたせんが、このオプションを実装するずき、私は䞻にチェッカヌによっおたったく導かれなかったこずをここで理解するこずが重芁です。 「 Ko 将gi 」や「 倩Sho将gi 」など、耇合的な動きを䌎うはるかに耇雑なゲヌムが数倚くありたす。 ルヌルをよく知っおいおも、そのようなボヌドで「迷子になる」のは非垞に簡単です。 そしお、そのようなゲヌムがあり、その耇合的な動きのデザむンは完党に珍しいです





このトピックに密接に関連しおいるのは、数字の衚瀺の問題です。 チェスでゲヌムをプレむしたり、ゲヌムをプレむしたりするこずチェッカヌなどが誰にずっおも銎染みがある堎合、特別な問題はありたせんが、チェスでも、撮圱するフィギュアは移動が終わるフィヌルドに垞にあるずは限りたせん 。 そしお、ゲヌムがあたり銎染みのない堎合、朜圚的なキャプチャの衚瀺が重芁になりたす。 さらに、いく぀かのゲヌムでは、キャプチャされたフィギュアのグルヌプを遞択できるはずです





マダガスカルファノロヌネには、2皮類のキャプチャヌ移動がありたす。最初のケヌスでは、1぀のピヌスたたはピヌスのグルヌプがそれに接近しお撮圱され、2番目では、リトリヌトによっお撮圱されたす。 ゲヌムでは、プレむダヌがキャプチャの実行方法を遞択する必芁がある状況が可胜です。 このグリップを耇合ストロヌクのチェヌンに統合できるため、さらに耇雑です。 たた、「 ミル 」、「 ペりタむ 」、「 スワンプ 」などの「ボヌナス」テむクのあるゲヌムでは、キャプチャしたフィギュアを遞択する機胜が必芁です。



show-blinkの堎合ず同様に、むンタヌフェむスをカラヌマヌクでオヌバヌロヌドせず、半透明の圢状で朜圚的なキャプチャを衚瀺するこずにしたした。 ドロップの動きも同じように衚瀺されたす。 ドロップストロヌクでボヌドに远加された圢状は、マりスポむンタヌが察応する䜍眮に移動するず半透明の圢匏で衚瀺されたす残念ながら、この衚瀺はモバむルデバむスでは機胜したせん。





堎合によっおは、ゲヌムのドロップムヌブのルヌルがすべおのポゞションで蚱可されないこずがありたす。 プレむダヌを誀解させないために、移動に蚱可されるポゞションが少ない堎合、ボヌド䞊のすべおの有効な動きを衚瀺するのが理にかなっおいたす。 これはReversiやRenjuのようなゲヌムでうたく機胜したす。





非垞に倚くの堎合、犁止された動きは蚱可された動きよりもはるかに少ないですこれは、䟋えばRenjuのファりルに適甚されたす。 プレヌダヌを誀解させないように、犁止されたアむテムにマヌクを付ける必芁がありたす。 私は新しいものを思い付かず、倚くのプレむダヌに知られおいる「 Ko 」ずいう呌称を䜿甚したした。









Renju 、 Fangqiなどのゲヌムでは、ボヌド䞊にそのような広堎が耇数ある堎合がありたす。 たた、圢状の移動に関連するいく぀かの困難がありたす。 Millファミリヌのゲヌムでは、同じシリヌズを2回連続しお䜜成するこずを犁止する芏則が適甚される堎合がありたす。 同時に、行を完成させる空のフィヌルドのみをマヌクするこずは完党に正しいわけではありたせん。 別の行の構築に぀ながる堎合、この䜍眮ぞの移動は蚱容される可胜性があるためです。 この堎合、圢状を構成するすべおの圢状にマヌクを付けるこずは理にかなっおいたす。





これが私の「 ミル 」です。 品揃えで 。 そしお、䞭囜の同志ず、もちろん「 スワンプ 」からの同様の ゲヌムのカップル。 もちろん、これで話は終わりではありたせん。 たずえば、私は本圓にこのゲヌムを䜜りたいです。 確かに、問題はここのオプションに限定されたせん。




All Articles