近年は、優秀な入門者向けの書籍やWebのチュートリアルがたくさんあります。書いてあることを実践すればゲームを作ることができます。そのまま自分で考えたオリジナルのゲームを作れるようになる人もいます。しかし、書籍のとおりのゲームは作れたものの自分で考えたゲームを作る方法がわからない、という人もいることでしょう。本書はそのような人に向けて執筆しました。
ゲームの企画から完成させるまでの流れが知りたい、他の人の開発事例を知りたい、設計の練習台になる企画案や要件が欲しいという方にも役立つと考えています。
本書では、オリジナルのパズルゲームに登場する6つのブロックの開発事例を紹介します。企画を思いついてから形にするまでの流れと作業内容を切れ目なくお示しして、アイディアを形にするまでの流れや作業量の把握と、設計を学ぶための経験の足しにしていただくことが狙いです。
手取り足取り操作を指示して手を動かしてみましょう、という内容ではありません。また、お手本や正解を示すものでもありません。開発手法や考え方の一例を示すものです。使えるものがあれば取り入れて、違和感があるものは改良の題材にするなどして、自由にご活用いただければ幸いです。
本書を購入したけどまだ一本もゲームを完成させたことがないしUnityの使い方も怪しいという方には、ネコ本と呼ばれている次の書籍の最新版をおススメします。
北村愛実. Unityの教科書 Unity 2023完全対応版. SBクリエイティブ. 2023年
ネコ本には初心者に必要なあらゆる情報が詰まっています。熟読して掲載されているゲームをすべて完成させて、自分なりに改造をすれば大きな力になります。
本書がお役に立てば幸いです。本書の出版に関わってくださった方々、そして本書をお手に取って下さった方々に深く感謝いたします。
本書の元となる同人誌初版は、2023年11月に開催された技術書典15で発行されました。同人誌では諸々の都合(主に印刷代)で細かい補足や設計に関する章を削除しました。本書を出す機会をいただけたことでそれらを復活させて、付録を充実させることができました。この機会をいただいたことに感謝いたします。
たなかゆう
2024/3
Unity2022.3.10f1 / Windows10
本書に記載されている会社名、製品名などは、一般に各社の登録商標または商標、商品名です。会社名、製品名については、本文中では©、®、™マークなどは表示していません。
本書に記載された内容は、情報の提供のみを目的としています。したがって、本書を用いた開発、製作、運用は、必ずご自身の責任と判断によって行ってください。これらの情報による開発、製作、運用の結果について、著者はいかなる責任も負いません。
Voxelorer Birdひよこ編のUnityプロジェクトをダウンロードして、開いて遊んでみましょう。また、テストを実行して動作を確認します。
「ボクセル(Voxel)の世界を探検(Explorer)する鳥(Bird)」でVoxelorer Birdです。ブロックを押してゴールまでの道を作るパズルゲームです。
2018年9月に開催されたUnity1週間ゲームジャム1「あつい」に投稿した溶岩番2が元祖です。名前のとおり、基本的なルールや遊び方は倉庫番3がモデルで、クリア条件が変わっています。深く考えずに作ったので、溶岩の何を番してるのか自分でもわかってませんf^^;その年の秋に当選していたデジゲー博へ出展するために、設定などを再構築した企画がVoxelorer Birdです。
広告を掲載する方向で開発を進めていましたが、規約表示のわずらわしさや低年齢層向けの公開の難しさが気になっていました。ふと、アプリはプロジェクトごと無料で公開して、解説本を販売することが思い浮かびました。それが本書とひよこ編です。
本プロジェクトに含まれているリソースやソースコードはCC04やSIL Open Font License5、MIT Licenseなどの再配布や改変、販売が可能なものです。これらを土台にして読者の皆様がご自身のストーリーやキャラクター、仕掛けを盛り込んだゲームを完成させて販売できます。著者自身もストーリーや仕掛けを大量に盛り込んだ有料版を開発する予定です。ゲームの「ひよこ」のプロジェクトという訳です。
Unity2022LTS以降が対象です。本書はWindows10上で動作するUnity2022.3.10f1での操作を収録しています。
GitHubから自家製パッケージをインストールするために、Gitのコマンドラインツールが必要です。インストールされているかの確認とインストールの簡単な手順です。
1.スタートメニューをクリックして、cmdと入力してコマンド プロンプトを起動します
2.コマンドラインにgit --versionと入力して、Enterキーを押します
gitのバージョンが表示されたら、インストールされているので先に進んでください。図1.2のようなメッセージが表示されたら、インストールされていないのでインストールします。
1.Webブラウザーでhttps://git-scm.com/を開きます
2.ページが開いたらDownloadsをクリックします
3.Downloadsと書いてある下に並んでいるOSから使用しているものをクリックします
4.Click here to downloadのリンクをクリックしてインストーラーをダウンロードします
5.ダウンロードしたインストーラーを起動します
6.表示される項目はすべてデフォルトのままでインストールを完了します
先に開いたコマンドプロンプトを閉じてから開き直してください。git --versionと入力してEnterキーを押して、バージョンが表示されたらインストール完了です。
Voxelorer Birdひよこ編のUnityプロジェクトはGitHubで公開しています。
Gitを使える方は任意の場所にクローンしてください。以下はGitを使っていない人向けの簡易な入手方法です。
1.Webブラウザーでhttps://github.com/am1tanaka/VBirdHiyokoを開きます
2.緑色のCodeボタンをクリックして、Download ZIPをクリックします
3.VBirdHiyoko-main.zipがダウンロードできたら、Unityプロジェクトを置きたいフォルダーへ移動します
4.VBirdHiyoko-main.zipを展開します
5.Unity Hubを起動します
6.展開したVBirdHiyoko-mainフォルダーを開きます
Unity2022LTS以降であれば開けるはずです。違うバージョンで開くときには、変換してよいかを確認するダイアログが表示されるので、変換して開いてください。
このプロジェクトはSystemシーンから起動します。
1.ProjectウィンドウからAssets > AM1 > VBirdHiyoko > Scenesの順にフォルダーを開きます
2.Systemシーンをダブルクリックして開きます
はじめて起動するときは、TextMesh Proのアセットのインポートが必要です。EssentialsとExamples & Extrasのふたつのアセットをインポートします。
1.Import TMP Essentialsのボタンをクリックします
2.インポートが完了したら、Import TMP Examples & Extrasボタンが押せるようになります。クリックして追加アセットもインポートします
3.インポートが完了したらインポートダイアログを閉じます
Systemシーンが開いたら、Playをクリックしてください。ゲームが始まります。
マウスかタッチスクリーンで操作します。行きたい場所をクリックやタップすると移動します。ブロックを押したいときは、動かしたいブロックの隣に行ってからそのブロックをクリックかタップします。
遊び方はゲーム内でセリフ表示します。とりあえず遊んでクリアしてみてください!
クリアできたでしょうか。テストランナーを実行するとエンディングが表示されるので、ネタバレが嫌な方は先にクリアしてください。
1人で開発しているとテストプレイが大変です。ブロックの細かい振る舞いを確認したり、タイミングのチェックをしたり、修正した箇所が他の部分に悪影響を与えていないかなど、手動で試していたら面倒で仕方がありません。そこで、Unityに組み込まれているテストランナーで簡単なテストを用意しています。次の手順で試してみてください。
1.UnityのWindowメニューからGeneral > Test Runner を選択します
2.Test Runnerダイアログが表示されたら、上にあるPlayModeボタンをクリックします
3.Run Allをクリックします
これでテストが始まります。シーンの切り替えや内部処理、ブロックを押す処理、履歴システムなどを実行していきます。問題がなければ、すべてのテスト項目に緑色のチェックが表示されます(図1.3)。
不具合を見つけたら、GitHubのIssuesからご報告いただけると助かります。
プロジェクトをGitHubからダウンロードしてUnityで開きました。起動シーンであるSystemシーンを開いてPlayすると遊ぶことができます。もちろんビルドもできます。最後にテストランナーで自動テストを実行しました。
ゲームをエディター上で遊びながらHierarchyウィンドウを観察すれば、ゲームの構造を知ることができます。本プロジェクトはSystemシーンが常駐して、複数のシーンを読み込んで動作するマルチシーン構成です。
実行したゲームが今回の本で解説したいゴールです。このゴールにたどり着くまでに作成した資料や考えたこと、コードの中身について解説をしていきます。