このシリーズではゲーム開発について紹介します
今回は第1回ということで、どうやってゲーム開発を始めるかを書いていきます
ゲーム開発と聞くと難しいと思われがちですが、ゲームエンジン を使えば初心者でも簡単に始めることができます
しかも、ゲームエンジンの中には、簡単なゲームの作成ならプログラミングせずに開発できるものもありますので誰でも簡単に始められますよ
それでは、ゲームエンジンとは何か?からどのようなゲームエンジンがあるかを説明していきます
ゲームエンジンとは
ゲームエンジンとは、コンピュータゲームの動作において主要な処理を行うために用いられる共通のプログラムです
多様な形態が存在しますが、ミドルウェアなどが集まり、より総合化されたものをゲームエンジンと呼び、ライブラリやAPIとは異なるものとなります
簡単に言うと、ゲーム開発時に必要な機能をひとまとめにして、誰でも使いやすいようにしたものです
例えば荒野行動やGTAなどに代表されるFPSゲームを開発する場合には、キャラクターの移動や、人の視点(カメラ)の制御など以下のような機能が必要となります。
- 人やモノの描画
- 物理演算(モノの移動や物体の衝突判定など)
- カメラ制御
ゲームエンジンではこれらが事前に用意されており、開発者はそれを使用することで一から作る必要がなくなり、開発にかかる時間が飛躍的に短縮されます
当然ながらゲームエンジンも、広義で言えば単にプログラムであり、技術革新と共に新たな機能を盛り込んで日々バージョンアップが繰り返されています
一挙に多数の機能を盛り込まれたメジャーバージョンアップでは、そのゲームエンジンの機能をフルに活用してゲームソフトが製作されます
この際、新しいゲームエンジンに命名されるのは、そのゲームエンジンを用いて作られた初めてのゲームソフトの名称になるのが一般的となっています
例えば『Half-life』ならば「Half-life Engine」、『DOOM』ならば「DOOM Engine」
主要なゲームエンジン
次に人気のゲームエンジンを紹介します。
- Unity(ユニティ)
- Unreal Engine 4(アンリアルエンジンフォー)
- Cocos2d-x(ココスツーディーエックス)
- Lumberyard(ランバーヤード)
- OpenSiv3d(オープンシブスリーディー)
Unity(ユニティ)
Unityは、2005年にMac OS Xに対応したゲーム開発ツールとして誕生しました
個人開発で最も広く使用されているゲームエンジンで、
開発はユニティ・テクノロジーズ(英語版)
日本法人はユニティテクノロジーズジャパン合同会社となっています
最近のゲームでいえばポケモンGOやスーパーマリオランなどがUnityで開発されています
クロスプラットフォームに対応しており、モバイルゲームやパソコンゲーム、ブラウザゲームなどが開発できます
最近ではVR/AR向けの開発にも対応しています
ゲームエンジン自体はC言語/C++で書かれており、開発者はC#を用いたプログラミングを行います
使用者が多く、日本語の資料も多くみられる点は開発者にとってありがたいです
また、Unityのアセットストアというものがあります
「3Dモデル」や「オーディオ」、「パーティクル」などが購入可能で、それらをUnity上で利用する事ができます
無料で利用できる素材もあるので、ゲームを作りたいけど素材が作れないという方には役に立つと思います
最後に利用料ですが、開発したゲームの年間の売り上げが10万ドル以下の場合であれば、無料で利用できるので、個人で使用する分には気にしなくていいです
Unreal Engine 4
Unityと並んで有名なゲームエンジンです
特にグラフィックの美しさに定評があります
こちらも クロスプラットフォームに対応しており、 VR/AR向けの開発にも対応しています
最近のゲームではフォートナイトやキングダム ハーツIIIなどがUnreal Engineで開発されています
開発者はC++やブループリント(BP)というビジュアルスクリプティング機能で開発を行います
BP を使用するとプログラムを書かなくても、フローチャートを作るような感じでマウス操作で直感的に開発ができます
BPとC++で作成したプログラムは相互利用でき、
主にプログラマーがC++で、デザイナーがBPでそれぞれ開発をすることで開発を迅速に行えます
ただ、使用者はUnityの方が多く、Unityと比較して少々情報が少ないというデメリットがあります
最後に利用料ですが、 全て無料で、3,000米ドル以上の収入に対して5%の支払い義務が発生します
こちらも個人で開発する分には気にしないでいいと思います
Cocos2d-x
Cocos2d-x(ココス・ツー・ディー・エックス)は上の2つと比べてやや知名度は劣りますが、 2Dゲームに特化したオープンソースゲームエンジンです
最近のゲームではディズニーツムツムや消滅都市、モンスターストライク、ブレイブフロンティアがCocos2d-xで開発されています
ゲームエンジン自体はC言語/C++で書かれており、 開発者はC++、JavaSctipt、Lua言語でゲームを開発を行います
2Dゲームに特化したゲームエンジンのため、開発環境が非常に小型で済み、多くの開発環境化で動作します
また、オープンソースなので完全無料で使用ができます。
Lumberyard
LumberyardはAmazonが開発を行なっている完全無料のマルチプラットフォームの3Dゲームエンジンです
開発者はC++、Lua言語、C#でゲームを開発を行います
一番の魅力はAmazonが開発を行なっていることもあり、同社が運営するAWSやTwitchとの連携がスムーズに行えるという点です
2016年に正式発表された比較的新しいゲームエンジンのため、日本語の情報が少ないというデメリットがあります
まとめ
今回はゲームエンジンの紹介でした
まとめると、ゲームエンジンを使えば簡単に開発が始められるということです
今回紹介したゲームエンジンの中には無料でソースコードがみれるものがありますので、勉強したい方は参考にしてみてください
次回からは実際の開発に入っていきます
私はUE4を使用して開発を行っていくことにしました、決め手はC++で開発できることと、綺麗なグラフィックです