プロフィール

ひいら

Author:ひいら
『カードヒーロー』を
愛してやまないプレイヤーの一人。
このゲームのルールの凄さ、
素晴らしさを世界中に広めること、
それが僕の生きる意味。

このブログは、
『カードヒーロー』をメインとしながら、
デジタルに限定しない様々な遊びや、
普段考えていることを
徒然なるままに記していくブログです。

各カテゴリに関する簡単な説明は
【→こちら】からどうぞ。

通信(交流)できる主なゲーム
・カードヒーロー
・メイドイン俺
・スプラトゥーン
・スマブラfor

最新記事

最新コメント

カテゴリ

FC2カウンター

月別アーカイブ

リンク

検索フォーム

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

メイドイン俺 コンテスト入選『マジカルスイッチ』

いやはや3度目の正直と言うべきか。
ゲームの長さ「ながい」の力作、『マジカルスイッチ』が入選していました。
最下段にあったので「今回も落選か…?」とひやひやものでした。

このゲーム、8秒という長さをもってしても
クリアすることが難しいパズルゲームです。
目的は3×3=9つのボタンをすべてONにすることなのですが、
あるボタンを押すと、そのボタンのON/OFFが入れ替わるだけでなく、
そのボタンに隣接したボタン全てのON/OFFまで入れ替わります。
この性質がこのパズルの特徴そのものであり、
一筋縄ではいかない所以でもあります。

クリアの指針としては、
最後に1つだけOFFが残ることが多いと思うので、
隅だけ、辺だけ、真ん中だけが残った場合の
クリア方法を覚えておくこと
が肝心です。

ちなみに、全てのボタンはランダムにON/OFFが選ばれるので、
出現するパターンは2の9乗で512通り。
回転/反転を考慮した実質のパターン数は忘れました。
また、512分の1の確率で全てON、
つまり開始直後に成功するパターンも存在しますが、
そこはラッキーだったということでどうかひとつ。

さて、このゲームを作る上で一番大変だったのは言うまでもなくAI。
このAIでは「おえかき」まで巻き込んだアタリ判定を駆使しています。
以下、ON/OFFとはアニメの状態を指し、
オンオフとはスイッチ(内部変数)の状態を指す点に
注意して読んでください。

まず、各ボタンには

①開始時にアニメをONかOFFか2分の1で決定。
②タッチされたとき、自身のスイッチをオンに。
③ギミックとぶつかったとき、アニメをONからOFFへ。
  同時にスイッチオフ
④ギミックとぶつかったとき、アニメをONからOFFへ。
  同時にスイッチオフ

というAIが仕込まれています。
そしてスイッチがオンになったとき、
それにつられてギミックが瞬間移動します。
ギミックであるぶったい「MS①②③」には
以下のようなAIが書かれています。

ギミックの絵は「十字形」。
これでタッチされたボタンだけでなく、
その上下左右のボタンにもアタリ判定を。

①ステージの左上(初期配置)にあるとき、
  「MS④⑤⑥」の近くに瞬間移動。
②ステージの中央(視認領域)にあるとき、ステージ左上に瞬間移動。
③④⑤ボタン1,2,3のスイッチがオンになった時に
    そのボタンの真上に瞬間移動。

この③④⑤の効果により、この物体はボタンのもとまで飛んでいきます。
すると、各ボタンに仕込まれた、ギミックとぶつかった時が発動し、
ボタンのアニメON/OFFを入れ替えることになります。
その後AI②により、ギミック物体は左上に戻ります。

ではAI①は何かと言うと、AI③④⑤の部分では
9つあるスイッチのうち3つしか反応できていません。
そのため、同様の処理を起こす物体があと2つ必要なのですが、
ボタン側がギミックに反応するAI自体も
特定のぶったいにしか反応しないのです。

そこで、3つあるギミック物体が
常に一体となって瞬間移動するようにするために、
ギミック1はギミック2を追いかける、
ギミック2はギミック3を追いかける、
ギミック3はギミック1を追いかける、という状態にしています。
まるでウロボロスの輪みたいなことになっていますが、
これできっちり3者一体で瞬間移動してくれます。

この”ウルボロスの輪”AIを組むことで、AIの行を節約するだけでなく、
ぶったいポイントも節約することに成功しています。
実際問題ぶったいポイントが足りなくて
このAIを組むことになったわけですが。
「MS①②③」は16ポイントのぶったいですが、
「MS④⑤⑥」と「MS⑦⑧⑨」は
1ポイントのぶったいになっていることが確認できるはずです。

さて、完全とは言えませんがここまでで
ボタンのアニメをのON/OFFを切り替えるAIができました。
が、重要な問題が残っています。

それは、成功条件です。
ボタンのスイッチのオンオフ
ギミックを作動させるために使っているので、
成功条件のキーとなるスイッチ判定ができません。
そもそも同時に判定できるスイッチは5つまでなので、
9つのボタンの状態を同時に調べることは困難。

そのために用意されているのが右一列のぶったい
「はんてい①②③」「はんてい④⑤⑥」「はんてい⑦⑧⑨」です。
たとえば「はんてい①②③」にはボタン①②③がONになった時に
ちょうど重なるようにアニメが描かれており、
①②③とすべて同時に重なる(ボタン①②③がすべてONになる)と
自身のスイッチをオンにした上で瞬間移動します。
瞬間移動した先も重要で、今度はボタン①②③のいずれかが
OFFに戻ると接触する位置に配置されています。
今度は①②③いずれかにぶつかったときに初期状態
(①②③のうち少なくとも一つがOFFである状態)に戻されてしまいます。
これをボタン④⑤⑥、⑦⑧⑨にも設定することで
9つのボタンの状態を調べています。

あとは、成功条件に
「はんてい①②③」「はんてい④⑤⑥」「はんてい⑦⑧⑨」の
スイッチが全てオンになった時に成功とする、と書けば完成です。

言葉で説明するのも大変なこのAI、
仕上げるのに1ヶ月以上かかりましたが
それだけの満足感があったことも確か。
気になった方はDLしてみて遊んでみるなりAI覗くなりしてくださいな。
スポンサーサイト

<< 時の最果て | ホーム | Time is fun >>


コメント

コメントの投稿


管理者にだけ表示を許可する

 ホーム 


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。