make physical game with unity
TRANSCRIPT
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を触ってみてください