【第29回Ex】作成したゲームをAndroid向けにビルドするUnityチュートリアル
単純な斜方投射を拡張し、ゴルフのようなゲームを作るチュートリアルです。このページではAndoridの端末向けにゲームをビルドする方法を紹介します。普段使っているスマホの中で自分のアプリが動いている姿を見るのはとてもテンションが上がるものです。
あなたのゲームをいち早く完成させるための研究所
単純な斜方投射を拡張し、ゴルフのようなゲームを作るチュートリアルです。このページではAndoridの端末向けにゲームをビルドする方法を紹介します。普段使っているスマホの中で自分のアプリが動いている姿を見るのはとてもテンションが上がるものです。
「ここは大丈夫だろう」と思っているようなところに限ってバグが見つかったりします。大丈夫そうに見えるところこそ、正常な操作とは別にボタンを連打してみるなどの変な操作もしてみましょう。自分のゲームの穴をついて裏技を見つけるくらいの勢いで試すことで、事前にバグを発見できる可能性も上がります。
たとえ小さな成功体験であっても、それが積み重なれば「自分には課題を解決する力がある」と自分を信じられるようになります。この小さな成功体験を積み重ねるための課題を提供しているのがゲームの役割です。ともすれば無駄と言われがちなゲームですが、人の役に立っている部分にも注目していきます。
気持ちがタイトルに溢れてしまいました。自分で作ったものを見てもらえるというのはゲーム開発者を含むクリエイターとして嬉しいものです。せっかく自分のブログがあるので作ったものを見て欲しいと思い立ち、ボクセルアートで作った武蔵小金井駅を様々なアングルから撮影した画像をこれでもかと並べている記事がこちらになります。
Unity2020.1ではPackageManagerの一覧に表示されるパッケージが整理されたこともあり、プレビュー版のUnity Recorderについては表示方法がちょっと変わっていました。PackageManager内で表示の設定を行うのではなくProjectSettingsで設定を行うので、Unity2019.4などを使い慣れている場合はちょっと戸惑うかも。
UnityではCinemachineを使うことで映像表現の幅が広がります。正直に言えば学習コストは少なくないですが、その投資の効果は大きいものなので週末などにちょっとずつ進めていくと映像表現の面白さに触れることができます。
技術や知識に関する情報を得る際には、ある言葉を言ったり思ったりすることで途端に情報が入ってこなくなります。インプットを行うべきタイミングなのに、頭ではアウトプットのモードになってしまって、本来得られるはずの情報を取りこぼしてしまうこともあります。
バグが見つかった部分の処理を直しても、再度同じようなバグが見つかることがあります。これは根本原因までたどり着いていないことからバグが再度発生しちゃう可能性があるんですよね。バグの発生原因を論理的に説明できるようになると根本原因を見つけやすくなるので、なぜこのバグが発生しているのかを深掘りして原因を考えることも大切です。
バグが発生した、あるいはバグが発生すると報告を受けた場合は、そのバグの再現方法を見つけることが大切です。どのような状況で、どのような手順でバグが発生するのかが明確になれば解決方法を見つけやすくなります。再現方法を見つける際にはいくつか仮説を立てて検証していくと絞り込みができます。
一度に複数のことができている姿はスマートに見えますが、効率で見ると実はそんなに……ということもあるので、可能な限り一度にひとつの目標に取り組むのが望ましいです。個人開発者の場合は目標ごとにスモールプロジェクトを作るくらいでも良いかも。
Editor拡張を使って自分が使いやすいようにカスタマイズしたウィンドウを作ることができます。例えば自分で作成したScriptableObjectのデータを一覧表示するなどのカスタマイズが便利かもしれません。ここでは簡単にウィンドウを表示するサンプルを紹介しています。
ゲーム内で自分が選択できることが少ないと、「なんだか遊ばされてるなぁ」と不満を持つことがある私にとって、このやらされ感をなくすのは大きな命題。なるべくプレイヤーが自分の選択に基づいてある程度自由に遊べる形のゲームを作りたいなぁ(願望)
プログラムがエラーの情報を出してくれるということは、直すための手がかりがあるということです。なので、エラーを検知して、検知した結果システム的に回復可能ならエラーハンドリングのための処理を行う、無理ならエラーの状況を人間が検知できるようにする、といったことを考えておく必要があります。
最初に作った「SceneManager」や「PlayerController」やらのクラスにどんどん機能を追加していってしまうのは多くの人が経験したことがあるんじゃないでしょうかね。クラスが肥大化すると読みにくくなってメンテナンスが大変なので、適切に分割することを考えましょう。
Unityを使い始めてある程度開発にも慣れてきたらUMLを使って処理の設計を行ってみるとコーディングがしやすくなります。UMLの表現方法を覚えるのはちょっと大変かもしれないので全部を覚える必要はありませんが、クラス図、シーケンス図、アクティビティ図あたりは使えると便利です。
ゲーム作りもシステム開発の一環なのでテストが大切です。ユーザーさんに遊んでもらう時にはなるべく快適に遊んでもらいたいですからね。ただ個人開発でテストが大変であるのも事実なので、その理由と対応策を考えてまとめています。
ゲーム開発を含めたITの世界ではカタカナ語を使うことが多いので、日本語に訳して意味を把握することが大切です。このとき、複数の意味が込められていることがあるので、それらも把握しておきましょう。
ちょっと気を抜いたような記事ですが、ゲーム開発を楽しむことに重きをおいても良い点について触れています。楽しいから続ける、続けるから技術も身についていく、技術も高まってたくさんゲームを作れる、と良いサイクルを生み出しましょう。
リフレッシュしている時間は決して無駄ではなく、思考を前に進めるために必要な時間です。もちろん、その前段階として思いっきり頭を悩ませている時間があってのことですが、一息つくことはとても大切なんです。
この記事は創作活動をしているあなたに向けた応援メッセージです。作品が完成するまでの間は辛いことも多いですが、そもそもすごいことをしているんだ! と自分を励ますことも大切です。