C# で i phone ゲーム開発
-
Upload
katsutoshi-makino -
Category
Documents
-
view
6.464 -
download
7
Transcript of C# で i phone ゲーム開発
C# で iPhone ゲーム開発
株式会社 Aimingリードソフトウェアエンジニア
牧野克俊
テーマ
C# で iPhone ゲーム開発
概要
1.開発環境の紹介2.開発者から出た C# の感想
1.開発環境の紹介
•基本的にはこのふたつ–MonoTouch–Unity 3d
•ほかにも–DeltaEngine–ExEn
MonoTouch
• OpenGL 使える• Xcode の UI と連携可能– Interface Builder
• ネイティブコードとバインディング可能–たとえば Cocos2d とか使う
MonoTouch
• MonoDevelop–IDE–デバッグ–エミュレータ起動–実機転送
Unity 3d
• ゲーム開発に必要なものは概ねそろっている–3D 描画–物理エンジン–etc
Unity 3d
• UnityEditor–レベルエディタ
• MonoDevelop for Unity–UnityEditor と連携したデバッグ
• UnityEditor でコンパイル→ Xcode でコンパイル、転
送
超適当に内部技術解説
Mono ベースで作られている
• なので、 Mono の制約に引っ張られます–MonoTouch は C#4.0–Unity は C#3.5– .NET Framework に完全対応していない
• さらに、 iOS 上では JIT 禁止!–なので事前コンパイルされる–特に Unity はほぼネイティブコー
ドにコンパイルされる・・・らしい
• Reflection 、 Generics–制限が有るが使える–そして、ときどき裏切られる・・・
しかし iPhone ゲーム開発で最強の敵がまだいます!
(主観です)
• iPhone ビルド、転送に Mac が必要!–Apple 先生にはさからえません・・・
まとめ• ゲーム開発なら Unity おすすめ• ツール開発なら MonoTouch おすすめ• Mac を嫌いにならない
Mac を嫌いにならない!
2.開発者から出た C# の感想
• 現在 Aiming では複数の iPhone ( Android )ゲーム開発をしています
• ほぼすべてのタイトルが Unity + C#• C# でネットワークゲームのサーバも作っ
ています• 多くのプログラマは C++ でゲーム開発経
験者
• さて、そんな人たちが C# でゲーム開発をしていてどう感じているでしょう?–Unity への愚痴は抜いてます
• using いいね!• ラムダ式いいね!!• LINQ いいね!!!
• JavaScript と比べて型決まっていていいね!• 型チェックが厳しすぎる
• プリプロセッサマクロ欲しい・・・• typedef したい・・・• friend 使いたい・・・
• Unity で C# の使える範囲がいまいち把握できない
• ツールと連携しやすい
• パフォーマンスは許容範囲• GC のおかげでメモリ管理が少し楽• GC が CPU 使う
• IDE 便利• 非同期処理をもう少し上手く書けな
いかなー• DataBinding したい!• iPhone と Android で同じように動い
てくれない・・・
まとめ
• 速度はそこまで気にならない• メモリ管理はやっぱ意識する• ツールを使いこなす• 内部動作を理解する(してもら
う)