ざまのエンジニア勉強日記#29
エンジニア採用をしている私が、
エンジニアと話ができるようになるために色々勉強する話。
今回はちょっと番外編的な感じで
Unityを使ってゲームを作ろう!!
ということでやっていきますー。番外編なので、さくっと行くよ。
前置きとしてUnityは会社で使用している技術の1つで、多分ゲーム制作で使用している人がメイン…だと思われる、ゲームエンジン。
AndroidとiOS両方をほぼ同じデザインで作れるのが魅力みたいよ。クロスプラットフォームっていうんだっけ?
で、「Unity 入門」か「Unity 初心者」か、なんかそんな感じで調べて出てきたブロック崩しを作ってみた。
参考記事:今日からはじめるUnity(@nmxiさんという方が投稿されてるQiita)
いやまあ、参考というかこれを全部上から下まで丸写しで作っただけなんだけど。笑
とりあえずGO!!
まずは底面部分から。cube型のクッキー生地をめんぼうで伸ばした結果みたいな形。
cube×4追加して壁ができた。箱っぽさが出てきたね。個人的には、四隅がぴったりそろってないのがちょっと気になるけど、とりあえずいいや。笑
全部白で見にくいけど、プレイヤーが動かすバーとボールも作成。だんだんブロック崩しっぽくなってきた。
白ばっかりで見にくいので、materialを作成して着色。Qiitaの記事ではもう少し色を使ってたけど、ちょっと落ち着いた感じにしたくてこの色で。ここまではプログラミングスキル0でできる。もうこれだけでも楽しくなって来ない?
スクリプトつけていくよ
ここからスクリプトを付けてる。静止画だから、何の話って感じだけど、白い箱が方向キーで左右に動くようになったよの図。笑
言語はC# で全然分からないし、今がっつりやろうと思っている言語でもないのであまり深く考えず、Qiitaの記事からコードそのまま写して動作確認してる感じ。
え、貫通した。笑
どうやらこのスクリプトは方向キーで左右に動くようにはしてるけど、動く範囲の指定はしていないらしい。しかし刺さってる図が面白い。笑
エラー表示。左下にこそっと出てくる。最初気付かなかった。
ボールが動くように。重力の設定とかもできるらしく、すごく細かいところまで作りこめるんだなーと思った。これ無料なんだもんね。すごいよね。
ブロック登場。一気にそれっぽくなった。なんかプレハブっていう仕組み(?)を利用して、スクリプトで作り出しているブロックたち。でも今は当たっても消えない絶対勝てないクソゲー仕様。
ちゃんと消せるようになった、正規(っぽい)仕様。もうほぼ完成じゃない?
他のシーンもつくっちゃお!
スタート画面と結果画面を追加して、スタート画面→プレイ画面→結果画面(ゲームクリアorゲームオーバー)と進んでいくように、どんどんシーンとスクリプトを足していく。
デフォルトで内蔵されてるフォントではしっくりこなかったので、私が好きなフリーフォント突っ込んだ。
ざっと作れたのでデバッグ作業
・・・。
失敗するのは簡単だけど、クリアするのめんどくさい←
下のバーのサイズちょっと短すぎない?
スタート画面で難易度分岐してeasyはバーも長いとかにしたいよね。
製作者だからできるチート作業。笑
これなら放置しておいてもクリアできる…
っておーい!!!笑
(端っこを延々と上下に移動している図)
おーい…
(開始早々底辺を左右に移動し続けている図)
チートしてるのにデバッグ終わらない現象\(^o^)/
まあ、どっちも下のバーに触れるタイミングはあるから、うまく動かせば再度ボールの動きに角度をつけることができるけど、何度もやっているうちに、上の隙間に入り込んでずっと左右に移動していて降りてこないみたいな現象も起きた。こいつは対処のしようがないなって思ったよね。笑
~数分後~
はい、無事にクリアしてクリア画面になりましたー。
地味に時間がかかりましたー。
こっちは失敗した時の画面。
今回は上のメッセージが固定だけど、もっと作りこむならメッセージも背景デザインとかも、もっと細かく分けた方が楽しいよね。
チートでのデバック作業中に、昔実際にやってたブロック崩しを思い出して、10回に1回くらいボールの色が変わって、ブロック貫通してゴリゴリ消してれるモードとか、n回当てないと消えないブロックがあるとかそういう仕様があるとよりゲーム感出ていいなー。
と、まあまだまだ作りこみ度合いでいったら甘々だけど、今回は軽く遊ぶ感じでUnityを使ってブロック崩しを作ってみました!
丸写しっていえば丸写しなんだけど、自分の好きな色に変えたりとか、メッセージの文言を変えたりとかするだけでも初心者としてはとても楽しめた。
今度は2Dの横スクロールゲームとかもやってみたい。
あと、Unityでゲーム以外を作ってる人は何を作ってるのかちょっと調べたら、3DのTwitterみたいなアプリ作ってる人がいて凄っ!!!ってなった。
Unityなんでもできるな。
今日はここまで!寄り道にお付き合いありがとうございました!
今日のポイント
・デバッグのしやすい設計は結構重要
この記事が気に入ったらサポートをしてみませんか?