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