作りたくなる
ここしばらく時間的な余裕が無くてあまり遊べていなかったのですけど、そんな余裕がない中でも私は常に遊びたい気持ちがあるわけでして、その一つとしてニンテンドーラボも常に遊びたかったのです。
ニンテンドーラボでこういうのも作れるかな……と思いをはせながら生きてきた私ですが、やっと作成に至ったのがこちらの「全日本福引き選手権」というゲームです。
私は年末年始によくある、「○○円以上買ったら1回抽選!」みたいな福引きが大好きでして、あれをやりたくてしょうがないのです。当たったことは一切ありませんけども。
ただ、この世の中なので今シーズンはそういったイベントも見かけませんでした。
というわけで、それをやるゲームを作ろうとした次第です。
ルールはこの動画の中にある通りですが、次のようになっています。
- 100回抽選するまでの時間を競う。
- 1等(赤)または2等(青)が出たら、ベルを一定の回数鳴らさなければならない。
- 1等(赤)または2等(青)が出たのにベルを鳴らさないとゲームオーバーになる。(反則「トラベリング」)
- ハズレ(白)なのに鳴らすとゲームオーバーになる。(反則「近所迷惑」)
抽選機の作り方のメモ
このゲームを作るにあたっては、この福引きの機械(抽選機)を作れるかどうかがポイントだと考えました。
Joy-Conで抽選機のつまみを持って回せるような動きの実現。
それさえできれば後はなんとかなるかなと思いました。
そんな抽選機を作るにあたっては、まずは中心になるところに直方体を固定しました。
これを中心にクルクル回るのですが、ということは直方体ではなく円柱を横にしたものを使った方が一見よさそうです。
しかし、円柱を横に倒すとそれに他のモノを連結するときにXYZの軸がどっち向いているか混乱しやすくなります。(私は)
そこで直方体をそのまま回転させずに使うと、ワールドのXYZ軸と同じ軸で考えられるので楽なのです。
なので、今回は直方体を置いて当たり判定なしにして、さらに後で見えないようにして作っていきます。
最後にこの直方体の場所に、当たり判定のない円柱をにつければあたかも中心に円柱がささっているかのように見えます。
というわけで、とりあえずこれに白い直方体をヒンジ連結しつつ、右手を使えるようにしてみました。
が、この時点で白い直方体のところをつかんでも回らないのですね。
どうも直方体の端だけをつかんでいるというのではなく、直方体全体をがっしりつかんでいるような状態になるようです。
なので、これにさらにヒンジ連結でつまみとしての円柱をつなげたら、これをつかむことでクルクル回るようになりました。
とりあえず回る仕組みはこれでよさそう!ということで、抽選機の見た目を作ります。
まずは白い直方体を見えなくしてしまってそれよりも一回り大きい直方体を連結しました。
あとは、抽選機を八角形にしたいので今のを含めて合計で4つの直方体を連結します。
プログラムの画面的にはざっくりこういう感じです。
で、それっぽいのが出来上がりました。
よく見ると、角のところがうまくつながっていないところもありますけども、おそらく斜め45度での連結を実現するために、「0.12」という定数を使っているからかなと思います。
360度=1なので45度は本当は0.125なのですけど、桁数の関係で0.12にしていてこれが影響したと思います。
とはいえ、そんなに気にもならないのでおいといて、続いて玉の出口のところに円柱で連結してそれっぽくしました。
ここには「モノを発射(100コ)」をつないでおいて、球が生まれるようにしています。発射スピードはゼロにしてポタリと落ちるようにしています。
ここで、発射口の横に「サイコロ」を連結しておいたところ、玉がいい感じにぶつかってくれるので抽選機の回転速度に応じて玉がいい感じに飛び出すような雰囲気になりました。
サイコロは最終的には見えない設定にしておきます。
なお、ここはサイコロではなくて直方体を使っても実現できますが、サイコロに反応する「さわったセンサー」を抽選機の下に置いておくことで発射口が下に来た時に玉が出るというのを実現できます。
直方体だと、抽選機に使った黄色の直方体がさわったセンサーに触れて反応してしまう可能性があるのでその対策です。
なお、抽選機の上にもさわったセンサーをおいておき、上にいったらカウンターを1にして、下に来たら球を1個出すとともにカウンターを0にリセットする、という形にすることで発射口を下にするだけで回していないのに玉が出まくるということを防いでいます。
あとは肉付け
今「肉付け」と書いたら肉まんが食べたくなってきたのですけども、それはさておき、抽選機ができたらあとはあちこちゲームっぽくしていこうという感じでやりました。
抽選機の土台を作ったり、玉数のカウンターを付けたり、左手にベル(円柱をいくつか連結したもの)を持たせたり、タイマーを付けたり(なるべく1秒に近い間隔でカウントされるように調整)です。
あとは、ハズレ(白)の「モノを発射(100個)」と同じところにさらに「モノを発射(10個)」を連結しておいて、ゲーム開始時に決まるランダムな5個の数字と同じ回数の時は2等(青)が出るようにしたりしました。あと、100回目は1等(赤)を出します。
で、ここまでで作ろうとしていたものは出来上がったのですけども、華やかさが欲しくなってきたので景品(マグロ)を出したりしました。
マグロは画面外にスタンバイさせておいて、当選したときにワープ(&発射)させています。
ついでに画面左側が寂しいので景品のボードを立てたりしました。
この時点で、当選したらベルを鳴らすまでは抽選機を回しても次の玉が出ないしくみになっていたのですが、常に左手でベルを鳴らしまくりながら右手をクルクル回していればそのうちクリアしてしまうということに気付いたので反則によるゲームオーバーを導入しました。
そのような感じで出来上がりましたが、わけわからんゲームですね。
しかしそういうわけわからんゲームも作ってもいいのがニンテンドーラボの楽しいところです。
自分の好きなように作ればいいんです。
まとめ
そんなわけで、また今回も楽しんでしまったわけですが、やっぱりゲームを作ったからには誰かに遊んでほしいという気持ちが湧いてきます。
今の世の中、人を呼んで遊ぶというのもはばかられますしそもそも呼ぶ人がいないので、マリオメーカーみたいにネットで誰かに遊んでもらうみたいな仕組みがあればもっと楽しくなるかなと思っています。
おわり。
コメント