SlideShare una empresa de Scribd logo
1 de 13
Descargar para leer sin conexión
Ruby/SDLを使ってみる




      by Ryosuke Yamamoto
1. 自己紹介


・名前
 やまもと りょうすけ

・所属
 情報科学類 2年
 11年12月よりAmusementCreatorsに所属
2. 導入 - Rubyとは

 ・まつもとゆきひろ(第三学群情報学類卒)
  により開発されたプログラミング言語
 ・「ストレスなくプログラミングを楽しむ」
  ことが重視されている
 ・Ruby on Railsなどの影響でWebアプリケーシ
  ョン開発用言語として普及
Rubyをゲーム制作に使うことは
    できないだろうか?
        ↓
Ruby/SDLというライブラリが使えるらしい。
3. Ruby/SDLの概要

    SDLとは

●
    Simple DirectMedia Layerの略称
●
    Loki Entertainment社のプログラマーらによって開発され
    たマルチメディア開発用API
●
    クロスプラットフォーム
    (Windows, Linux, (Mac)OS X その他で動作)
●
    C言語で記述されているが、様々な言語から使用できる

    http://www.libsdl.org/
3. Ruby/SDLの概要

    Ruby/SDLとは

●
    SDLをRubyから使うためのライブラリ
●
    作者:大林一平
●
    (基本的には)Windows, Linuxから使用できる。
●
    最新版はVer 2.1.2

    http://www.kmc.gr.jp/~ohai/rubysdl.html
3. Ruby/SDLの概要

    利点
●
    Rubyでゲーム制作ができる
●
    ライブラリ自体はC言語で書かれているのでそれなりに高
    速な描画が可能
●
    WindowsだけでなくLinuxで動くゲームを作れる
●
    敷居が低い

    欠点
●
    Linuxでの環境構築はかなり面倒
●
    (Rubyなので)C言語などに比べれば速度的に劣る
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
4. サンプルコード
5. Ruby/SDLで開発されたゲーム

    SUPER NARIO GC

●
    作者:authortNari
●
    某有名ゲーム風横スクロー
    ルアクションゲーム
●
    某有名ゲームを(見た目は
    ともかく)忠実に再現して
    いる。
●
    Windows, Linuxのコマン
    ドラインから実行可能


    https://github.com/authorNari/nario
6. ゲームの配布に関して(Windows限定)

●
    ソースコードのまま配布するのはなんか...
            ↓
    exerb http://exerb.sourceforge.jp/
●
    作者:加藤勇也
●
    Rubyのスクリプト/拡張ライブラリを、単一で動作
    可能なWindowsの実行ファイル(.exe)に変換できる
●
    Ruby処理系本体を実行形式ファイルに含めるため、
    ファイルサイズは大きくなる(最低約500KB)
7. まとめ/補足

●
    Rubyでもゲーム制作は可能。
●
    Ruby/SDLを用いればWindowsとLinuxで動く
    ゲームを開発できる。
●
    ただし、(exerbを用いない場合)プレイする側にも
    環境の整備が必要。
●
    Ruby用のゲームライブラリは他にStarRubyや
    Miyakoといったものがある。
●
    ゲーム制作においてRubyは未だマイナーな存在。
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

Más contenido relacionado

La actualidad más candente

2014.09.16 jsオジサン3
2014.09.16 jsオジサン32014.09.16 jsオジサン3
2014.09.16 jsオジサン3pandeiro245
 
ROSチュートリアル ROBOMECH2018
ROSチュートリアル ROBOMECH2018ROSチュートリアル ROBOMECH2018
ROSチュートリアル ROBOMECH2018Ryuichi Ueda
 
スクリーンリーダーと点字ディスプレイの話
スクリーンリーダーと点字ディスプレイの話スクリーンリーダーと点字ディスプレイの話
スクリーンリーダーと点字ディスプレイの話Takuya Nishimoto
 
解説 Windows 10 May 2020 Update
解説 Windows 10 May 2020 Update解説 Windows 10 May 2020 Update
解説 Windows 10 May 2020 UpdateTomokazu Kizawa
 
Discord botの作成(基盤編)
Discord botの作成(基盤編)Discord botの作成(基盤編)
Discord botの作成(基盤編)Yusuke Sabi
 
Windows Subsystem for Linux 2
Windows Subsystem for Linux 2Windows Subsystem for Linux 2
Windows Subsystem for Linux 2Tomokazu Kizawa
 
Windows Azureで Webサーバーを再発明してみる
Windows AzureでWebサーバーを再発明してみるWindows AzureでWebサーバーを再発明してみる
Windows Azureで Webサーバーを再発明してみるSunao Tomita
 
クソゲー供養会発表 THE我慢レース
クソゲー供養会発表 THE我慢レースクソゲー供養会発表 THE我慢レース
クソゲー供養会発表 THE我慢レース高本 徹
 
マインクラフトPEのマルチプレイサーバー立ててみた
マインクラフトPEのマルチプレイサーバー立ててみたマインクラフトPEのマルチプレイサーバー立ててみた
マインクラフトPEのマルチプレイサーバー立ててみたMasaya Hayashi
 
Context free
Context freeContext free
Context freeKei Yagi
 
Structure synth
Structure synthStructure synth
Structure synthKei Yagi
 
Nitrous.IOを触ってみた~web IDE(クラウドIDE)について~
Nitrous.IOを触ってみた~web IDE(クラウドIDE)について~Nitrous.IOを触ってみた~web IDE(クラウドIDE)について~
Nitrous.IOを触ってみた~web IDE(クラウドIDE)について~Shin O
 
チームグリグリ メンバーの個性を生かすゲーム作り
チームグリグリ メンバーの個性を生かすゲーム作りチームグリグリ メンバーの個性を生かすゲーム作り
チームグリグリ メンバーの個性を生かすゲーム作りIGDA Japan
 
楽しいゲーム開発管理
楽しいゲーム開発管理楽しいゲーム開発管理
楽しいゲーム開発管理Maki Koiwa
 

La actualidad más candente (20)

2014.09.16 jsオジサン3
2014.09.16 jsオジサン32014.09.16 jsオジサン3
2014.09.16 jsオジサン3
 
Gameprog1
Gameprog1Gameprog1
Gameprog1
 
ROSチュートリアル ROBOMECH2018
ROSチュートリアル ROBOMECH2018ROSチュートリアル ROBOMECH2018
ROSチュートリアル ROBOMECH2018
 
Dockerぐらし!
Dockerぐらし!Dockerぐらし!
Dockerぐらし!
 
Nexus7を触ってみました
Nexus7を触ってみましたNexus7を触ってみました
Nexus7を触ってみました
 
スクリーンリーダーと点字ディスプレイの話
スクリーンリーダーと点字ディスプレイの話スクリーンリーダーと点字ディスプレイの話
スクリーンリーダーと点字ディスプレイの話
 
解説 Windows 10 May 2020 Update
解説 Windows 10 May 2020 Update解説 Windows 10 May 2020 Update
解説 Windows 10 May 2020 Update
 
Discord botの作成(基盤編)
Discord botの作成(基盤編)Discord botの作成(基盤編)
Discord botの作成(基盤編)
 
SnapDishの事例
SnapDishの事例SnapDishの事例
SnapDishの事例
 
Windows Subsystem for Linux 2
Windows Subsystem for Linux 2Windows Subsystem for Linux 2
Windows Subsystem for Linux 2
 
em-dosbox
em-dosboxem-dosbox
em-dosbox
 
Windows Azureで Webサーバーを再発明してみる
Windows AzureでWebサーバーを再発明してみるWindows AzureでWebサーバーを再発明してみる
Windows Azureで Webサーバーを再発明してみる
 
クソゲー供養会発表 THE我慢レース
クソゲー供養会発表 THE我慢レースクソゲー供養会発表 THE我慢レース
クソゲー供養会発表 THE我慢レース
 
マインクラフトPEのマルチプレイサーバー立ててみた
マインクラフトPEのマルチプレイサーバー立ててみたマインクラフトPEのマルチプレイサーバー立ててみた
マインクラフトPEのマルチプレイサーバー立ててみた
 
Context free
Context freeContext free
Context free
 
Structure synth
Structure synthStructure synth
Structure synth
 
Nitrous.IOを触ってみた~web IDE(クラウドIDE)について~
Nitrous.IOを触ってみた~web IDE(クラウドIDE)について~Nitrous.IOを触ってみた~web IDE(クラウドIDE)について~
Nitrous.IOを触ってみた~web IDE(クラウドIDE)について~
 
チームグリグリ メンバーの個性を生かすゲーム作り
チームグリグリ メンバーの個性を生かすゲーム作りチームグリグリ メンバーの個性を生かすゲーム作り
チームグリグリ メンバーの個性を生かすゲーム作り
 
楽しいゲーム開発管理
楽しいゲーム開発管理楽しいゲーム開発管理
楽しいゲーム開発管理
 
Tizen native application
Tizen native applicationTizen native application
Tizen native application
 

Destacado

隣の業界、のぞいてみませんか?
隣の業界、のぞいてみませんか?隣の業界、のぞいてみませんか?
隣の業界、のぞいてみませんか?Akira Ikeda
 
ゲームコミュニティサミット2014「*いどのなかにいる*」
ゲームコミュニティサミット2014「*いどのなかにいる*」ゲームコミュニティサミット2014「*いどのなかにいる*」
ゲームコミュニティサミット2014「*いどのなかにいる*」Kohki Miki
 
ゲーム開発をオープンに楽しもう
ゲーム開発をオープンに楽しもうゲーム開発をオープンに楽しもう
ゲーム開発をオープンに楽しもうrerofumi
 
通信対戦ゲームを作った話
通信対戦ゲームを作った話通信対戦ゲームを作った話
通信対戦ゲームを作った話mipsparc
 
月商数千万のソーシャルゲームを作る方法
月商数千万のソーシャルゲームを作る方法月商数千万のソーシャルゲームを作る方法
月商数千万のソーシャルゲームを作る方法Ryo Akabane
 
SDL2の紹介
SDL2の紹介SDL2の紹介
SDL2の紹介nyaocat
 
Lawsuit versus 1 and 1 Electric and Sami Khosravi
Lawsuit versus 1 and 1 Electric and Sami KhosraviLawsuit versus 1 and 1 Electric and Sami Khosravi
Lawsuit versus 1 and 1 Electric and Sami KhosraviDaryoush Niknejad
 
Alexa Tell Me I'm Groovy Greach 2017
Alexa Tell Me I'm Groovy Greach 2017Alexa Tell Me I'm Groovy Greach 2017
Alexa Tell Me I'm Groovy Greach 2017Ryan Vanderwerf
 
La mutation numérique - Audition au CESER Aquitaine
La mutation numérique - Audition au CESER Aquitaine La mutation numérique - Audition au CESER Aquitaine
La mutation numérique - Audition au CESER Aquitaine Thomas Gibertie
 
Rapid Data Modeling and Testing with FakeIt
Rapid Data Modeling and Testing with FakeItRapid Data Modeling and Testing with FakeIt
Rapid Data Modeling and Testing with FakeItAaron Benton
 
Profinder Chamber of Commerce
Profinder Chamber of CommerceProfinder Chamber of Commerce
Profinder Chamber of CommerceJeevan Balani
 
Converting a nuisance into Value:Financing Sutainable Water Hyacinth Manageme...
Converting a nuisance into Value:Financing Sutainable Water Hyacinth Manageme...Converting a nuisance into Value:Financing Sutainable Water Hyacinth Manageme...
Converting a nuisance into Value:Financing Sutainable Water Hyacinth Manageme...CPA Stephen Omondi Okoth
 
rashes when to worry
rashes when to worryrashes when to worry
rashes when to worryTarek Kotb
 
Search as main navigation
Search as main navigationSearch as main navigation
Search as main navigationpunkt.de GmbH
 

Destacado (18)

隣の業界、のぞいてみませんか?
隣の業界、のぞいてみませんか?隣の業界、のぞいてみませんか?
隣の業界、のぞいてみませんか?
 
ゲームコミュニティサミット2014「*いどのなかにいる*」
ゲームコミュニティサミット2014「*いどのなかにいる*」ゲームコミュニティサミット2014「*いどのなかにいる*」
ゲームコミュニティサミット2014「*いどのなかにいる*」
 
Quine
QuineQuine
Quine
 
ゲーム開発をオープンに楽しもう
ゲーム開発をオープンに楽しもうゲーム開発をオープンに楽しもう
ゲーム開発をオープンに楽しもう
 
TurnOn 特徴について
TurnOn 特徴についてTurnOn 特徴について
TurnOn 特徴について
 
通信対戦ゲームを作った話
通信対戦ゲームを作った話通信対戦ゲームを作った話
通信対戦ゲームを作った話
 
月商数千万のソーシャルゲームを作る方法
月商数千万のソーシャルゲームを作る方法月商数千万のソーシャルゲームを作る方法
月商数千万のソーシャルゲームを作る方法
 
SDL2の紹介
SDL2の紹介SDL2の紹介
SDL2の紹介
 
Lawsuit versus 1 and 1 Electric and Sami Khosravi
Lawsuit versus 1 and 1 Electric and Sami KhosraviLawsuit versus 1 and 1 Electric and Sami Khosravi
Lawsuit versus 1 and 1 Electric and Sami Khosravi
 
Alexa Tell Me I'm Groovy Greach 2017
Alexa Tell Me I'm Groovy Greach 2017Alexa Tell Me I'm Groovy Greach 2017
Alexa Tell Me I'm Groovy Greach 2017
 
La mutation numérique - Audition au CESER Aquitaine
La mutation numérique - Audition au CESER Aquitaine La mutation numérique - Audition au CESER Aquitaine
La mutation numérique - Audition au CESER Aquitaine
 
La politica frente a los desastres naturales en asia
La politica frente a los desastres naturales en asiaLa politica frente a los desastres naturales en asia
La politica frente a los desastres naturales en asia
 
Rapid Data Modeling and Testing with FakeIt
Rapid Data Modeling and Testing with FakeItRapid Data Modeling and Testing with FakeIt
Rapid Data Modeling and Testing with FakeIt
 
Profinder Chamber of Commerce
Profinder Chamber of CommerceProfinder Chamber of Commerce
Profinder Chamber of Commerce
 
Cc 4Q16_eng
Cc 4Q16_engCc 4Q16_eng
Cc 4Q16_eng
 
Converting a nuisance into Value:Financing Sutainable Water Hyacinth Manageme...
Converting a nuisance into Value:Financing Sutainable Water Hyacinth Manageme...Converting a nuisance into Value:Financing Sutainable Water Hyacinth Manageme...
Converting a nuisance into Value:Financing Sutainable Water Hyacinth Manageme...
 
rashes when to worry
rashes when to worryrashes when to worry
rashes when to worry
 
Search as main navigation
Search as main navigationSearch as main navigation
Search as main navigation
 

Similar a Lt130123

Practical Android scripting with Ruby
Practical Android scripting with RubyPractical Android scripting with Ruby
Practical Android scripting with RubyMasahiro Kawato
 
Android端末と組み込み機器が連携する Android Make Days
Android端末と組み込み機器が連携する Android Make Days Android端末と組み込み機器が連携する Android Make Days
Android端末と組み込み機器が連携する Android Make Days Yasuhiro Ishii
 
サーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整える
サーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整えるサーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整える
サーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整えるFuminobu Takeyama
 
Rosserial無線化への招待 〜Invitation to wirelessization by rosserial〜
Rosserial無線化への招待 〜Invitation to wirelessization by rosserial〜Rosserial無線化への招待 〜Invitation to wirelessization by rosserial〜
Rosserial無線化への招待 〜Invitation to wirelessization by rosserial〜Tatsuya Fukuta
 
Beginner for install Android applications in Xiaomi MiReader  はじめてのXiaomi MiR...
Beginner for install Android applications in Xiaomi MiReader  はじめてのXiaomi MiR...Beginner for install Android applications in Xiaomi MiReader  はじめてのXiaomi MiR...
Beginner for install Android applications in Xiaomi MiReader  はじめてのXiaomi MiR...Netwalker lab kapper
 
Native Extensionのビルドどうしてますか?
Native Extensionのビルドどうしてますか?Native Extensionのビルドどうしてますか?
Native Extensionのビルドどうしてますか?Misao X
 
Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux 2
Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux 2Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux 2
Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux 2Netwalker lab kapper
 
unityゲーム開発基礎講座
unityゲーム開発基礎講座unityゲーム開発基礎講座
unityゲーム開発基礎講座Yuki Tada
 
Iron rubyとsilverlightとゲームと
Iron rubyとsilverlightとゲームとIron rubyとsilverlightとゲームと
Iron rubyとsilverlightとゲームとkumaryu
 
Node-red 10本ノック(visual recognition apiを絡めて)
Node-red 10本ノック(visual recognition apiを絡めて)Node-red 10本ノック(visual recognition apiを絡めて)
Node-red 10本ノック(visual recognition apiを絡めて)岡田 裕行
 
Rubyボードハンズオン
RubyボードハンズオンRubyボードハンズオン
Rubyボードハンズオン三七男 山本
 
みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」techtalkdwango
 
Go mobileでモバイルアプリを作ろう
Go mobileでモバイルアプリを作ろうGo mobileでモバイルアプリを作ろう
Go mobileでモバイルアプリを作ろうTakuya Ueda
 
Unityとスマートフォンアプリの最適化
Unityとスマートフォンアプリの最適化Unityとスマートフォンアプリの最適化
Unityとスマートフォンアプリの最適化COLOPL, Inc.
 
Mrubyについて 第16回 岡山ruby, ruby on rails勉強会
Mrubyについて   第16回 岡山ruby, ruby on rails勉強会Mrubyについて   第16回 岡山ruby, ruby on rails勉強会
Mrubyについて 第16回 岡山ruby, ruby on rails勉強会Masaya Konishi
 
ET2016 Smart Japan Alliance Llilum 161118
ET2016 Smart Japan Alliance Llilum 161118ET2016 Smart Japan Alliance Llilum 161118
ET2016 Smart Japan Alliance Llilum 161118Atomu Hidaka
 
OSC@京都 2011-07-15
OSC@京都 2011-07-15OSC@京都 2011-07-15
OSC@京都 2011-07-15Hiroshi Bunya
 

Similar a Lt130123 (20)

Practical Android scripting with Ruby
Practical Android scripting with RubyPractical Android scripting with Ruby
Practical Android scripting with Ruby
 
Android端末と組み込み機器が連携する Android Make Days
Android端末と組み込み機器が連携する Android Make Days Android端末と組み込み機器が連携する Android Make Days
Android端末と組み込み機器が連携する Android Make Days
 
Hello Ruby
Hello RubyHello Ruby
Hello Ruby
 
サーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整える
サーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整えるサーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整える
サーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整える
 
Rosserial無線化への招待 〜Invitation to wirelessization by rosserial〜
Rosserial無線化への招待 〜Invitation to wirelessization by rosserial〜Rosserial無線化への招待 〜Invitation to wirelessization by rosserial〜
Rosserial無線化への招待 〜Invitation to wirelessization by rosserial〜
 
Beginner for install Android applications in Xiaomi MiReader  はじめてのXiaomi MiR...
Beginner for install Android applications in Xiaomi MiReader  はじめてのXiaomi MiR...Beginner for install Android applications in Xiaomi MiReader  はじめてのXiaomi MiR...
Beginner for install Android applications in Xiaomi MiReader  はじめてのXiaomi MiR...
 
Native Extensionのビルドどうしてますか?
Native Extensionのビルドどうしてますか?Native Extensionのビルドどうしてますか?
Native Extensionのビルドどうしてますか?
 
Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux 2
Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux 2Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux 2
Android タブレットにLinuxを入れて色々と遊んでみよう 続編その2 Hacking of Android Tablet on Linux 2
 
unityゲーム開発基礎講座
unityゲーム開発基礎講座unityゲーム開発基礎講座
unityゲーム開発基礎講座
 
Iron rubyとsilverlightとゲームと
Iron rubyとsilverlightとゲームとIron rubyとsilverlightとゲームと
Iron rubyとsilverlightとゲームと
 
Node-red 10本ノック(visual recognition apiを絡めて)
Node-red 10本ノック(visual recognition apiを絡めて)Node-red 10本ノック(visual recognition apiを絡めて)
Node-red 10本ノック(visual recognition apiを絡めて)
 
Rubyボードハンズオン
RubyボードハンズオンRubyボードハンズオン
Rubyボードハンズオン
 
みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」
 
Go mobileでモバイルアプリを作ろう
Go mobileでモバイルアプリを作ろうGo mobileでモバイルアプリを作ろう
Go mobileでモバイルアプリを作ろう
 
Unityとスマートフォンアプリの最適化
Unityとスマートフォンアプリの最適化Unityとスマートフォンアプリの最適化
Unityとスマートフォンアプリの最適化
 
Mrubyについて 第16回 岡山ruby, ruby on rails勉強会
Mrubyについて   第16回 岡山ruby, ruby on rails勉強会Mrubyについて   第16回 岡山ruby, ruby on rails勉強会
Mrubyについて 第16回 岡山ruby, ruby on rails勉強会
 
Android0422
Android0422Android0422
Android0422
 
ET2016 Smart Japan Alliance Llilum 161118
ET2016 Smart Japan Alliance Llilum 161118ET2016 Smart Japan Alliance Llilum 161118
ET2016 Smart Japan Alliance Llilum 161118
 
OSC@京都 2011-07-15
OSC@京都 2011-07-15OSC@京都 2011-07-15
OSC@京都 2011-07-15
 
OSC Kansai@Kyoto
OSC Kansai@KyotoOSC Kansai@Kyoto
OSC Kansai@Kyoto
 

Más de amusementcreators

Más de amusementcreators (20)

ライセンスの話
ライセンスの話ライセンスの話
ライセンスの話
 
空間分割
空間分割空間分割
空間分割
 
わたしのゲーミング
わたしのゲーミングわたしのゲーミング
わたしのゲーミング
 
曲線について
曲線について曲線について
曲線について
 
HTML5でゲームが作れます
HTML5でゲームが作れますHTML5でゲームが作れます
HTML5でゲームが作れます
 
C++11のつかいかた
C++11のつかいかたC++11のつかいかた
C++11のつかいかた
 
DUAL SHOCK2で遊ぼう
DUAL SHOCK2で遊ぼうDUAL SHOCK2で遊ぼう
DUAL SHOCK2で遊ぼう
 
Pythonでゲーム作る
Pythonでゲーム作るPythonでゲーム作る
Pythonでゲーム作る
 
ライフゲーム
ライフゲームライフゲーム
ライフゲーム
 
コルーチンを使おう
コルーチンを使おうコルーチンを使おう
コルーチンを使おう
 
20121212
2012121220121212
20121212
 
Kim120 lt 12_6
Kim120 lt 12_6Kim120 lt 12_6
Kim120 lt 12_6
 
かんたん作曲講座(2)
かんたん作曲講座(2)かんたん作曲講座(2)
かんたん作曲講座(2)
 
かんたん作曲講座(1)
かんたん作曲講座(1)かんたん作曲講座(1)
かんたん作曲講座(1)
 
猫には分からないオセロAIの仕組み
猫には分からないオセロAIの仕組み猫には分からないオセロAIの仕組み
猫には分からないオセロAIの仕組み
 
コルーチンでC++でも楽々ゲーム作成!
コルーチンでC++でも楽々ゲーム作成!コルーチンでC++でも楽々ゲーム作成!
コルーチンでC++でも楽々ゲーム作成!
 
フォントのしくみ
フォントのしくみフォントのしくみ
フォントのしくみ
 
AVRマイコン入門
AVRマイコン入門 AVRマイコン入門
AVRマイコン入門
 
読みやすいプログラム、書き換えやすいプログラム
読みやすいプログラム、書き換えやすいプログラム読みやすいプログラム、書き換えやすいプログラム
読みやすいプログラム、書き換えやすいプログラム
 
IEとメモ帳でかんたんゲーム開発
IEとメモ帳でかんたんゲーム開発IEとメモ帳でかんたんゲーム開発
IEとメモ帳でかんたんゲーム開発
 

Último

TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 

Último (10)

TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 

Lt130123

  • 1. Ruby/SDLを使ってみる by Ryosuke Yamamoto
  • 3. 2. 導入 - Rubyとは ・まつもとゆきひろ(第三学群情報学類卒)  により開発されたプログラミング言語 ・「ストレスなくプログラミングを楽しむ」  ことが重視されている ・Ruby on Railsなどの影響でWebアプリケーシ  ョン開発用言語として普及
  • 4. Rubyをゲーム制作に使うことは できないだろうか? ↓ Ruby/SDLというライブラリが使えるらしい。
  • 5. 3. Ruby/SDLの概要 SDLとは ● Simple DirectMedia Layerの略称 ● Loki Entertainment社のプログラマーらによって開発され たマルチメディア開発用API ● クロスプラットフォーム (Windows, Linux, (Mac)OS X その他で動作) ● C言語で記述されているが、様々な言語から使用できる http://www.libsdl.org/
  • 6. 3. Ruby/SDLの概要 Ruby/SDLとは ● SDLをRubyから使うためのライブラリ ● 作者:大林一平 ● (基本的には)Windows, Linuxから使用できる。 ● 最新版はVer 2.1.2 http://www.kmc.gr.jp/~ohai/rubysdl.html
  • 7. 3. Ruby/SDLの概要 利点 ● Rubyでゲーム制作ができる ● ライブラリ自体はC言語で書かれているのでそれなりに高 速な描画が可能 ● WindowsだけでなくLinuxで動くゲームを作れる ● 敷居が低い 欠点 ● Linuxでの環境構築はかなり面倒 ● (Rubyなので)C言語などに比べれば速度的に劣る
  • 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
  • 10. 5. Ruby/SDLで開発されたゲーム SUPER NARIO GC ● 作者:authortNari ● 某有名ゲーム風横スクロー ルアクションゲーム ● 某有名ゲームを(見た目は ともかく)忠実に再現して いる。 ● Windows, Linuxのコマン ドラインから実行可能 https://github.com/authorNari/nario
  • 11. 6. ゲームの配布に関して(Windows限定) ● ソースコードのまま配布するのはなんか...         ↓ exerb http://exerb.sourceforge.jp/ ● 作者:加藤勇也 ● Rubyのスクリプト/拡張ライブラリを、単一で動作 可能なWindowsの実行ファイル(.exe)に変換できる ● Ruby処理系本体を実行形式ファイルに含めるため、 ファイルサイズは大きくなる(最低約500KB)
  • 12. 7. まとめ/補足 ● Rubyでもゲーム制作は可能。 ● Ruby/SDLを用いればWindowsとLinuxで動く ゲームを開発できる。 ● ただし、(exerbを用いない場合)プレイする側にも 環境の整備が必要。 ● Ruby用のゲームライブラリは他にStarRubyや Miyakoといったものがある。 ● ゲーム制作においてRubyは未だマイナーな存在。
  • 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