Successfully reported this slideshow.
Your SlideShare is downloading. ×

XNAとはなにか?XNAうれしいところ、うれしくないところ

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 48 Ad

More Related Content

Slideshows for you (13)

Similar to XNAとはなにか?XNAうれしいところ、うれしくないところ (20)

Advertisement

More from IGDA Japan (20)

Recently uploaded (20)

Advertisement

XNAとはなにか?XNAうれしいところ、うれしくないところ

  1. 1. XNAとはなにか? XNAうれしいところ、うれしくないところ 2009/10/10 長 健太 cs8k-cyu@asahi-net.or.jp
  2. 2. 私はなにものか フリーゲーム開発者 ABA Games 当たり判定ゲー 当たり判定ゲ シューティング SIG-Indie1回目 http://www.asahi-net.or.jp/~cs8k-cyu/
  3. 3. 今日の話 XNAの 宣伝 布教 研究 にきました XNAを多くの人に知ってもらいたい 犠牲者 仲間を増やしたい
  4. 4. 背景 Xbox360でゲームが作れるようになった これは面白い! みんなも何か作りたくなるよね!? 「いや、別にそんなでも」 あるぇー? ← イマココ!
  5. 5. より多くの人にXNAに興味を まあいろいろ欠点も多いしね…… 今日はXNAいいとこわるいとこ両方を考えよう 面白そう!遊んでみたい!という人が増えれば 改良ポイントが見つかれば
  6. 6. 目次 私の略歴 XNAとは 今日の研究会の流れ XNAいいとこわるいとこ
  7. 7. 略歴 Silverlight XNA Windows Flash P/ECE WonderWitch PC-9801 iAppli PC-6001 Palm MSX2 PC-1500
  8. 8. XNAで作ったもの GearToyGear
  9. 9. XNAとは Xbox360向けゲーム開発環境 XNA G St di (XNA Game Studio(XNA GS)で開発 Visual Studio+C#で360で動くゲームを でもただの開発環境だけじゃない
  10. 10. XNA コシステム XNAエコシステム 遊んでみて! 作る人 遊ぶ人 面白かった!
  11. 11. XNA コシステム XNAエコシステム 遊んでみて! 作る人 XNA GS ピアレビュー ユーザ ザ Xbox Live レーティング インディーズ ゲーム ゲ ム 遊ぶ人 面白かった!
  12. 12. インディ ズゲ ( Xbox Liveインディーズゲーム(XBLIG) ) XNAゲームを360のマーケットプレースへ 開発者間のピアレビューを経て公開 開発者間のピアレビュ を経て公開 開発環境+配布の仕組み 遊ぶ人までダイレクトにお届け
  13. 13. 今日の研究会の流れ XNAの特徴 マイクロソフトの取り組み ピアレビューとは ピアレビ とは XBLIGの実際 XBLIGでどんなゲームが遊べるの?
  14. 14. 今日の研究会の流れ (第一部) (第 部) 長健太(ABA Games) 「XNAとはなにか?XNAうれしいところ、うれしく ないところ」 徳留和人(マイクロソフト株式会社 ホーム&エ ンタ テイメント事業本部 ンターテイメント事業本部 XNA Group) 「マイクロソフトがXNAご説明します」
  15. 15. 今日の研究会の流れ (第二部) (第 部) XELF 「Xbox 「 b LIVEインディーズゲーム「ピアレビュー攻略」のた インデ ズゲ ム「ピアレビ 攻略 のた めのXNAにおける開発のコツと特有の課題」 佐川直樹(こびとスタジオ) 「同人サークルが見たXboxLIVEインディーズゲームの実 「同人サ クルが見た インデ ズゲ ムの実 情」 罰帝(ライター/デザイナー集団“bsks”(ビスクス)) 「ゲームジャーナリストから見たXBLIG/注目作品ピック 「ゲ ムジ ナリ トから見た /注目作品ピ ク アップ」
  16. 16. パネルディスカッション 講演者の方々 + zioさん (麻雀 三六荘) i さん 与野さん (XNA Today) 鶴淵さん (マイクロソフト)
  17. 17. XNAの特徴を知る XNA特徴を知るために うれしいところ、いいとこ うれしいところ いいとこ うれしくないところ、わるいとこ を挙げてみる
  18. 18. いいとこわるいとこ 高い生産性 最新コンシューマ機での開発 いいとこ Windowsと360の同時開発 XBLIGで世界の360にお届け 敷居の高さ 暴れ馬アーキテクチャ #ifdef地獄 わるいとこ そびえたつピアレビューの壁
  19. 19. 高い生産性 洗練されたフレームワーク 豊富なライブラリ Vector Matrix Quaternion Math いいとこ VS + C# + HLSL
  20. 20. DeskTopLive.xna (DTL.xna) 2時間半でライブでゲームを作って! おまえは何を言ってるんだ まあやってみるか
  21. 21. DTL.xnaの様子 六本木で200名とペアプロ
  22. 22. DTL.xnaの様子 オレ vs. 東京工芸大学学生さん4名
  23. 23. DTL.xnaで作ったもの 縦シュー抽選機
  24. 24. 短時間でゲ ムが作れる! 短時間でゲームが作れる! XNAの生産性の高さが発揮された! ただ それだけでなくて短時間で作るにはコツもいる
  25. 25. 短時間でゲ ムを作るには 短時間でゲームを作るには オレライブラリ整備 オレDSL整備 プロシージャル プロシ ジャル プロトタイピング 練習
  26. 26. オレライブラリ オブジェクトプール public void ForEach(MyAction<T> func) { for (int i = 0; i < actorCount; i++) { func(ref Actors[i]); } }
  27. 27. オレライブラリ Direct Mapping #if XBOX360 Shape.SetToWritableVertexBuffer<T>(Actors, si, nsi - si); #else Shape.BeginAddInstance(); Shape BeginAddInstance() for (int i = si; i < nsi; i++) { Draw(ref Actors[i]); } #endif shape.Draw(); asm { vfetch pos, vi, position0 vfetch color, vi, color0 vfetch param0, ii, texcoord0 vfetch param1, ii, texcoord1 f h 1 ii d1 vfetch param2, ii, color1 };
  28. 28. オレライブラリ MathUtil public static float Sin(float a) { return (float)Math.Sin(a); } public static float Range(this Random random, float min, float max) { return ((float)random.NextDouble() * (max - min) + min); }
  29. 29. オレDSL コンテントパイプラインで処理する弾幕DSL nway 5 25 fire -$2 fire 0 0.6 rep $1-1 fire $2*2/($1-1) fire 0 0.6 vns [ [ContentImporter(".sslb", DisplayName = "SSL-B File Importer")] p ( , p y p )] public class SslbImporter : SslImporter<Sslb> { public override void ParseCommand(string[] strs) { switch (strs[0]) { case "fire“:
  30. 30. プ シ ジャル プロシージャル ボス形状生成エンジン
  31. 31. プ トタイピング プロトタイピング + 練習 面白いネタかどうかプロトタイピングしておく 軽く事前コーディング練習 軽く事前コ ディング練習 特に最初の四角が出るまでは
  32. 32. 敷居の高さ シェーダなど3Dまわりの知識 コンテンツパイプライン 英語圏の技術 初心者向けとは言い難い わるいとこ ちょっとしたゲームを作るには不向き
  33. 33. もっとサンプルコ ドがあれば もっとサンプルコードがあれば コンパクトなサンプルをとっかかりに うちでも公開してます ひにけにXNA http://blogs.msdn.com/ito/default.aspx p // g / / p 解説本 なんとかする
  34. 34. 最新コンシュ マ機での開発 最新コンシューマ機での開発 あこがれのXbox360での開発が 360のパワ を使ったすごいゲ ムが作れる 360のパワーを使ったすごいゲームが作れる 昔WonderWitchというものがありまして…… いいとこ
  35. 35. 暴れ馬ア キテクチャ 暴れ馬アーキテクチャ あれ案外パフォーマンスでないな…… CPUは非力、GPUは化け物 CPUは非力 GPUは化け物 .NET CFのくせ、オーバヘッド わるいとこ
  36. 36. XNAのくせを良く知る 頻繁にGPUをたたいてはいけない i などを使ったGPUコ ル減 Direct Mappingなどを使ったGPUコール減 Di t M シェーダに働かせる なんとかする
  37. 37. W dowsと360の同時開発、実行 Windowsと360の同時開発、実行 Windowsと360で同じコードが使える でビルドしてすぐに360に配置 Windonwsでビルドしてすぐに360に配置 Wi d Windowsからリモートデバッグ いいとこ
  38. 38. # de 地獄、W dows上実行問題 #ifdef地獄、Windows上実行問題 パフォーマンスを稼ぐには#if XBOX360 シェーダモデル周りのコードは共有困難 シェ ダモデル周りのコ ドは共有困難 Wi d で必要なランタイムはどれ? Windowsで必要なランタイムはどれ? わるいとこ
  39. 39. オレライブラリ整備、ブラウザゲ 化 オレライブラリ整備、ブラウザゲー化 #ifが必要な部分をオレライブラリに封じ込め ClickOnceなどの活用 Sil li h 化 Silverlight化 なんとかする
  40. 40. Silverlight化してブラウザゲ Silverlight化してブラウザゲー XNAもSilverlightも同じC#で記述可 SilverSprite XNAをSiverlightに変換 SilverSprite:XNAをSiverlightに変換 http://silversprite.codeplex.com/ ただし2Dのみ パフォーマンスにも差が #if SILVERLIGHT WINDOWS XBOX360
  41. 41. Silverlightとの特性の差 Silverlight CPU 速い GPU 使えない XNA (Xbox360) CPU 遅い GPU 爆速
  42. 42. WriteableBitmap Silverlightは点パーティクルは速い #if SILVERLIGHT private const int background = 0xff << 24 | 0 << 16 | 0 << 8 | 0; public static WriteableBitmap Bitmap; public static int Width, Height; p public static void Initialize(Canvas parent) ( p ) { Width = (int)parent.Width; Height = (int)parent.Height; Bitmap = new WriteableBitmap(Width, Height); Image image = new Image(); image.Source = Bitmap; parent.Children.Add(image); Clear(); Invalidate(); }
  43. 43. Silverlight化したゲ ムの例 Silverlight化したゲームの例 ひらりとかわせ、Hirarion
  44. 44. XBLIGで世界の360 お届け XBLIGで世界の360へお届け XBLダッシュボードから簡単にダウンロード 世界中の人に遊んでもらえる いいとこ
  45. 45. そびえたつピアレビュ の壁 そびえたつピアレビューの壁 ピアレビュー突破のための各種条件 アマチュアなのにここまでやらんとダメ? フリーゲーム配布不可 わるいとこ
  46. 46. ピアレビュ 攻略法 ピアレビュー攻略法 今日の後ほどの講演をお楽しみに 10/17 XNA ラウンドテ ブルも ラウンドテーブルも なんとかする
  47. 47. いいことわるいとこ総括 作るところはいい感じ 作る人 XNA GS ピアレビュー Xbox Live インディーズ ゲーム 遊ぶ人 届けるところは課題多い?
  48. 48. まとめ XNAは困ったちゃんだけど面白い奴 360でユニ クなゲ ムが遊べるようになる 360でユニークなゲームが遊べるようになる ピアレビューなど新たな仕組み、その問題 ピアレビ など新たな仕組み その問題 詳細はこの後のプレゼン、パネルで!

×