2024年度版に向けて
この記事は、2020年に作成した記事の更新版となります。
この4年でUnity側もURLやHDRPなどの高機能化、ShaderGraphやVFX、VisualScripitingなどのビジュアライズなどの機能追加がされてきています。
ですが、ここではUnityの使い方というよりも、初心者がゲーム制作をUnityで行っていくための情報を書籍を中心に、編集しなおしました。
はじめに
Unityの書籍紹介は色々ありますが、初学者が「一通り読んで学んだ。その先に何ををすればいいのか」という疑問を持ったときに幅広くまとめている記事はあまり見かけません。
Life is Tech ! のCampやSchoolにて、中高生という初学者と日々コミュニケーションをし、彼らが上級者になるまでのサポートを行っているので、その道のりに近いように構成を作成しています。
読む上での注意
基本的には、やっと中級にやってきた筆者がこれまで読んできた書籍が中心です。
上級向けとして、ゲームエンジンのアーキテクチャや、ゲームエンジンに頼らない実力が必要と考えている方もいるかもしれませんが、対象から外れています。
また、個人の好みによって同系統の別の方がおすすめ、ということもあるかと思います。
そして著者が読んでいないUnity本も数多あります。
「この場合はこの書籍がおすすめ」 ということがあればぜひコメント欄で教えて下さい。
また、書籍画像とリンクはAmazonサイトから主に引用しています。
対象者
-
初学者:これからUnityを覚えたい!プログラミングを学んでみたい!という人
- いわゆるプログラミング初心者
-
中級者:Unityの基本的な動作は覚えられた。ゲームを作ってみた人
- ゲームは作ってみてからの伸びしろが大きいですよね!
-
上級者:自分で1つのゲームはすらすら作れるようになって、さらにレベルアップしたい人
- いわゆるデザイン領域もこのあたりから入ってくるのですが、1人で作ることを今回は想定しています
初学者から中級者
初学者から中級者までは一直線に駆け抜けていきましょう!
初学者向け(Unityとプログラミングの基本)
いわゆる初心者向けまとめ記事では、この入門教科書を色々紹介してくれていることが多いのですが、
初心者にとって大事なことは、様々な参考書使うより1冊を信じてしっかりやり遂げることだと思っています。
その思いを信じて、今回は思い切って1つのみしか紹介しません!
Unityの教科書 Unity 6完全対応版
いわゆる「ねこの本」です。
2Dの内容が多めとなっているが、基本的なUnityの操作からプログラミングまでを覚えることができる。
とくにいいな、この本を紹介したいなと思ったのが、ゲームの作り方を簡潔に説明している点。
わかりやすいゲームでのアクションのギミックだけでなく、「監督役、工場」などのわかりやすい単語で、
ゲームを管理する役割までを説明されている点は、自分が人に教えるときに見習いたいと思っています。
中級者向け(1冊を信じてやり遂げた人に贈るもう1冊)
初学者向けよりは詳しく記載されているが、UnityやC#についての基本から一気通貫で網羅している書籍をもう一度やりましょう。
いわゆる「強くてニューゲーム」です。ここでの一冊目は著者がまさにUnityを勉強し直すときに信じてやり遂げた書籍から紹介します。
Unity2021 3D/2Dゲーム開発実践入門
少し古い本になってしまったのですが、初級者と似たような内容をより洗練されたロジックで作る方法を知ることができます。
GI(グローバルイルミネーション)など演出の部分はUnityの機能が向上しているので流し見する程度にすることが必要です。
それを差し置いても、もう一冊基本から初めて、だけど基本だけじゃなく更にゲームを作るための方法を学ぶことができる素晴らしい書籍だと思っています。
中級者から上級者になるための三種の神器!
さてさて、 「それでは上級編!」 といきたいところですが、
Unityは、そしてゲームづくりというものは、とても奥が深いのです。
そのため、もう少しだけ、ゆっくりしっかりとレベルアップをしていきましょう!
それぞれ、下記で紹介する上級向けのジャンルを代表する書籍です。
まずは、この3種類の方向性に進んでいきましょう。
-
Unityの幅広さを知る:「Unityデザイナーズバイブル」
- まずは、Unityでできる表現の幅広さを体験してみましょう!
- UIの作り方の記事もあるのでおすすめです
- プログラミング寄りが好みなら、プログラミングバイブルもOKです
- まずは、Unityでできる表現の幅広さを体験してみましょう!
-
プログラミング理解のためにC#を学ぶ:「なるほどなっとくC#入門」
- 特にプログラミングも一緒に始めたという人に向けておすすめです。
- UnityとC#を分けて考えられるようになりましょう!
-
「気持ちいい」から考えるゲームアイデア講座
- 理論の体型より具体的な例を重視してこちらを紹介します
- まずは、自分の作ったゲームを面白くする手法を学んでみましょう
中級者になったら見た目にもこだわる!
実践ゲームUIデザイン コンセプト策定から実装のコツまで
Unityだけに限らず、ゲームUIについての書籍がずっとなかったのですが、この一冊が生まれたことで、デザイン面をしっかり学ぶことができるようになりました。
動画コンテンツで一流の考え方を知る:桜井政博のゲーム作るには
言わずと知れたゲームクリエイター、桜井政博さんのゲームコンテンツは中級者になるのであれば外せません。
様々な動画があるので、詳しくは実際のチャンネルや別のまとめに譲りますが、チャンネルの目指すところ、そしてリスクリターンについてを紹介します。
上級者向け
上級編からは、様々なジャンルに分かれて様々な書籍があります。
この記事では、筆者の考えから学びやすいだろうという順番に並べていますが、本質的に順番はないと考えています。
順番を来にせず、興味があるジャンルから学んでいってください。
そして…ここからは遠慮なく物量作戦です。
後半の分量の多さにびっくりさせてしまったかもしれません。
それだけゲームづくりとは複合的で総合的なモノづくりだと思っています。
だからこそ創ることが面白いのです。
それでは上級者への道のりを覗いてみましょう!
ゲームメカニクス
ゲームメカニクスというのは幅広く様々なな意味を持つ単語なのですが、ここでは主にプログラミングやUnityでの操作を多く含む
ゲームの仕組みづくりというものをゲームメカニクスと表しています。
Unityゲーム プログラミング・バイブル 2nd GENERATION
Unity2020までで、できることを利用した、まさに機能のバイブル。
章ごとに完結しているので、気になった技術から試すことができます。使ったことがない機能を使ってみるという点でもおすすめ。
ただ、Unityは最近の進化が早いので、Unity標準でできることがAssetで紹介されていたりするものもあります(Anima2Dなど)。
ただ、3年前だということを差し引いても網羅性が素晴らしいので、やりたいことがあったらまずこの本から探してみることをオススメします。
Unity デザイナーズバイブル ReBoot
プログラミングバイブルが出版されたときの感想は上記の説明に加えて実は、「ProBuilderなどデザイナー向けツールの解析書籍があればベストだった。」と思っていました。
が、まさにそのような声に応えるようなカタチで出版されたプログラミング・バイブルの姉妹編が出版されました!
デザイナーと名前にあるように、プログラマーだけじゃなく幅広い人にUnityの使い方を紹介してくれています。
Photoshop作成素材のUnityへのインポート方法などUnity内ではなく、ゲーム制作のための書籍となっています。
ゲームメカニクスの作り方を学ぶ
Unityを利用して、様々なゲームサンプルのメカニクスやアルゴリズムを学ぶ書籍があまり世の中に見受けられない印象です。
著者が知らないだけで、オススメがあれば教えてください。
[参考に変更]ゲームの作り方 改訂版 Unityで覚える遊びのアルゴリズム
ゲームの作り方 改訂版 Unityで覚える遊びのアルゴリズム
そろそろ、Unityの基本だけではなく、ゲームメカニクスの作り方も気になってきます。
実際ありそうなゲームサンプルにて以下のようなの実現方法を学ぶことができます。
- タッチ操作
- 迷路のCSVファイル管理
- 複数カメラの利用
- ミスタードリラー的ブロックゲーム
- シューティングのロックオン管理
サンプル的な意味合いが強いので、考え方を理解して自分で作ってみることをおすすめします!
ゲームデザイン
こちらでは、ゲームメカニクスに比べ、ゲームという仕組みそのものを面白くするための書籍を紹介します。
ゲームデザインという言葉はいろいろな使われ方をしますが、ここではまずはゲームをより面白くするためのゲーム全体の仕組みと考えてみてください。
ゲームデザインバイブル
これまで、ゲームデザインを学びたいというときに紹介する本は迷っていることが多かったです。
ゼビウスの遠藤さんによるゲームデザイン講義実況中継や、オライリーによるレベルアップのゲームデザインなどを伝えてきましたが、2019年についにこの書籍が紹介されました。
バイブルという名前の通り、網羅的にゲームデザインとは何かを考えることができるので
「気持ちいい」から考えるゲームアイデア講座
この後出てくる、リーダブルコードの部分でも触れているのですが、日本の書籍と海外の書籍は、本というものの作り方が少し違うなぁと感じる時があります。
これは個人的な意見なのですが、日本の書籍の方がよりストーリー的でリスト的で、より具体的な印象を受けます。
ゲームデザインバイブルはシステマチックすぎるなぁと感じた人には、こちらの書籍を読んでみることをおすすめします。
後半にある実際のゲーム企画書をレビューしブラッシュアップする「ゲームアイデアの傾向と対策」は、自分の企画を見直す機会にもなるので必見です。
3Dゲームをおもしろくする技術 実例から解き明かすゲームメカニクス・レベルデザイン・カメラのノウハウ
こちらの本には、プログラミングは一切出てきません。
ただひたすらにデジタルゲームをゲーム設計としてのメカニクス(格闘ゲームのタイミング設計など)、レベルデザイン、カメラテクニックなどから
分析しています。このような書籍が他にないからこそ、そして実際のゲームが題材だからこそ自分のゲーム体験を省みることにも繋がります。
ゲームメカニクス大全 第2版
ゲームという長い歴史の中で、デジタルゲームが生まれたのはほんの最近に過ぎません。
ゲームというものは、テーブルゲーム、ボードゲームと一緒に発展してきました。
この本では、そのようないわゆるアナログゲームに現れるメカニクスを網羅し分類に挑戦しているという意欲的な一冊です。
おもしろいゲームシナリオの作り方 ―41の人気ゲームに学ぶ企画構成テクニック
ゲームデザインの中には、もちろんゲームのフィクションというものも含まれます。
この本は、その中でもゲームシナリオだけに注目している本です。
しかし、この中で出てくるヒーローズジャーニーという考え方は確実に学びにつながるのでそこだけでも読む価値があります。
そして、本当に様々な面白いゲームの面白いシナリオを紹介してくれるのであなたのインプットも広げてくれることでしょう。
ゲームデザインについてその他の書籍
まだまだ紹介したい本はたくさんあるぐらい、ゲームデザインとは奥深いのですが一旦ここまで。
プログラミングとして、C#を学ぶ
プログラミングは、深く知れば知るほど面白い世界です。
一緒にC#という言語と考え方を知っていきましょう。
新・標準プログラマーズライブラリ なるほどなっとく C#入門
スラスラわかるC#
前述のなるほどなっとくなどで、クラスやポリモーフィズムなどを理解したら、もう少し深くC#について学んでみましょう。
匿名関数やデリゲートなど、プロパティなど、もう少し深ぼってC#を改めて知ること画できます。
[改訂新版]実戦で役立つ C#プログラミングのイディオム/定石&パターン
上記2冊でC#という言語を学んだら、一歩進んだC#の書き方を身に着けましょう。 ゲーム制作のための書籍ではないのですが、C#らしいコードを学ぶことができます。UniRx/UniTask完全理解 より高度なUnity C#プログラミング
上級以上のレベルになってしまうと思われますが、ゲーム制作で非常に便利な考え方はリアクティブプログラミングです。
Unityでは、実質的にUniRXが当てはまります。さらには、C#のTaskをUnity向けに拡張されたUniTaskについても合わせられた、とりすーぷ先生の書籍も紹介されてください。
(筆者もこれから読んで、まずは完全理解したと言えるようにがんばります。)
ルールズ・オブ・プログラミング ―より良いコードを書くための21のルール
コーディング一般
ゲームプログラマのためのコーディング技術
そろそろ、コードが煩雑になってきて管理が難しくなってくる頃。
リーダブルコードももちろんおすすめだけど、こちらのほうが実践的内容から始めるので初学者にはわかりやすいと考えています。
(また、リーダブルコードはTHEアメリカン書籍という体裁なため、普段本を読まない日本系の方だと読みづらいのではないかとも感じています。)
この本では、命名の原則からオブジェクト指向のクラス設計などまで、実践的にプログラミングの設計を学ぶことができます。
特にゲーム制作に役立つ形でのSOLID原則のわかりやすい説明は多くの方に紹介したいです。
プリンシプル オブ プログラミング3年目までに身につけたい一生役立つ101の原理原則
KISS?DRY?SOLID?YAGNI?疎結合??
などなどプログラミングを調べていると出てくる様々な先人たちの研鑽の結果を手早く知ることができます。
この本にはコードは出てきません。コードを書くプログラマーがどのように考えているのかを学びましょう。
リーダブルコード
もちろん、リーダブルコードをおすすめさせてください。この本に関しては、様々な方が紹介をしているので、詳しくは調べてみてください。
命名についての項目などとても有益なことばかりが記載されています。
クリエイティブプログラマー
よりクリエイティブに、プログラミングをするための心構えをまとめている書籍。 直接のコードの書き方ではないのだが、コードを書く人間にフォーカスしてよりよりコードを書くためのアイデアがまとめられている。 ただ、そのそもクリエイティブであることについてもしっかりと記述されているので、そういう意味ではプログラマー以外にもすべての人にお勧めしたい。アルゴリズム、デザインパターン
さて、アルゴリズムとデザインパターンです。
アルゴリズムとは、ゲーム制作特有のものではなく、特定の処理を実施するために作成する処理のまとまりのことです。
つまり、行いたいゴールを効率よく達成する手段を考えることが、アルゴリズムを考えることになります。
とはいえ、完全に新しいアルゴリズムを考えることはあまりなく、様々な知識を組み合わせ、調整することがメインの行うことになります。
また。ここまで学習を進めているとデザインパターンという言葉は様々なところで聞いたことがあるはずです。
デザインパターン自体は、建築家アレグザンダーのパターンランゲージという考え方をモノづくりに応用しようとする試みがあり、
そしてGoFによるオブジェクト指向における再利用のためのデザインパターンに繋がります。
(参考:Wikipedia)
デザインパターン自体の歴史が長くなってきていて、今のゲーム開発に即時活用できるかというと難しいのですが、生き残る古典というものにはやはり価値があると思います。
まずは、アルゴリズムから始めましょう。
アルゴリズムとデータ構造
ゲームを作っていると、Webアプリケーションやアプリ開発に比べて早い段階で、数多くのデータやオブジェクトを管理する、アルゴリズムを構築する
必要に迫られると感じています。
(もちろんWebアプリケーションなどでもありますが、ライブラリがとても有用なため中級者あたりまでは意識することが少ないと感じます)
そのため、どこかでしっかりアルゴリズムやデータ構造を学びたいとなった場合はこちらです。
そして、穴掘り法による迷路やA*によるその解法などを実装してみましょう!
増補改訂版 Java言語で学ぶデザインパターン入門
日本におけるデザインパターンの入門書としてはもはや右に出るものはないかと思います。
非常にわかりやすくデザインパターンを知ることができます。Javaで説明されていますが、基本の部分はC#とはほぼ一緒なので違和感なく読めます。
Game Programming Patterns ソフトウェア開発の問題解決メニュー
デザインパターンを実際にゲームに応用するためにはという視点ではこちらの書籍を紹介させてください。
この本の前半では、書籍内でよく参照するデザインパターンのおさらいから始まるので、この本から読んでも頑張れば読み進めることができます。
ゲームAI
2020年に記事を作成してから、一番変化があったのが人工知能、AIについてと言っても過言ではありません。
ただ、Unityやゲーム制作そのものには記事執筆時点では生成AIやLLMが大きく関わってくるところまでは来ていません。
(もちろん、実作業での利用は無くてはならないものですが、ゲームメカニクスやゲームデザインの作成にまでは関わらないという意味で。)
Unity Sentisなどを待ちつつ、ChatGPTの使い方などは別の情報源に任せ、ゲーム制作でAIを利用するという観点から情報をまとめます。
AI、人工知能について知る
ゲームで学ぶ探索アルゴリズム実践入門~木探索とメタヒューリスティクス
いきなり最新のAIの使い方ではなく、まずはゲーム制作においては、基礎のアルゴリズムを利用した方がゲーム的な動きになることも多い。
ゲーム内でよく利用される探索アルゴリズムを基礎から学ぶことが出来る良書。
Unityではじめる機械学習・強化学習 Unity ML-Agents 実践ゲームプログラミング v2.2対応版
※ML-Agentはアップデートで機能が大幅に変わる傾向があります。最新の情報をチェックしながら読み進めることをオススメします。
Unityにおける教科学習、ML-Agentの基本と利用を学ぶことができる良書。
Unity側のAI機能の発展により、内容が変わっていくことがあるが、ツールより教科学習の仕組みをML-Agentを利用して学ぶことのために読んでほしい本。
ゲーム数学、物理
ゲームを創る中では数学と物理が非常に多く出てきます。さらには、より高度なことをしたいと考えたらシェーダーというものを実装することもあるでしょう。
そのようなときのために、ゲームで使われる数学、物理、そしてゲームの動かされ方を知っておくことも有用です。
数学や物理の説明を行っている書籍は様々なので、自分が読みやすいと思ったものを読み進めることが重要です。
ここでは、3種類の書籍を紹介します。
ゲームを動かす数学・物理 R
コンピュータの仕組みとしての数学や物理について説明してくれる書籍。 メモリとはどんなものなのかというところから話が始まるようになっています。セガ的 基礎線形代数講座
あのSEGAが社内向け勉強会の資料を公開し、さらに書籍化しています。
純粋に数学について学び直すための書籍となっています。
Speeker Deckに公開されているんで、まず流し見して自分のレベルに合っているか確認してから購入することをお勧めします。
ゲームアプリの数学 Unityで学ぶ基礎からシェーダーまで
この書籍では、実際にUnityを使って試すことができるので、手を動かしたいという方におすすめです。
本自体が古くなっているので、今のUnityとはUIなどが異なっているかと思いますが、2冊で学んだ内容を実際に動かしてみる応用にも挑戦してみてください。
ゲームを動かす技術と発想R
ゲーム内のための数学だけではなく、Unityを使っているだけならなかなか触れることがない、
ゲームがそもそもどう動いているのかというより低レイヤー名部分までわかりやすく説明してくれています。
Unityバイブル R5夏号
シェーダーについて、以前は、Unityシェーダープログラミングの教科書 ShaderLab言語解説編のシリーズを紹介していましたが、ShaderGraphが一般的になってから、ツールの使い方として様々な情報が出そろうようになってきました。
書籍としては、こちらに一連の流れがまとまっています。
ゲーム演出
Unity ゲームエフェクト マスターガイド
まずは、パーティクルシステムから。Unity VFX Graph マスターガイド
さらにビジュアルプログラミングのようにVFXを使いこなす場合はこちらから。
インターネットにもまだまだたくさんの情報が
書籍以外にも様々な情報源があるのが、この令和時代のいいところ!インターネットって素晴らしいですね。
ただ、あまりに情報量が多くなるので、今回は泣く泣く割愛させていただきます。
- Unity公式ブログ
-
Unity Learning Materials
- Unity Learnも全て無償になりました!
- Unity インターハイブログ
- UnityProブログ
-
#ゲーム素材の作り方
- Twitterハッシュタグです
終わりに
初学者が選ぶべき本は、ここで紹介した書籍である必要はありません。繰り返しますが、
様々な参考書使うより1冊を信じてしっかりやり遂げることが何よりも大事です。
どの書籍も著者の方や編集者の方が考えに考えて構成を考えています。信じて1冊やり遂げてください。
中級者になった方も、もう1ランク上の本を信じてやり遂げましょう。
学び直しは最速のインプットとアウトプットの回転です。考えながらまとめながらやり遂げてください。
そして、上級者になりたいという方は、ゲーム作りの奥深さを受け止めましょう。
どんな旅も一歩一歩歩くことで成し遂げられます。
一緒にゲーム作りという壮大な世界を歩いていきましょう!