C# で i phone ゲーム開発

7,682 views

Published on

0 Comments
14 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
7,682
On SlideShare
0
From Embeds
0
Number of Embeds
1,064
Actions
Shares
0
Downloads
24
Comments
0
Likes
14
Embeds 0
No embeds

No notes for slide

C# で i phone ゲーム開発

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

×