「ゲーム 作り方」
「ゲームを作れるようになりたいのですが、どうすれば良いですか?」と以前聞かれたので、
「ゲームを作りたい人向け」に思ってることをまとめてみようと思う。
また、下の記事が非常に良い内容だと思う。まだ読んだことのない人は是非に。
なお、今回はUnityで話を進める。
Unity以外の場合はHSP3やenchant.jsをお勧め。
とにかくセットアップが簡単で成果物が即見れるものが良い。
逆に導入手順が必要なものやウィンドウを出すのに色々と手間が必要な物は
最初は止めておいた方が良いと思う。
1. チュートリアルをやる
Unityを起動すると凄いデモが広がっているが、あれば開発者によるの開発者向けデモなので無視しよう。

何よりも先に、チュートリアルで適当な物を作るべきだ。とにかくツールの使い方を知らなければ話にならないが、マニュアルを読んでたら絶対飽きる(難しい英単語や一生使わない数学の公式を覚えるようなもので)。機能を眺めたり最適化といった事は全部後回しにして、何らかの指標となる動くゲームを用意すべきだ。近くでワークショップやってたらそっちに行っても良いし、勉強会等で1日でガっと終わらせても良い。
2. 検索の方法を知る
Unityは広く使われているエンジンだが、どんな情報でも検索すれば一発で見つかるわけではない。
例えば「Unity STG 作り方」みたいな検索をしても、自分のほしい情報は見つからないかもしれない。ましてや「Unity グレイズ」とか打っても実装方法なんて出てこない。
ではどうすれば良いか。
何のことは無い、ゲームとは複数の機能の塊だ。ありとあらゆるゲーム(やシステム)は、単純な機能の塊で成り立っている。分解していけば、必ずシンプルな機能にたどり着く。
つまり作りたいゲームがあった場合、それをまずは定義し、理解、分解し、分からないことは検索する事だ。そうすれば何を探せば良いか判る。そして、ピンポイントで探せば意外と日本語でも情報が見つかるし、英語で検索すればほぼ見つかる。

例えばSTGの最小構成で言えば「画像の表示」「移動」「弾生成」「当たり判定」の4つの機能で出来る。後はこの機能に何を追加していくかだ。ホーミングレーザーなら「Unity 向きを変更」と「Unity 弾 移動」みたいなキーワードで検索したり等々。
作り方が分からない機能は、機能を分解して検索だ。
それでも分からない場合はUnityユーザー助け合い所やUnityCommunityに聞いてみる。
最初は膨大な覚えなくても良い技術を羅列して覚えるより、検索の仕方を覚えたほうが楽だ。
それとGoogle翻訳は友達。
3. 作ったものを改造する
チュートリアルが終わったら、自分なりにチュートリアルをカスタマイズしてみる。
例えばキャラクターをMMDにするのも良いし、Oculus Riftとつなげても良い。音を追加するのも良いし、タイトルとゲームオーバーを追加しても良い。テクスチャを変更したり、ゲームバランス・ステージの雰囲気といったレベルデザインを調整するのも良さそうだ。思っている以上にサンプルは触れる箇所が多く、しかも少し触ればゲームを自分色に染める事が出来る。最初から全部自分でつくろうとするのは難しいので、出来る所から触っていくと良い。分からないことは検索だ。
かのコロプラのUnity系ゲームも、最初はメダルプッシャーの改造から始まったと聞く。
[Unity][Unity3d]「第一回 渋谷Unity勉強会xコロプラUnity事例発表」に参加してきました

この際に [Unity]完成プロジェクトをどうやって紐解くか? 読んでおくと良いかもしれない。
初心者や「Unityプロジェクトに新しく組み込まれた人」等は必見。
カスタマイズして色々と遊ぶプロジェクトでは、[Unity3D]初めてのUnityゲームを作るサンプルに! C# Game Examplesが簡単でお勧めだ。
4. 自分のゲームを作ってみる
ここまでで何となくゲームの作り方を理解できたようになったと思う。
そう思ったら、今までの知識を合わせて簡単な単一機能のクソゲーを作ってみると良い。
ただし必ず「自分の足跡を残す」事と「違うことを行う」事、これが重要だ。
作るゲームはできるだけ単純で、レトロな物が良い。気持ち的には、それを自分なりに作りなおす感じだ。レトロな物はハード的な制約から、かなりシンプルに作られていることが多い。昔はそのシンプルさの裏に恐ろしい最適化があったのだが、今のハードならば力押しで行ける。
(本来、このハックに近い最適化技術と無理難題を押し通す力こそゲーム機開発に必要だったが、今はハードが進化しすぎた為、パフォーマンスを最大限出す事がそれ程重要ではなくなりつつある気がする。凄いデモより楽しめるゲーム)
ちなみに、作るゲームはアクション系やSTGをお勧め

またモチベーションを維持する為に、何らかのルールを設けたほうが良い。
例えば「公開する」や「n時間以内に作る」といった物だ。特にn時間以内に作るルールは、モチベーションを維持しやすくお勧めだし、公開すると何らかのフィードバックが極稀に得られるかもしれない。
つまりゲームジャム来いよベネット
体力なんて捨ててかかってこい
作る上で、「プログラミング言語」や「モデリング」「演出」「CGの作り方」が障害になるかもしれないので、参考資料を紹介しておきたいのだが、モデリングやCGに関しては専門外なので、プログラミングのお勧め資料。
モデリングや演出、オーディオ、CGの作り方等で良い資料があれば
教えてくれると嬉しいです m(_ _)m
このフェーズを数こなすと、かなり色々と作れるようになる。
またこのレベルでUnity学習を止め、モデルやCGに注力しても良い。プログラムの中が余りにもアレでも、プレイヤーは分からないしゲームは動く。目的がゲームを作る事なら、妥協も必要だ。
5. 資料を漁る
簡単なゲームを作っていると最適化したくなる。また、必要な演出を追加したり、色々と機能を追加したくなるった末に、ダイエットが必要になったりする。とりあえず何作か作ったらマニュアルや資料をひと通り読むと良い。UnityであればC#やUnity 日本語リファレンスだ。
個人的には「Unityの中級者向け資料」はリファレンスだと思ってる。例えばリファレンスで「Advance」を見るといい。かなり深い所まで書いてある。
ひと通り読んだら、今までコピペや何となく使用した機能をもう一度確認してみよう。実際何故それをそうしたのかを考えると、ほんとうに必要な部分やより良い方法が見えてくる。そこからが本当の戦いの始まりだ。
ちなみにUnityは実はかなり深い所まで調べられる。 例えばUnityの挙動はInstrumentsを使えばかなり内部まで見ることが出来るし、Referenceを見れば内部のAPIもある程度把握することが出来る。Unity内部のメモリの挙動についてはUniteで公演してるし、Unityの使用しているmonoはオープンソースで公開してる。
意見感想などを @tsubaki_t1 や下のコメント欄にもらえると超喜びます。
ーーー
この記事が気に入ったらシェアしてくれると嬉しいです
「ゲームを作りたい人向け」に思ってることをまとめてみようと思う。
また、下の記事が非常に良い内容だと思う。まだ読んだことのない人は是非に。
25 歳くらいのゲームプログラマの人がやるAdobe AIR を使った比較的真っ当なゲーム開発
特に「1. 覚悟を決める」と「2. 知ることは簡単ではないことを知る」と「10. 人に見せる」の項目は是非読んで欲しい。
【Unity】素人が7日間クソゲーを作り続けてわかったこと
7日間クソゲーを作った話。
センスが半端ない
なお、今回はUnityで話を進める。
Unity以外の場合はHSP3やenchant.jsをお勧め。
とにかくセットアップが簡単で成果物が即見れるものが良い。
逆に導入手順が必要なものやウィンドウを出すのに色々と手間が必要な物は
最初は止めておいた方が良いと思う。
1. チュートリアルをやる
Unityを起動すると凄いデモが広がっているが、あれば開発者によるの開発者向けデモなので無視しよう。

何よりも先に、チュートリアルで適当な物を作るべきだ。とにかくツールの使い方を知らなければ話にならないが、マニュアルを読んでたら絶対飽きる(難しい英単語や一生使わない数学の公式を覚えるようなもので)。機能を眺めたり最適化といった事は全部後回しにして、何らかの指標となる動くゲームを用意すべきだ。近くでワークショップやってたらそっちに行っても良いし、勉強会等で1日でガっと終わらせても良い。
ドットインストール Unity入門
1回約3分のチュートリアル動画。
Unityの簡単な操作を説明してくれる。
Unity Learn Tutorial
Unity公式のチュートリアル動画。
内容は英語だが、Youtube翻訳で日本語字幕が付けられる。手順
2Dゲーム開発チュートリアル等の一部の動画は手動で翻訳されてる。
iPhoneゲームを20分間で作る【メダルプッシャー編】
説明不要の凄く分かりやすいデモ。
ちなみに、コレは一つを最後までやれば他をキッチリやる必要は無い。
おじさんのプログラミング
Unityのサンプルプロジェクトや独自プロジェクトの作成手順を絵付きで説明してくれるサイト。Unity3D の練習01シリーズは割とお勧めできるレベル。
2. 検索の方法を知る
Unityは広く使われているエンジンだが、どんな情報でも検索すれば一発で見つかるわけではない。
例えば「Unity STG 作り方」みたいな検索をしても、自分のほしい情報は見つからないかもしれない。ましてや「Unity グレイズ」とか打っても実装方法なんて出てこない。
ではどうすれば良いか。
何のことは無い、ゲームとは複数の機能の塊だ。ありとあらゆるゲーム(やシステム)は、単純な機能の塊で成り立っている。分解していけば、必ずシンプルな機能にたどり着く。
つまり作りたいゲームがあった場合、それをまずは定義し、理解、分解し、分からないことは検索する事だ。そうすれば何を探せば良いか判る。そして、ピンポイントで探せば意外と日本語でも情報が見つかるし、英語で検索すればほぼ見つかる。
例えばSTGの最小構成で言えば「画像の表示」「移動」「弾生成」「当たり判定」の4つの機能で出来る。後はこの機能に何を追加していくかだ。ホーミングレーザーなら「Unity 向きを変更」と「Unity 弾 移動」みたいなキーワードで検索したり等々。
作り方が分からない機能は、機能を分解して検索だ。
それでも分からない場合はUnityユーザー助け合い所やUnityCommunityに聞いてみる。
最初は膨大な覚えなくても良い技術を羅列して覚えるより、検索の仕方を覚えたほうが楽だ。
それとGoogle翻訳は友達。
3. 作ったものを改造する
チュートリアルが終わったら、自分なりにチュートリアルをカスタマイズしてみる。
例えばキャラクターをMMDにするのも良いし、Oculus Riftとつなげても良い。音を追加するのも良いし、タイトルとゲームオーバーを追加しても良い。テクスチャを変更したり、ゲームバランス・ステージの雰囲気といったレベルデザインを調整するのも良さそうだ。思っている以上にサンプルは触れる箇所が多く、しかも少し触ればゲームを自分色に染める事が出来る。最初から全部自分でつくろうとするのは難しいので、出来る所から触っていくと良い。分からないことは検索だ。
かのコロプラのUnity系ゲームも、最初はメダルプッシャーの改造から始まったと聞く。
[Unity][Unity3d]「第一回 渋谷Unity勉強会xコロプラUnity事例発表」に参加してきました
この際に [Unity]完成プロジェクトをどうやって紐解くか? 読んでおくと良いかもしれない。
初心者や「Unityプロジェクトに新しく組み込まれた人」等は必見。
カスタマイズして色々と遊ぶプロジェクトでは、[Unity3D]初めてのUnityゲームを作るサンプルに! C# Game Examplesが簡単でお勧めだ。
4. 自分のゲームを作ってみる
ここまでで何となくゲームの作り方を理解できたようになったと思う。
そう思ったら、今までの知識を合わせて簡単な単一機能のクソゲーを作ってみると良い。
ただし必ず「自分の足跡を残す」事と「違うことを行う」事、これが重要だ。
作るゲームはできるだけ単純で、レトロな物が良い。気持ち的には、それを自分なりに作りなおす感じだ。レトロな物はハード的な制約から、かなりシンプルに作られていることが多い。昔はそのシンプルさの裏に恐ろしい最適化があったのだが、今のハードならば力押しで行ける。
(本来、このハックに近い最適化技術と無理難題を押し通す力こそゲーム機開発に必要だったが、今はハードが進化しすぎた為、パフォーマンスを最大限出す事がそれ程重要ではなくなりつつある気がする。凄いデモより楽しめるゲーム)
ちなみに、作るゲームはアクション系やSTGをお勧め
またモチベーションを維持する為に、何らかのルールを設けたほうが良い。
例えば「公開する」や「n時間以内に作る」といった物だ。特にn時間以内に作るルールは、モチベーションを維持しやすくお勧めだし、公開すると何らかのフィードバックが極稀に得られるかもしれない。
つまりゲームジャム来いよベネット
体力なんて捨ててかかってこい
作る上で、「プログラミング言語」や「モデリング」「演出」「CGの作り方」が障害になるかもしれないので、参考資料を紹介しておきたいのだが、モデリングやCGに関しては専門外なので、プログラミングのお勧め資料。
モデリングや演出、オーディオ、CGの作り方等で良い資料があれば
教えてくれると嬉しいです m(_ _)m
UnityをC#で超入門してみる #1
UnityをC#で超入門してみる #2 ゲームオブジェクトの章
UnityでC#を覚えるのに分かりやすい資料。
このフェーズを数こなすと、かなり色々と作れるようになる。
またこのレベルでUnity学習を止め、モデルやCGに注力しても良い。プログラムの中が余りにもアレでも、プレイヤーは分からないしゲームは動く。目的がゲームを作る事なら、妥協も必要だ。
5. 資料を漁る
簡単なゲームを作っていると最適化したくなる。また、必要な演出を追加したり、色々と機能を追加したくなるった末に、ダイエットが必要になったりする。とりあえず何作か作ったらマニュアルや資料をひと通り読むと良い。UnityであればC#やUnity 日本語リファレンスだ。
個人的には「Unityの中級者向け資料」はリファレンスだと思ってる。例えばリファレンスで「Advance」を見るといい。かなり深い所まで書いてある。
ひと通り読んだら、今までコピペや何となく使用した機能をもう一度確認してみよう。実際何故それをそうしたのかを考えると、ほんとうに必要な部分やより良い方法が見えてくる。そこからが本当の戦いの始まりだ。
ちなみにUnityは実はかなり深い所まで調べられる。 例えばUnityの挙動はInstrumentsを使えばかなり内部まで見ることが出来るし、Referenceを見れば内部のAPIもある程度把握することが出来る。Unity内部のメモリの挙動についてはUniteで公演してるし、Unityの使用しているmonoはオープンソースで公開してる。
意見感想などを @tsubaki_t1 や下のコメント欄にもらえると超喜びます。
- 関連記事
ーーー
この記事が気に入ったらシェアしてくれると嬉しいです
| |