Unityに関する世界観です。ゲーム開発も参照のこと。
ゲームエンジンとは、ゲームを開発するために必要な機能を集めたエンジンのこと。Web開発で言えばフレームワークのようなもの。
昔はBASICなどでゴリゴリとすべてのゲームに必要なコードを記述していたが、今のゲーム開発はゲームエンジン全盛期であり、たとえばテトリスのような落ちゲーなどを作るのであっても、自分ですべてを記述せず、Unityのようなゲームエンジンを使うことが多い。
なぜUnityを使うのかは、安くて標準的だから。特に、利益の少ない小さな会社や個人向けにはUnity Personalは無料で使うことができる(大きな会社だとお金が必要)。
Unityはほかのソフトウェア(3DCGデザインソフトや3Dグラフィックスの表示レイヤーなど)にも対応し、またネットや書籍での情報も多い。任天堂やSONYなどでもおそらく独自のゲームエンジンを作っているはずだが、Unityはクロスプラットフォームであり、任天堂やSONYなどのゲーム機やWindowsパソコンやスマホなど、一部のプラットフォームに限らず、さまざまな環境で動作する。
Unityは画面からスクリーンを編集できるほか、C#を用いてゲームプログラミングが行える。言語がC#なのは内部でMonoを使っているからであり、Microsoftがごり押ししたわけではない。だが、MicrosoftもXboxなどを持つ巨大ゲーム企業のひとつであり、C#を学ぶことはゲーム開発者になるために必要な知識のひとつであるということは言える。ただし一般的には、ゲームにはパフォーマンスが必要であるため、C/C++を使うことが多い。ただし、Microsoft環境ならもちろんC#も使うことができる。AndroidならJavaを使うことも多い。
Unityはクロスプラットフォームのゲームエンジン。DirectXやOpenGLに対応しており、BlenderやPhotoshopのファイル形式にも対応している。
Ubuntu独自のユーザーインターフェースもUnityという名前だが、別物。
最近(2018.11.29)、自分はUnityについて勉強中である。スクリプトはC#/monoで動いていて、コードはC#で書く必要がある。それから、無料版は大きく儲かっていない小さな企業でしか使うことができない。
だが、Unityはダウンロードだけで簡単に使えるし、上のサイトのように詳しいサイトがたくさんある。C#は僕が昔twintail(2ch専用ブラウザ)の改造の時にお世話になった言語である。
できることなら、今僕の言っている作業所で、Illustratorで仕事をやる合間に何かゲームでも作れたら良いなと思っている。
Unityはブラウザやモバイルから家庭用ゲーム機まで幅広く対応している。とても優れたゲームエンジン(ゲームのための色んな機能を提供してくれるエンジン)で、エディタは自由に拡張することができる。アニメーションなどの分野でも使われているようである。
できることなら、Unityでカードゲームを作りたい。UnityはポケモンGOなどでも使われており、最近とても流行っている。ゲーム業界のデファクトスタンダードになるのではないかと思う。
Unityでは、Microsoftによる.NET Frameworkの言語である、C#を使う。これは、オープンソースの.NET Frameworkとしておなじみのmonoを内部で使っているからである。
C#はMicrosoftの公式サイトでASP.NETというWebプラットフォームに使われていたり、Windows.Formsなどでもおなじみで、.NET Coreなどのコードを見て分かる通りWindowsやMicrosoft製品の内部で使われていて、VB.NETよりもJavaに近い言語として知られている。Java VMとの比較から「MS版のJava」として知られている。monoはLinuxなどのUNIX向けのオープンソースな.NET Frameworkの実装。Unityではこのmonoをスクリプトを書く言語に採用している。
僕の大好きなエンジニア経営者のセイト先生がYouTubeで面白い動画を投稿されたので参照してください。短い動画ですが、セイトさんがUnityをとても面白くゲームの開発に使っていて、ゲーム開発の「さわり」を知る上で参考になります。
後日注記:実際のところ、こんなに短時間でゲームが作れるということは驚きました。Unityというゲームエンジンを使っているということ、Udemyという動画サイトを見た上での結果であるということは分かりますが、世の中のゲーム会社はあまりに適当にゲームを作っているのではないかと勘繰りたくなります(もちろん、ひとつのステージのほんの少しの部分しか作っていないということは分かりますが)。
2022.11.29
2022.12.01編集
Unreal EngineはEpic Gamesによるゲームエンジンで、Unityと並んで「大手のゲームエンジン」として知られる。Unityと同様、原則無料で利用できるが、UEを使って作ったゲームやコンテンツの収入が100万ドル以上になった場合、5%のロイヤリティを払わなければならない。
Unreal Engineは、無料で利用できるからといって、チャチなものではなく、とても高度なゲームや3Dコンテンツを作ることができ、シミュレーションなどにも使える「本格的なゲームエンジン」であると知られている。
Godotはオープンソースなゲームエンジン。完全に無料で利用でき、なんらかの条件でライセンス料やロイヤリティを支払う必要もない。2Dにも3Dにも使えるが、どちらかというと2Dゲームに向いている。