Lt130123

3,941 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,941
On SlideShare
0
From Embeds
0
Number of Embeds
3,086
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Lt130123

  1. 1. Ruby/SDLを使ってみる by Ryosuke Yamamoto
  2. 2. 1. 自己紹介・名前 やまもと りょうすけ・所属 情報科学類 2年 11年12月よりAmusementCreatorsに所属
  3. 3. 2. 導入 - Rubyとは ・まつもとゆきひろ(第三学群情報学類卒)  により開発されたプログラミング言語 ・「ストレスなくプログラミングを楽しむ」  ことが重視されている ・Ruby on Railsなどの影響でWebアプリケーシ  ョン開発用言語として普及
  4. 4. Rubyをゲーム制作に使うことは できないだろうか? ↓Ruby/SDLというライブラリが使えるらしい。
  5. 5. 3. Ruby/SDLの概要 SDLとは● Simple DirectMedia Layerの略称● Loki Entertainment社のプログラマーらによって開発され たマルチメディア開発用API● クロスプラットフォーム (Windows, Linux, (Mac)OS X その他で動作)● C言語で記述されているが、様々な言語から使用できる http://www.libsdl.org/
  6. 6. 3. Ruby/SDLの概要 Ruby/SDLとは● SDLをRubyから使うためのライブラリ● 作者:大林一平● (基本的には)Windows, Linuxから使用できる。● 最新版はVer 2.1.2 http://www.kmc.gr.jp/~ohai/rubysdl.html
  7. 7. 3. Ruby/SDLの概要 利点● Rubyでゲーム制作ができる● ライブラリ自体はC言語で書かれているのでそれなりに高 速な描画が可能● WindowsだけでなくLinuxで動くゲームを作れる● 敷居が低い 欠点● Linuxでの環境構築はかなり面倒● (Rubyなので)C言語などに比べれば速度的に劣る
  8. 8. 4. サンプルコード 1 # Ruby/SDL に同梱されているサンプルより転載。コメントは発表者が追加 2 require sdl 3 4 SDL.init( SDL::INIT_VIDEO ) 5 screen = SDL::Screen.open(640,480,16,SDL::SWSURFACE) #画面初期化 6 SDL::WM::set_caption $0, $0 7 8 Red=screen.format.map_rgb(255,0,0) 9 screen.draw_line(20,20,300,200,Red, true) # 直線描画 10 screen.draw_circle(100,100,50,[87,87,87], false, true) # 円描画 11 screen.draw_circle(300,300,30,Red, true, true) 12 screen.draw_ellipse(320,240,100,200,[200,255,0], false, true) # 楕円描画 13 14 screen.flip # 画面の更新 15 16 17 while true 18 while event = SDL::Event.poll 19 case event 20 when SDL::Event::KeyDown, SDL::Event::Quit # キーが押されるか終了イベントが発生したら終了 21 exit 22 end 23 end 24 25 sleep 0.2 26 end
  9. 9. 4. サンプルコード
  10. 10. 5. Ruby/SDLで開発されたゲーム SUPER NARIO GC● 作者:authortNari● 某有名ゲーム風横スクロー ルアクションゲーム● 某有名ゲームを(見た目は ともかく)忠実に再現して いる。● Windows, Linuxのコマン ドラインから実行可能 https://github.com/authorNari/nario
  11. 11. 6. ゲームの配布に関して(Windows限定)● ソースコードのまま配布するのはなんか...         ↓ exerb http://exerb.sourceforge.jp/● 作者:加藤勇也● Rubyのスクリプト/拡張ライブラリを、単一で動作 可能なWindowsの実行ファイル(.exe)に変換できる● Ruby処理系本体を実行形式ファイルに含めるため、 ファイルサイズは大きくなる(最低約500KB)
  12. 12. 7. まとめ/補足● Rubyでもゲーム制作は可能。● Ruby/SDLを用いればWindowsとLinuxで動く ゲームを開発できる。● ただし、(exerbを用いない場合)プレイする側にも 環境の整備が必要。● Ruby用のゲームライブラリは他にStarRubyや Miyakoといったものがある。● ゲーム制作においてRubyは未だマイナーな存在。
  13. 13. 8. 参考URL● 「Ruby/SDLで始めるゲームプログラミング」 http://jp.rubyist.net/magazine/?0018- GameProgramingForRubySDL● 「スーパーマリオブラザーズのようなものをRubyで作っ てみた~Super Nario GC~」 http://d.hatena.ne.jp/authorNari/20080422/1208880928#c12140 16629● 「Ruby のゲーム開発の現状と自作ゲームライブラリ Star Ruby – 星一」 http://www.nicovideo.jp/watch/sm3733775

×