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