ゲームは好きですか?プログラマーにはゲームが好きな方が多いように思います。男性の方が多いのでそのような傾向があるのかもしれませんね。「ゲームが好きだ」という方は、ゲーム開発を仕事にしてみてはいかがでしょうか?特にC#はゲーム開発に適した言語なので、C#使いの方におすすめします。
「なぜC#なのか?」というと、人気の開発ツールのサポート言語がC#だからです。このため、フリーランス向けの案件もたくさんあります。単価も50万円~70万円程と好条件です。ゲーム開発を視野にいれると仕事の幅も広がりますよ。
この記事では、ゲーム開発で稼ぎたいと思っているC#使いのフリーランスの方のために、C#が使えるゲーム開発ツール「Unity」についてお伝えしていきます。形態は変わりましたが、今も昔もゲームの需要は衰えていません。時代に合わせたゲーム開発をしていきましょう。
C#でどうやってゲームを開発するの?
以前はゲーム開発といえばDirectXが主流でした。もちろん今でもDirectXで開発されているゲームは多数あります。しかし、現在のゲームプラットフォームはスマートフォンやスマートTV、VR(バーチャルリアリティ)など多岐にわたります。昔ながらのDirectXだけでは対応できません。そのため、最近ではマルチプラットフォーム対応のゲーム開発ツールが人気を博しています。数あるツールの中でも最も人気なのが今回紹介する「Unity」です。今C#でゲーム開発するならUnityが非常におすすめです。
Unityってどんなもの?
Unity(ユニティ)は、無料で使えるマルチプラットフォーム対応のゲーム開発ツールです。プログラミング言語としてC#とJavaScriptをサポートしています。いわゆるゲームエンジンというもので、類似のツールにはUnreal Engine(UE)があります。
しかしUEはC#をサポートしておらず、C++を使わなければいけません。Unityは後述するVisual Studioとの連携もあり、C#と非常に親和性が高くなっています。アセットと呼ばれる既存のコンポーネント集が提供されているのが大きな特徴です。アセットについては後で説明します。余談ですが、公式マスコットキャラの”ユニティちゃん”はかわいいですよ。
Unityで作れるゲームの種類
Unityでは、2Dゲームも3Dゲームもどちらも作ることができます。とはいえ、2Dでも3Dでも基本的な部分はほとんど同じです。なぜなら、Unityの2Dは結局のところ平面に投影した3Dだからです。そのため、2Dモードと3Dモードを相互に切り替えることもできます。2Dゲームだけど立体的な表現がある、いわゆる2.5Dゲームも作ることも可能です。
一般的に、2Dゲームは平面なので画像や音楽を用意すれば作れますが、それに加え3Dゲームはポリゴンモデル(3Dモデル)が必要になります。また、移動などの処理が2Dよりも複雑になります。そのため、2Dよりも3Dの方が制作難易度は高いといえるでしょう。後で説明するアセットストアを利用すると難しい作業を減らすことができます。
Unityが対応しているプラットフォーム
非常に多くのプラットフォームに対応しているのがUnityの利点であり人気の理由でもあります。有名なプラットフォームは全てカバーできているでしょう。
モバイル
AndroidやiOS、Windows Phoneのアプリの出力に対応しています。もちろん、スマホでもタブレットでもOKです。一般的なネイティブアプリとして出力されますから、通常通りストアに登録することもできます。また、あまり知られていないTizenというOSにも対応しています。なお、Windows上ではiOSアプリはビルドできません。Macが用意できない方はビルドサービスを利用しましょう。
VR(仮想現実)・AR(拡張現実)
いま話題沸騰中のVRプラットフォームにも早くから対応しています。Oculus RiftやGear VR、PlayStation VR、Microsoft HoloLens、 Steam VR/Viveなど主要なものはおさえています。PlayStation VRはPlayStation 4用のVR端末で、予約が開始されてすぐに完売しました。VRの注目度の高さがうかがえますね。これからの成長分野ですから、今のうちに先行投資しておいてもよいでしょう。
パソコン
UnityならDirectXを使わなくてもパソコン向けのゲームが作れます。Windows・Mac・Linuxと主要なOSに対応しています。どちらかというとこの分野はUnreal Engineが使われる場合が多いです。Unityはスマホ向けといった印象がありますね。
据え置きゲーム機
個人では実機で動作させられないものもありますが、現行の据え置きゲーム機にはすべて対応しています。具体的には、PS4・PS Vita・XBOX ONE/360・Wii U・3DSです。2016年7月8日には、Wii U・3DSにおいて個人でも販売が許可されるようになりました。
インディーズ市場はこれから広がりを見せていくかもしれませんね。
ウェブ
ちょっと前には”艦これ”をはじめとするブラウザゲームが流行りました。そのほとんどはFlashでしたが、いまやFlashは使われなくなりつつあります。そのためUnityではプラグイン不要のWebGLに対応しています。まだブラウザのサポートが完全とはいえませんがそれも近い将来改善されることでしょう。
スマートTV
2019年には普及率が50%に到達すると予想されているスマートTV。Unityでは、Apple TV・Android TV・Samsung Smart TVの3つに対応しています。この分野にはファミリー向けのゲームがよさそうですね。
UnityとVisual Studioを連携させる
実は、Unity上ではC#コードを編集できません。コーディング作業はUnityではなく別のソフトで行います。標準ではMonoDevelopというフリーのIDEが付属しています。
しかし、使い勝手や機能性の観点から別途Visual Studio(VS)をインストールすることをおすすめします。といっても、普段C#を使っている方ならすでにVSを使っていることでしょう。持っていない方も心配はいりません。VSは無料でダウンロードして使えます。VSとUnityを連携させるためには拡張機能「Visual Studio Tools for Unity」が必要です。忘れずにインストールしておきましょう。
開発にはアセットを活用しよう
Unityの最大の特徴は豊富なアセット(コンポーネント)です。3Dモデルやテクスチャ、シェーダー、パーティクルなどゲーム開発に使えるさまざまな素材がアセットストアで提供されています。基本的には有料なのですが、無料のアセットも多くそれだけでもひとつのゲームを作ることができるほどです。特に、無料の”ユニティちゃん”の3Dモデルは一見の価値アリです。
案件以外でも稼ぐ方法
フリーランスとして案件で稼ぐ他にもUnity関連で稼ぐ方法はあります。ここでは3つの方法を紹介します。副収入として活用すれば収入の安定化にも貢献するでしょう。
ゲームを販売する
スマホゲームやパソコンゲームを作って販売する方法です。スマホゲームならApp StoreやPlay Storeなど各アプリストアで販売するとよいでしょう。数千円ほどの初期費用はかかりますが、だれにでも簡単に登録できます。パソコンゲームの販売ならSteamが有力でしょう。国内だけでなくグローバルに販売することもできます。やはり市場は大きいほうがよいです。
ゲームから広告収入を得る
ブログに広告を貼って収益を得るようにゲームでも同じことができます。どちらかというとスマホアプリに向いている方法でしょう。Unity AdsやAdMob、nendなどUnity用のSDKがある広告ネットワークを選びましょう。広告収入を増やすためにはダウンロード数を稼ぐことが必須なためアプリは無料にするべきです。SNSで広めるなどして、友達に知ってもらうのが効果的でしょう。
アセットを販売する
アセットストアでは、自分で作ったアセットを販売することもできます。エディタの拡張やスクリプト、シェーダーなどプログラマーの方が得意とする分野のアセットを開発してみましょう。もちろん、3Dモデルやアニメーションに挑戦してみるのも面白いですよ。売上の70%が収益になります。
まとめ
C#でのゲーム開発に興味がでてきましたか?Unityは無料で使えるので、今すぐにでもはじめられます。まずは、公式のチュートリアルをやってみましょう。日本語で丁寧に説明されていてとてもわかりやすいですよ。
また、書籍も多数出版されています。本格的に始める方は入門書を購入しましょう。オリジナルのゲームを作って案件応募時に提出すればスキルの証明にもなります。収益化も考えて面白いゲームを作ってみましょう。あなたはどんなゲームを作りたいですか?
フリーランスになるために必要な知識やスキルアップの方法等、様々なお役立ち情報を発信していきます。
(リモートワーク案件に強いフリーランスエージェント「クラウドワークス テック」を運営)