ボール抽選機でミニゲーム制作


こんにちは、AMGです。
弾幕ゲームの開発を最近行っています。しかし、たまには息抜きがてらミニゲームを制作したいと思います。そこでボール抽選を使った数字当てゲーム、その名も

『ULTIMATE NUMBER』

というタイトル名のゲームを制作していこうと思います。
ミニゲームなので、製品版がそのままこのサイトで遊べる形のゲームです。
またそこまでこだわりがあるというわけでもないので、見た目については悪しからず!
完成したら是非皆さん遊んでいただければと思います!

またこの記事は、メモ書き程度の記事なので、もっとコードをちゃんと書きたい、見たい!と言う方は別の記事でもしかしたらやるかもしれません!


概要

ゲーム名:ULTIMATE NUMBER
Platform:WebGL(PC,モバイルどちらも対応)

※モバイル操作では基本的にサポートがされていないので、メダル数などが管理されません。

ゲーム内容:1~26ある数字ポケットに玉が入ります(10個)
指定された数字にメダルをベットし、見事その数字に玉が入ったらメダルゲット。
メダルを集めても特に意味はないが、最高の暇つぶしボール抽選が楽しめる。


ボール抽選機の作成

本来ならメダルゲームでこれを作成したかったのですが、当時のUnity理解度では到底及びませんでした。
あれから数か月、オブジェクトの使い方や判定処理についてある程度理解できたため、ボール抽選機を作成したいと思います。

回転するポケットの作成をした後に、周りのフィールドを作成していきます。フィールドについては途中で玉が動かなくならないように内側に角度をつけていきます。(イメージは、アリ地獄みたいな感じ。)


ポケット

①円形オブジェクトを26分割します。(別のオブジェクトを使い区切りをつけていきます。)
②判定処理用のオブジェクトを26個作成します。(円形オブジェクトの配下に設定しておくと、一緒に回ります。)
③ポケットを回転させたいので、それ用に回転スクリプトを用意
(テストする際、ボールが1番のポケットに入ったらデバッグで1と表示できるようになったらOK)

外側の土台

①square3Dオブジェクトを用意し、円形状に並べていく(角度を5度で調整)
②外側の土台も回したいので、オブジェクトに先ほどの回転スクリプトをアタッチ


ボールが出るようにする

肝心のボールがなければ何も始まらないので、ボールが出る場所も決めておく。今回はAddforce()を使って、ボールに勢いをつける。
ボールは2秒ごとに生成されるようにする。
生成数が9個になったら生成しないようにスクリプトに記述。


ベットUIの作成

抽選に入る前に、ベットするメダルの数を設定できるようにします。
数字についてはランダムで決まるようにしたいので、それ用にスクリプトを書いていく。
ベット枚数は+10,+100,+1000,All Inの4種類用意。
各ボタンを押すことでベット枚数を決めることが出来ようにする。(入力型でもよかったのだが、やり方が分からずにこういう形に。)
同時に5つの数字を決めることが出来るので、効率よくゲームを進行できるようにしたい。

ベットするメダルを決めるUI
ベットするメダルを決めるUI

とりあえずはこんな感じでしょうか??
見事賭けていた数字にボールが入れば1倍~5倍のメダルを手に入れることが出来ます!また、ゲームオーバーとかは特にないので気軽に楽しんでいただければと思います。
但し、メダル無くなったり、マイナスになるとリセットしないといけないのでお気をつけください!

是非遊んでみてくださいね!
日々、色々な記事を気まぐれに投稿しているのでお時間あれば是非下記の記事も読んでいただけると幸いです!