狠狠撸

狠狠撸Share a Scribd company logo
IronRubyと
Silverlightと
ゲームと
IronRuby, Silverlight, and Game




kumaryu
自己绍介
       ●   kumaryu (坂本龍一)
       ●   Rubyゲーム会議2010主催者
       ●
           組み込みっぽいことやってます
       ●   (rsdlェ…)




2/27
概要
       ●   IronRubyと厂颈濒惫别谤濒颈驳丑迟について
       ●
           ゲーム作った
       ●   Silverlightとゲームについて
       ●
           まとめと今後




3/27
滨谤辞苍搁耻产测について
       ●   .NET版Ruby
       ●   1.8.6ベース
       ●   .NETのクラスをそのまま使える
       ●
           午後のセッションを見よう
       ●   http://ironruby.net/




4/27
厂颈濒惫别谤濒颈驳丑迟について
       ●   MS版Flash
       ●   Windows?Mac?Linux (Moonlight)
       ●   ActionScriptのかわりに.NET
           ●   IronRubyも動く
       ●   http://msdn.microsoft.com/ja-
           jp/silverlight/



5/27
ゲーム作った



                デモ




6/27
ゲーム作った
       ●   STGぽいもの
           ●
               半リアルタイム?
           ●   1ボタンでできる
       ●
           ブラウザ上でも遊びやすい




7/27
画面




8/27
厂颈濒惫别谤濒颈驳丑迟の描画
       ●
           コントロールを置いて描画
       ●   Imageをたくさん配置が基本
       ●
           アルファブレンドできる
           ●
               加算や減算がない…




9/27
WriteableBitmap
        ●
            オフスクリーン描画
        ●
            コントロールなんでも描ける
        ●
            増減しそうなものを描く
            ●
                背景
            ●
                キャラ
            ●
                弾




10/27
WriteableBitmap




11/27
UI
        ●
            標準コントロールを改造
        ●
            リソースをいじるだけ




12/27
UI
        ProgressBar
        ListBox




        Button


13/27
更新処理
        ●
            描画時に呼ばれるイベント
        ●   CompositionTarget.Rendering
        ●   60fps…?




14/27
更新処理の中身
        ●   至って普通のRubyコード
        ●   REXMLやRaccもそのまま使える




15/27
衝突判定
        ●
            見た目で衝突判定
        ●   VisualTreeHelper.FindElementsInHostC
            oordinates
        ●
            背景との衝突判定に使用
        ●
            良い子はマネしない




16/27
アニメーション
        ●
            リソースにアニメーション定義
        ●
            イベントに応じて再生
        ●
            非同期再生
        ●
            表示にだけ使える




17/27
パフォーマンス
        ●   IronRubyはそこそこ
        ●
            描画もそこそこ
        ●   HWアクセラレーション




18/27
ハードウェアアクセラレーション
        ●
            使える状況が限定される
        ●   Windowsのみ
        ●   WriteableBitmap不可
        ●
            そこまでしなくてもいいかも




19/27
开発环境
        ●   Chiron
        ●   VisualStudio




20/27
颁丑颈谤辞苍で
        ●
            コマンドライン起動の開発用サーバ
        ●   rbファイルを書くだけ
        ●
            デバッグはやりづらい
        ●   monoを使えばMacやLinuxでも




21/27
痴颈蝉耻补濒厂迟耻诲颈辞で
        ●
            変数の中身も見れる
        ●
            ブレークポイントも張れる
        ●
            デバッグ起動が遅い?




22/27
痴颈蝉耻补濒厂迟耻诲颈辞で




23/27
まとめ




24/27
いいところ
        ●   UI作成がすごい便利
        ●
            いろんな所で動く
        ●   痴颈蝉耻补濒厂迟耻诲颈辞でRuby…?




25/27
残念なところ
        ●
            描画がゲーム向きでない
        ●
            キーボードとマウスのみ
        ●
            デバッグめんどい




26/27
おすすめ
        ●   UIが複雑なゲームにおすすめ
        ●   Expression BlendはゲームUIに便利
        ●   Visual StudioのIronRubyサポート拡大
            に期待




27/27

More Related Content

Iron rubyとsilverlightとゲームと

  • 2. 自己绍介 ● kumaryu (坂本龍一) ● Rubyゲーム会議2010主催者 ● 組み込みっぽいことやってます ● (rsdlェ…) 2/27
  • 3. 概要 ● IronRubyと厂颈濒惫别谤濒颈驳丑迟について ● ゲーム作った ● Silverlightとゲームについて ● まとめと今後 3/27
  • 4. 滨谤辞苍搁耻产测について ● .NET版Ruby ● 1.8.6ベース ● .NETのクラスをそのまま使える ● 午後のセッションを見よう ● http://ironruby.net/ 4/27
  • 5. 厂颈濒惫别谤濒颈驳丑迟について ● MS版Flash ● Windows?Mac?Linux (Moonlight) ● ActionScriptのかわりに.NET ● IronRubyも動く ● http://msdn.microsoft.com/ja- jp/silverlight/ 5/27
  • 6. ゲーム作った デモ 6/27
  • 7. ゲーム作った ● STGぽいもの ● 半リアルタイム? ● 1ボタンでできる ● ブラウザ上でも遊びやすい 7/27
  • 9. 厂颈濒惫别谤濒颈驳丑迟の描画 ● コントロールを置いて描画 ● Imageをたくさん配置が基本 ● アルファブレンドできる ● 加算や減算がない… 9/27
  • 10. WriteableBitmap ● オフスクリーン描画 ● コントロールなんでも描ける ● 増減しそうなものを描く ● 背景 ● キャラ ● 弾 10/27
  • 12. UI ● 標準コントロールを改造 ● リソースをいじるだけ 12/27
  • 13. UI ProgressBar ListBox Button 13/27
  • 14. 更新処理 ● 描画時に呼ばれるイベント ● CompositionTarget.Rendering ● 60fps…? 14/27
  • 15. 更新処理の中身 ● 至って普通のRubyコード ● REXMLやRaccもそのまま使える 15/27
  • 16. 衝突判定 ● 見た目で衝突判定 ● VisualTreeHelper.FindElementsInHostC oordinates ● 背景との衝突判定に使用 ● 良い子はマネしない 16/27
  • 17. アニメーション ● リソースにアニメーション定義 ● イベントに応じて再生 ● 非同期再生 ● 表示にだけ使える 17/27
  • 18. パフォーマンス ● IronRubyはそこそこ ● 描画もそこそこ ● HWアクセラレーション 18/27
  • 19. ハードウェアアクセラレーション ● 使える状況が限定される ● Windowsのみ ● WriteableBitmap不可 ● そこまでしなくてもいいかも 19/27
  • 20. 开発环境 ● Chiron ● VisualStudio 20/27
  • 21. 颁丑颈谤辞苍で ● コマンドライン起動の開発用サーバ ● rbファイルを書くだけ ● デバッグはやりづらい ● monoを使えばMacやLinuxでも 21/27
  • 22. 痴颈蝉耻补濒厂迟耻诲颈辞で ● 変数の中身も見れる ● ブレークポイントも張れる ● デバッグ起動が遅い? 22/27
  • 25. いいところ ● UI作成がすごい便利 ● いろんな所で動く ● 痴颈蝉耻补濒厂迟耻诲颈辞でRuby…? 25/27
  • 26. 残念なところ ● 描画がゲーム向きでない ● キーボードとマウスのみ ● デバッグめんどい 26/27
  • 27. おすすめ ● UIが複雑なゲームにおすすめ ● Expression BlendはゲームUIに便利 ● Visual StudioのIronRubyサポート拡大 に期待 27/27