ダーツの点数の配置を暗記できるDartsQuizをUnityで作ってみた話

Sponsored Link


久しぶりにUnityでゲームを作ってみた

どうも、Linです。ジャイロセンサー、最高。

 

ここしばらく、プログラミング学習はTECH::CAMPのiPhoneコースで新しいことを学び続けてきました。

がしかし、カリキュラムをただこなすだけでは面白くなく、

自分で自分のアプリを作ってこそ面白いのがプログラミングです。

 

その「自分で作る楽しさ」を再び味わいたく、一旦、iPhoneアプリの勉強は脇に置いておいて、ある程度作り方がわかってきたUnityでゲームアプリの作成に励みました。

 

今回作ってみたのは、

DartsQuiz

というダーツのボードの番号の配置を覚えるためのクイズアプリです。

DartsQuiz

DartsQuiz
posted withアプリーチ

 

なぜ、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というクイズアプリを作ってみたので、ダーツ好きの方はよかったら使ってみてください笑

DartsQuiz

DartsQuiz
posted withアプリーチ

 

それでは!

Lin

飯橋凛(Ihashi Lin)

新卒で入ったネット広告代理店を1年半で退職。
その後、副業として活動していたウェブメディア運営のフリーランスへ。
現在はプログラミングの勉強に励み、0からフリーエンジニアの道を目指す。最近はキムチをまとめ買いしている


Sponsored Link

コメントはこちらからお願いします!



もう1本読んでみる