- ゲーム開発したいんだけど、ブログラミング言語や開発環境って何?
- 何だか難しそうだけど、素人でもできるの?
- ゲーム開発ってプログラミングさえできれば良いの?
ゲーム開発に興味はあるが、どういうプログラミング言語・開発環境を使えばいいか分からない、そもそも、ゲーム開発がどういうものか分からない方向けに、基本的なところから、開発を始めるために必要な知識を解説していきます。
私も趣味で2D・3Dのゲーム開発をしたことがありますが、なかなか難しかったですね。
ただ、
- ゲームが出来上がっていくところ
- 技術力が上がってできることが増えていくところ
- 作ったものが実際に動くところ
は楽しかったので、興味がある方は是非チャレンジし見て下さい。
目次
ゲーム開発とは?
ゲーム開発では主に、PCやスマホで動く2Dゲーム、3Dゲームを開発することができます。
ゲーム開発と聞くと、なかなか難しそうとに思うかもしれません。
実際、難しいことには変わりないのですが、『Unity』や『Unreal Engine』などの開発環境を含むゲームエンジンを使うことで、比較的、直感的かつ簡単にゲームを作ることができます。
UnityやUnreal Engineは、開発環境を含むゲームエンジンのことで、プレイヤーや建物、フィールドなどの3Dのオブジェクトやテクスチャの反映、プレイヤーや敵の動作を決めるプログラム、イベント、物理計算などゲーム開発に必要ものが揃っています。
開発に必要不可欠なゲームエンジン
ゲーム開発において、UnityやUnreal Engineなどのゲームエンジンは必要不可欠です。
なぜなら、複雑な計算や管理が楽になり、ゲーム開発がスムーズになるためです。
UnityやUnreal Engineを使うことで、次のようなことを簡単に実装・管理することができます。
- プレイヤーの挙動
- オブジェクト落下時などの物理演算
- 3Dモデル、モーション、テクスチャ、BGM、イベントなどの紐付けや管理
代表的な例を3つあげましたが、このようなゲームエンジンを使うことで、複雑な処理や管理を比較的簡単に行うことができます。
例えば、3Dゲームを作りたい時に、ボールを投げるとします。
現実世界でボールを投げると重力によって物体は落下します。
一度床に着いて、何回かバウンドして、最終的には床を転がり停止するはずです。
ゲームの世界でも同様に表現しないと違和感があるわけですが、ボールの軌道を計算して描写していくとなると、物理学を元に複雑な計算をする必要があるはずです。
私は、物理学まで詳しくないので、どういう計算式を使って導き出すのかはさっぱりです。
ですが、ゲームエンジンを使うことで専門的な知識が無くても、項目を選ぶだけで簡単に現実に近い動きを作ることができます。
ボールの動きを決める要因として、重力、空気抵抗、ボールの素材、床の素材などがありますが、これらも設定で選ぶことができるので自由度はかなり高いです。
また、ゲーム開発においては、3Dモデル、モーション(3Dモデルなどの動き)、テクスチャ(3Dモデルの表面の模様や画像)、エフェクト(スキル発動時などのCGを使った演出や視覚効果)、効果音、BGMなど様々な素材を組み合わせて使うことになります。
- プレイヤーや敵キャラの3Dモデルに対して、モーションやテクスチャを適用したり
- 剣や銃に対して、エフェクトや効果音を適用したり
色々な素材を紐づけていくことで、ゲームでよく見るプレイヤーや武器を作っていきます。
プレイヤーも人型だけでなく、四足歩行などの動物、車などでモーションが変わってきますし、剣や銃などの武器も何種類も作ることになります。
そのため、素材の紐付けやそれらの管理が大変になってくるわけですが、ゲームエンジンを使うことで視覚的、直感的に管理できるようになるのでとても楽です。
このようにゲームエンジンは、複雑な計算や管理を簡単にしてくれるので、ゲーム開発において必要不可欠です。
わりと「簡単、簡単」と言いましたが、ゲームエンジンを使わず、物理演算などの複雑な計算も含め、1から開発することを考えれば、ゲームエンジンを使った方が簡単という話で、ゲーム開発自体はやはり難しいです。
ケンさん
とは言え、分からないなりに、3Dモデルを置いてみたり、動きを付けてみたりするのは楽しいので、興味のある方は是非チャレンジしてみて下さい。
ゲーム開発の主要な開発環境とプログラミング言語
主要な開発環境とプログラミング言語は次の通りです。
- Unity(C#)
- Unreal Engine(C++, Unreal Script)
個人でゲームを作るとなると、ほとんどこの2通りになるかと思います。
どちらも無料で始めることができます。
Unity(C#)
Unityは、C#言語を使うので、Windowsアプリ開発と同じ言語ですね。
個人的に、C#はプログラミング初心者の方でも分かりやすい言語なのでおすすめです。
プログラミング言語以外に、Unityの特徴として次のものがあります。
- 日本のユーザーが多いので情報量が多く勉強しやすい
- 無料で使い始めることができ、ゲームの売上に応じて使用料を払う
- 『Unity Asset Store』で素材やテンプレートが豊富
- 動作が軽いのでスマホゲーム向き
- 広告などの連携がしやすくスマホゲーム向き
情報量が多いのは、これから勉強を始めようと思う方にとっては、とても大切ですね。
日本ユーザーも多いので、日本語での情報も豊富です。
素材や開発の仕方にもよりますが、Unityで開発するゲームは動作が軽めなので、パソコンと比べてスペックの低いスマホ向けゲーム開発にも適しています。
また、スマホでよく見る広告などの連携も簡単にできます。
スマホが登場してから、年々スマホゲームユーザーも増えてきているので、需要の多いプラットフォームへの開発に向いているのはポイントが高いですね。
ケンさん
使用料は基本無料で使うことができます。
ただ、Unityで作ったゲームの売上に応じて、使用料を払う必要があります。
年間の収益10万米ドル(約1000万円)越え:約48,000円 / 年
年間の収益20万米ドル(約2000万円)越え:約220,000円 / 年
詳しいプランについては、公式サイトのプランを確認してください。
とは言え、ここまで収益を上げるのは難しいので、将来的に、独立して本気でゲーム開発することを視野に入れている方のみ考えれば良いでしょう。
Unreal Engine(C++, Unreal Script)
Unreal Engineは、C++, Unreal Engine独自のUnreal Scriptを使います。
C++は、以前少しだけ触ったことがありますが、C#と比べると難しかった記憶があります。
しかし、Unreal Engineには『ブループリントビジュアルスクリプティング』システムが搭載されており、視覚的、直感的にプログラムを組むことができるので、実際にコードを書く作業は比較的少ないです。
プログラミング言語以外に、Unreal Engineの特徴として次のものがあります。
- グラフィックが美しい
- 『UE マーケットプライス』で素材やテンプレートが豊富
- 無料で使い始めることができ、ゲームの売上に応じて使用料を払う
Unreal Engineは、FF7のリメイク版でも使用されており、簡単に美しいグラフィックのゲームを開発することができます。
グラフィックが美しいということは、それだけグラフィック性能が必要になってくるので、パソコン向けのゲームとなります。
スマホゲームの開発もできますが、スマホでも動作するようにグラフィックを落としたりする必要も出てくるので、Unreal Engineの特徴である美しいグラフィックを再現するのは難しいです。
使用料は基本無料で使うことができます。
ただ、Unreal Engineで作ったゲームの売上に応じて、使用料を払う必要があります。
製品の売上が 100万米ドル(約1億円)越え:5%のロイヤリティ
詳しいプランについては、公式サイトのプランを確認してください。
最初の方はUnityより安くなりますが、ロイヤリティが発生するとUnreal Engineの方が高くなりますね。
しかし、Unityと同様に、ここまで収益を上げるのは難しいので、独立して本気でゲーム開発することを視野に入れている方のみ考えれば良いでしょう。
ゲーム開発の例
有名なゲーム会社でも、UnityやUnreal Engineを採用しているので、開発例を紹介しておきます。
どういうゲームが作られたか知っておくことで、そのゲームエンジンを使えば、どこまでのことができるか分かるようになるので、今後開発する上で参考になると思います。
Unityの開発例
- スーパーマリオラン
- ドラゴンクエストVIII 空と海と大地と呪われし姫君
- バイオハザードアンブレラコア
- どうぶつの森 ポケットキャンプ
- Human: Fall Flat
- Fall Guys
- 原神
- プリンセスコネクト!Re:Dive
- 白猫プロジェクト
- ポケモンGO
- アイドルマスター シンデレラガールズ スターライトステージ
- フェイトグランドオーダー
- みんゴル
Unreal Engineの開発例
- ドラゴンクエストXII 選ばれし運命の炎
- ヨッシークラフトワールド
- ソードアート・オンライン フェイタル・バレット
- テイルズ オブ アライズ
- 真・女神転生V
- スター・ウォーズ ジェダイ:フォールン・オーダー
- Minecraft Dungeons
- キングダム ハーツIII
- アイドルマスター スターリットシーズン
- グランブルーファンタジー ヴァーサス
- フォートナイト
- ファイナルファンタジーVII リメイク
- ドラゴンクエストXI 過ぎ去りし時を求めて
- ドラゴンボールZ カカロット
- エースコンバット7 スカイズ・アンノウン
ゲーム開発について
ゲーム開発とプログラミングに興味がある方が多いと思いますが、プログラミング以外にも、ゲーム開発として知っておくべきことがあります。
ゲーム開発はプログラミング以外も重要
ゲーム開発は、プログラミングさえできれば開発できるものではなく、プログラミング以外にも幅広い知識が必要になってきます。
Windowsアプリやスマホアプリなどの開発であれば、プログラミングができれば概ねOKですが、ゲーム開発の場合、次のような知識も必要です。
- 3Dモデリング(キャラクターや小道具、建物や地形など)
- テクスチャ制作
- キャラクターモーション
- 音響制作(BGM・効果音など)
- エフェクト
- ストーリー構成
などなど
ざっと取り上げてもこれだけあって、プログラミングはその中の1つです。
個人で開発するためには、どれか1つとはいかず、全てやっていくことになるので幅広い知識が必要です。
ゲームの規模感を間違えない
俺もこんなゲームを作ってみたい…
数々の有名タイトルが、Unity, Unreal Engineによって開発されてきましたが、これらのゲームは数十人、数百人規模で年単位を使って開発されています。
普通は、全体を管理するプロディーサーやディレクターがいて、シナリオライター、プログラマー、グラフィックデザイナー、サウンドクリエイターなど担当が多岐に渡るので、これだけの人数になるのも分かるかと思います。
開発例を見て、自分も作ってみたい気持ちは分かるのですが、個人では厳しいので、ゲームの規模感は小さめにしておきましょう。
特に、最初はブログラミングも含め、ツールの使い方など色々と覚えることがあるので、開発が全然進まないと思います。
そのため、ミニゲーム的な感じで、1つのフィールドで何かしらのアクションをするようなゲームから始めると良いでしょう。
ある程度、ツールやブログラミングに慣れてきたら、少しずつ規模感を大きくしていきましょう。
最初から大きな規模感にしても終わりが見えず、挫折してしまいます。
素材を1から作る必要なはい
3Dモデルやテクスチャ、エフェクト、BGM・効果音など色々な素材が必要になりますが、これらを1から作るとなると個人開発では手に負えません。
ですが、素材サイトを活用することで、1から作る必要はありません。
- Uunity:Unity Asset Store
- Unreal Engine:UE マーケットプライス
それぞれ、独自のストアを持っているので、そこから素材を購入することができます。
無料でダウンロードできる素材もたくさんあるので、最初は無料のものを使って試してみるのが良いでしょう。
必要であれば、手に入れた素材を自分のゲームに合うように微調整します。
個人開発の場合は、ストアなどで3Dモデルリングやエフェクトなどを手に入れて、開発工数を短縮するのが一般的ですね。
ただ、色々な人が作った素材を多く取り入れると、デザインやテイストが異なるので、統一感のない世界観になってしまうことが多いです。
勉強や開発の段階では、仮という形で使って、実際にリリースする際には、整えてあげる必要があります。
自分で直せるところは直して、それが難しいようであれば、専門の人に外注することを視野に入れておきましょう。
ゲーム開発は子供にも人気
最近は、小学生のプログラミング必修化の影響で、プログラミングが身近になり、興味を持つ子供が増えています。
そんな中、特に人気のあるのはゲーム開発です。
普段ゲームを楽しんでいる子にとっては、プログラミングで自分の好きなようにゲームを作ってみるというのは、とても魅力的に見えると思います。
実際に私も小学生高学年で、家にパソコンが来たときに、ゲームを作って遊んでいました。
当時は、プログラミングの要素もなく、簡単なゲームを組み立てるような感じでしたが、楽しかったのは間違いありません。
ですが、いきなり、上で紹介した『Unity』や『Unreal Engine』を使ってゲームを作っていくのはかなり難しいと思います。
ケンさん
そういう場合は、プログラムをテキストではなく、ブロックやアイコンなどの視覚的な絵を組み合わせて記述するビジュアルプログラミングから始めるのが良いと思います。
ビジュアルプログラミングを使って、ゲームを開発できる子供向けのプログラミングスクールもあるので、何から始めれば良いか分からないという方は利用してみるのも良いでしょう。
≫ 関連記事:子供がプログラミングを学ぶメリットと方法を解説【元SE・プログラミング約10年】
ケンさん
まとめ:開発自体は無料で始めれるので、とりあえず触ってみよう!
ゲーム開発について、プログラミング言語や開発環境、実はそれ以外にもやることがたくさんあることなど実際にゲーム開発していく前に知っておくべきことを解説してきました。
基本的に、パソコンがあればゲーム開発ができますし、無料で始めることができます。
また、3Dモデルやエフェクトなど無料で使える素材もたくさんあるので、すぐに始めることができます。
ですが、すぐに始められるからと言って「FF7のような超大作を目指すぞ!」というのはやめておきましょう。
気持ちはすごく分かりますが、個人開発でその規模感のゲーム開発は無謀です。
自分がゲーム開発に取れる時間などから、どこまでなら作れそうかイメージして、ゲームの規模感を考えていきましょう。
自分ができる範囲を超えてしまうと、挫折する道しかありません…
また、色々な人が作った素材を使うと、デザインやテイストが異なるので、統一感のない世界観になってしまいます。
勉強や開発の段階では、無料のもので自分のイメージに近いものを”仮”という形で使って、実際にリリースする際には、整えてあげる必要があります。
自分で直せるところは直して、それが難しいようであれば、専門の人に外注することを視野に入れておきましょう。
ゲーム開発は、プログラミング以外にも色々とやっていく必要があります。
むしろ、プログラミング以外の方が多いぐらいです。
ですが、自分がイメージしているゲームの世界が、1つ1つ着実に出来上がっていくのは、ゲーム開発の醍醐味の1つなので、興味のある方は是非チャレンジしてみて下さい。
コメントを残す