Unityは非常に優れた2D/3Dゲーム開発ソフトです。ゲームを動かすエンジン部分の出来の良さはもちろんですが、非常に優れた開発ツールが用意されており、複雑な3Dシーンも比較的簡単に作成することができます。
が、どんなに簡単に3Dシーンが作れても、それだけではゲームにはなりません。ゲームとして動くようにするためには、プログラムを書かないといけません。
Unityでは、
C#、
JavaScript、
Booといったプログラミング言語を使って開発が行えます。この内、
Booは
Pythonライクな言語で、
Pythonが人気の欧米では選択肢となりますが、日本で「
Pythonなんて知らない」という人には関係ないもの、といっていいでしょう。基本的に「
C#か、
JavaScriptか」の二者択一と考えてください。
ここでは、
JavaScriptを使ったUnityプログラミングについて説明をしていきます。
JavaScriptは、Webの世界で広く使われている言語であり、ちょこっとWebをいじったことがあるなら多少は利用したこともあるんじゃないでしょうか。とてもわかりやすい言語なので、初心者にもとっつきやすいでしょう。
ただし! Unityの
JavaScriptは、Webなどでお馴染みの
JavaScriptとは微妙に違っています(このため「
UnityScript」と呼ばれたりします)。ですから、自分の
JavaScriptの知識そのままではうまくいかないこともあるので注意しましょう。
■MonoDeveopについて
Unityでプログラミングを行うとき、まず頭に入れておいて欲しいのは、「Unityではプログラミングしない」という点です。Unityにあるのは、「
C#や
JavaScriptのファイルを作成する機能」と、作成したプログラムをコンポーネントとしてゲームオブジェクトに組み込んだりする機能だけです。
実際のプログラミングは、Unityと一緒にインストールされる「
MonoDevelop」というアプリケーションで行います。これは「
Mono」という、.netコンパチなフレームワークの開発用ツールです。Unityでは、この
Monoの技術を利用してプログラムを作成し、Unityに組み込むようになっているのです。
まぁ、
MonoDevelopで行うのは
C#/JavaScriptのソースコードファイルを編集するだけで、実際のアプリケーションの作成などはUnity側でやりますから、実は
MonoDevelopでなくてもいいんです。普通にエディタで直接ソースコードファイルを開いて編集してもUnity開発はちゃんとできます。
ただ、
MonoDevelopは入力支援機能などプログラミングをサポートする機能がしっかりしているので、ただのエディタより圧倒的に開発はしやすいです。ですから、特別な理由がなければ
MonoDevelopを使って作る、と考えておきましょう。