Unityによる

物理ゲーム製作概要
2014/3/9 金子弘樹
Unityについて
• Unity Technologies社が開発する統合開発環境
• 物理法則に従うゲームが簡単に作成できる

→重力、物体の運動…
• 複数プラットフォームに出力可能

→Mac,PC,Linux,iOS,Android,ゲーム専用機…
• 無料版でも十分に開発可能。

→「ゲーム開発の民主化」
ゲーム開発の

複雑化1
昔のゲームは絵も単純で、

当時小学生の僕でも「これ
ぐらいなら作れるのでは」
と思わせた。

ゲーム開発は当時、プログ
ラミングの初歩であった。
ポートピア連続殺人事件

(C)1983-2014 SQUARE ENIX Co.
ゲーム開発の複雑化2
今の子供はこの絵を見て「自分でも作れるかも」と

思うのか?今の雑誌に「ゲームの作り方」は載っていない
FINAL FANTASY XIV (C) 2010 - 2014 SQUARE ENIX Co.
ゲーム開発の複雑化3
• 現代のゲームは個人で作れない程大規模、複雑化した
• プログラマー:

→メイン、ロジック、GUI、グラフィック、

ライブラリ、品質、運用…
• グラフィッカー:

→キャラクター、背景、小物、効果(爆発など)
• 各専門分野に高度な知識を持った担当者がいて、1人で全
ては作れない。小学生がゲームを作った1980年代は昔話
Unityが起すゲーム開発の民主化3つ
1. 開発者は3D空間に物体を置き、

その振る舞いのみプログラミングする
2. アセットストアにて、絵やロジックが値段を

つけて販売している。足りない部品があれば

後から購入すれば良い
3. プラットフォーム毎の差異はUnityが吸収。

PC版とスマートフォン版を同時に開発できる
1.物体の振る舞いのみ記述する
細かな挙動はUnity開発環境内の

パラメータを調整するだけ。コーディング量が激減する
この人物が…
ジャンプした時の
振る舞いを記述
2.アセットストアで足りない部品を購入
値段は無料から数ドル、高くて100ドル。

これをデザイナーやプログラマーに頼んだら幾らする?
3.Unityが実行環境の差異を吸収
Mono C#コンパイラ/ランタイム/ライブラリ
Unity ゲームエンジン
Javascript

(静的型JavaScript)
C# (静的型, like Java)
Boo

(静的型Python)アセット
(グラフィック、
音楽等)
PC, Mac, Linux iOS, Android etc ゲーム専用機
Microsoft .NET互換

ランタイムが

環境の差異を吸収
↓
Javascript, Booは
C#に変換する
↓
ゲームに必要な機能
↓
民主化の良い面、悪い面
• インターネットが 民主化 し誰にでも使えるようになった結果、知識
がない人達が極端な排外主義的主張を持つ扇動者に簡単に られるよ
うになった
• Unityが登場しゲーム開発が 民主化 した結果、App StoreやGoogle
Playに似たようなつまらないゲームで れかえった。アイディアなど
なく「作れるから作った」の氾濫
• 正しい見識、面白いゲームを作るノウハウまでは民主化してくれない。
今後の課題(Unityは無関係)
• 既存のゲーム開発者は面白いゲームを調整するノウハウを持っている。
これが強み
最後に
• Unityは現在の大規模なゲーム開発を個人レベル
まで簡素化してくれた
• ゲーム開発は再び個人の手に戻ってきた
• ゲームは遊ぶより作る方が面白い!
• 皆さんもUnityを触ってみてください

Make physical game with Unity