久しぶりにUnityでゲームを作ってみた
どうも、Linです。ジャイロセンサー、最高。
ここしばらく、プログラミング学習はTECH::CAMPのiPhoneコースで新しいことを学び続けてきました。
がしかし、カリキュラムをただこなすだけでは面白くなく、
自分で自分のアプリを作ってこそ面白いのがプログラミングです。
その「自分で作る楽しさ」を再び味わいたく、一旦、iPhoneアプリの勉強は脇に置いておいて、ある程度作り方がわかってきたUnityでゲームアプリの作成に励みました。
今回作ってみたのは、
DartsQuiz
というダーツのボードの番号の配置を覚えるためのクイズアプリです。
なぜ、DartsQuizを作ったのか?
なぜ、このダーツ勉強アプリを作ってしまったのかというと、ぼく自身、ダーツをプレイして気づきがあったからです。
ダーツでは「ゼロワン」というメジャーなゲームがあり、このゲームは、
ダーツを投げていき、ヒットした番号の数だけ点数を引いていける
というもの。
最終的に持ち点をぴったり0にしたものが勝者となります。
このゼロワンのとき、終盤に得点を微調整して行き、ちょうど0になるように狙っていくのですが、
ダーツボードの点数の配置を覚えているか否か?
でゲーム展開が変わってくるということに気づいたのです。
もし配置を覚えてないと、残りの点数に該当するダーツボードの番号の位置がわからないので、たとえば残りの点数が7のとき、
「あれっ、7ってどこだっけな・・・?」
と一瞬、ダーツボードを睨め回し、7を探さねばなりません。
この動作ははっきり言ってエネルギーの無駄遣いですし気が散ります。
特にダーツはメンタルスポーツとも言われるぐらい繊細で、一瞬の気の緩みがスローの精度を左右することとして知られています。
ただ、ゼロワンを制するためにダーツの点数の配置を覚えたいところですが、
普通に過ごしていては配置はなかなか覚えられない
のが現状なのです。
点数は全部で1~20の20通りありますし、真ん中のブル、そしてクリケットナンバー(15~20)以外は狙うことが少ないので、覚えるチャンスがありませんからね。
このダーツの経験から、
「ダーツの点数の配置を覚えられるクイズアプリを作ったらいいんじゃないか・・・・!?」
と思いつき、DartsQuizというアプリを制作するに至りました。
DartsQuizの遊び方
遊び方は簡単。
まず、ダーツボードの上に1~20のランダムな数が表示されますので、その番号に該当するダーツボードの場所をカーソルで選びます。

もちろん、ボードには番号は一切記載されてないです。クイズですからね。
ここだ!
と思ったところでカーソルを止めて「OK」ボタンをおします。
もし、正解ならば丸印、間違いならばばつ印が出現し、さらに復習できるように番号付きのダーツボードが表示されるようになっています。

正解ならば+20点、誤答ならば-20点、全部で20問のクイズに回答して合計点を競います。マックス200点、ミニマムで-200点ですね。

ゲーム制作の中で学んだこと
このDartsQuizを作る中で、次の4つのことを学びました。
Unityでのフォント変更方法
フォントの変更の仕方を学びました。
UnityでのフォントはArialのみがデフォルトで用意されているので、何もいじらないとArialのアプリが誕生します。
これまで良しとしてきましたが、フォントのスタイル1つでアプリがかっこよく見えるかもしれないと思い、fontの種類を思い切って変更。

意外にも変更方法が簡単でUnity初心者のぼくでもすぐにかえられました。
>>詳しくは「Unityのフォントを追加して変更する方法」
データのセーブ・ロード方法
また、今回はクイズゲームのハイスコアを記録できるように、
PlayerPrefs
というUnityの機能を利用してみました。
ぼくがUnityを勉強したTECH::CAMPでも出てきた気がしましたが、ちゃんとマスターした訳ではなかったので、ここでもう一度学び直し。
「Unityの寺子屋」という教科書の助けも借りて、なんとかPlayerPrefsの使い方をマスターし、それを使ってベストスコアの記録に成功しました。
>>詳しくは「PlayerPrefsの使い方」へ
広告挿入
もう1つやって見たかったのが広告挿入。
ゲームを作るからには収益をあげるのが製作者の夢です。
DartsQuizというアプリははっきり言って簡素で需要がなく、ミリオンヒットする気配はありません。
が、せっかくなので今後の将来のためにこのアプリで広告挿入のノウハウを学ぶことを決意。
Unity公式の広告の「Unity Ads」の導入に成功し、ゲーム終了してQuitボタンを押したら動画広告が流れるように実装してみました。
Unity Adsの導入は意外にも簡単で、3分ぐらいできたのでよかったです。
>>詳しくは「Unity Adsの使い方」へ
スマホを振動させる方法
Unityのゲームに実装してみたかったのが、
スマホを振動させる
という機能です。
キャラクターがダメージを受けたり、クリアしたりするとスマホが振動するゲームが多数見受けれますのでその真似をしたかったのです笑
今回、DartsQuizでは、
回答を間違えてしまった時
にスマホを振動させるようにしてみました。
これにより、誤答した時の悔しさを煽ることができていると思います。
>>詳しくは「Unityのゲームを振動させる方法」へ
苦戦したこと
もっとも苦戦したのが、
ダーツの細かい場所をどうやって選択してもらうか?
ということでした。
はじめ考えていた構想では、
該当する番号のダーツボードのパーツをタップする
という方法でしたが、これでは次の問題が発生↓
- 各ナンバーが密集しすぎて番号を判別できなさそう
- あるimageの特定の場所をタップしたことを認識させるコードの書き方がわからない笑
この問題は手強く、そしてだるそうだったので代替案として、
カーソルでダーツのボードの場所を選択する
というように変更しました。
そして、このカーソルを動かすボタンを「NEXT」と「BACK」の2種類配置。
カーソルを動かして特定の場所を示せるようになったので、ようやくこのゲームの完成が現実味を帯びるようになりました。
と、まあこんな感じでDartsQuizというクイズアプリを作ってみたので、ダーツ好きの方はよかったら使ってみてください笑
それでは!
Lin

おそらく、ブロガー。現在ホテル暮らしで全国フラフラしています。
ネット広告代理店に1年3ヶ月勤め上げ、独立をして丸4年が経ちました。今年でフリーランス 5年目。
質問・ご意見・相談があればLINEで受け付けていますのでお気軽にどうぞ 。
コメントを残す