(2013.7.3 追記;
Ruby 2.0.0-p.247 では rsdl もインストールできました!)
『Rubyではじめるゲームプログラミング 』(山本団著)
を Mac で動かしたくて、ゲームライブラリ MyGame をインストールしてみました。
必要なライブラリは;
・SDL
・SDL_image
・SDL_mixer
・SDL_ttf
(その他、必要に応じた SDL関連ライブラリ)
・SGE(SDL Graphics Extension)
・Ruby/SDL
・rsdl(Mac で Ruby/SDLを使用する際に必要なライブラリ)
・MyGame
基本的には、この順番にインストールしていきます。
以前も、Mac にRuby/SDL等をインストールするのには苦労しましたが、
今回はなんとかインストールすることができました。
→・Mac OS X Lion にゲームライブラリ Ruby/SDL インストールではまった
→・Mac OS X に Ruby/SDL のライブラリをインストール
・Ruby 1.9.3-p.429 では成功、Ruby 2.0.0-p.195 では失敗(後述)
○手順
0.Command Line Tools(Xcode)、Homebrew のインストール
以前の記事を参照;
→・ Ruby 2.0.0 を Homebrew + rbenv で OS X Mountain Lion にインストール
Ruby/SDL 2.1.3 から SGE が含まれるようになったので、SGE のインストールは省略できるかも。
mitmul さんの Homebrew Fomula の方が新しかったので、こちらを使用してインストール
というエラーが出たので;
→ install_mygame.rb の中の Config をすべて RbConfig に書き換えて
○ MyGame が必要
とりあえず、ちゃんとインストールできたようです。
Ruby 2.0.0-p.247 では rsdl もインストールできました!)
『Rubyではじめるゲームプログラミング 』(山本団著)
を Mac で動かしたくて、ゲームライブラリ MyGame をインストールしてみました。
必要なライブラリは;
・SDL
・SDL_image
・SDL_mixer
・SDL_ttf
(その他、必要に応じた SDL関連ライブラリ)
・SGE(SDL Graphics Extension)
・Ruby/SDL
・rsdl(Mac で Ruby/SDLを使用する際に必要なライブラリ)
・MyGame
基本的には、この順番にインストールしていきます。
以前も、Mac にRuby/SDL等をインストールするのには苦労しましたが、
今回はなんとかインストールすることができました。
→・Mac OS X Lion にゲームライブラリ Ruby/SDL インストールではまった
→・Mac OS X に Ruby/SDL のライブラリをインストール
○ 環境
・OS X Mountain Lion 10.8.4、Lion 10.7.5 ともに同じ手順で成功
・OS X Mountain Lion 10.8.4、Lion 10.7.5 ともに同じ手順で成功
・Ruby 1.9.3-p.429 では成功、Ruby 2.0.0-p.195 では失敗(後述)
○手順
0.Command Line Tools(Xcode)、Homebrew のインストール
以前の記事を参照;
→・ Ruby 2.0.0 を Homebrew + rbenv で OS X Mountain Lion にインストール
1.SDL(および関連ライブラリ)のインストール
Homebrew を使用
$ brew update(Homebrew 自体と formula を最新版に)
$ brew upgrade(更新があるパッケージを再ビルド)
$ brew doctor(エラーがでなければ OK)
$ brew doctor(エラーがでなければ OK)
$ brew install sdl
$ brew install sdl_image
$ brew install sdl_mixer
$ brew install sdl_ttf
必要なら、その他 SDL 関連ライブラリもインストール
(sdl_gfx、sdl_rtf、sdl_sound など)
※ 以前は Homebrew でインストール失敗したが、今回すべて成功
2.SGE(SDL Graphics Extension)のインストール
(2013.11.18 追記;Ruby/SDL 2.1.3 から SGE が含まれるようになったので、SGE のインストールは省略できるかも。
= SGEをインストールせずに使うRuby/SDLが内部で SGE を持っています。gem install rubysdl -- --enable-bundled-sge〜(中略)〜ただし、この仕組みはできれば使わないでください。SGEが別にインストール可能ならそちらを使ってください。
〜 「Ruby/SDL README.ja」より)
これだけは、Homebrew にない
(参考)
→ https://gist.github.com/yhara/3115276
: yhara(Yutaka HARA)さん自作の Homebrew Formula を使用
: yhara(Yutaka HARA)さん自作の Homebrew Formula を使用
→ https://gist.github.com/yhara/3115276
: yhara(Yutaka HARA)さん作成の Homebrew Formula を使用
: yhara(Yutaka HARA)さん作成の Homebrew Formula を使用
→ https://gist.github.com/mitmul/5410467
: mitmul(Shunta Saito)さん自作の Homebrew Fomula を使用
: mitmul(Shunta Saito)さん自作の Homebrew Fomula を使用
(2014.5.28 追記;
こちらにも SGEのインストール法が載っていました。こちらの方が情報が新しいかも
mitmul さんの Homebrew Fomula の方が新しかったので、こちらを使用してインストール
$ brew install https://gist.github.com/mitmul/5410467/raw/c4fa716635e951b61f489726976b10f00dd41306/sge.rb
3.Ruby/SDL のインストール
$ gem update --system(RubyGems を最新に)
$ gem install rubysdl
4.rsdl のインストール
※ Mac で Ruby/SDL を起動するのに必要。
Macでは、コマンドの実行は $ ruby xxx.rb ではなく、$ rsdl xxx.rb とすること。
$ gem install rsdl
※ Ruby 2.0.0-p.195 では失敗
そのため、今回は Ruby 1.9.3-p.429 を使うことにしました。
(2013.7.3 追記;
Ruby 2.0.0-p247 では、インストールできました!)
(2013.7.3 追記;
Ruby 2.0.0-p247 では、インストールできました!)
○動作確認;
$ ruby -r sdl -e 'p [:mixer, SDL.constants.include?(:Mixer)]'
$ ruby -r sdl -e 'p [:ttf, SDL.constants.include?(:TTF)]'
$ ruby -r sdl -e 'p [:sge, SDL.respond_to?(:autoLock)]'
すべて true ならば OK。
$ rsdl -r sdl -e 'SDL.init(SDL::INIT_EVERYTHING); SDL.set_video_mode(640, 480, 16, SDL::SWSURFACE); sleep(1)'
灰色のウィンドウが 1秒間表れて閉じれば OK。
5.MyGame のインストール
MyGame ホームページ から、最新版 mygame-0.9.1.tar.gz をダウンロード
mygame-0.9.1.tar.gzを展開し、
$ cd (展開したディレクトリ)
で、展開したディレクトリに移動し、
$ cd (展開したディレクトリ)
で、展開したディレクトリに移動し、
$ ruby install_mygame.rb
※ Use RbConfig instead of obsolete and deprecated Config.
というエラーが出たので;
→ install_mygame.rb の中の Config をすべて RbConfig に書き換えて
再度実行。
○動作確認;
$ rsdl -r mygame/boot -e ""
※ /Users/user0/.rbenv/versions/1.9.3-p429/lib/ruby/site_ruby/1.9.1/mygame.rb:311: Use RbConfig instead of obsolete and deprecated Config.
とエラーが出たので;
→/Users/user0/.rbenv/versions/1.9.3-p429/lib/ruby/site_ruby/1.9.1ディレクトリ内の
mygame.rb 311行目の Config を RbConfig
→/Users/user0/.rbenv/versions/1.9.3-p429/lib/ruby/site_ruby/1.9.1ディレクトリ内の
mygame.rb 311行目の Config を RbConfig
を書き換える。
あるいは;
あるいは;
→(展開したディレクトリ)/libディレクトリ内の
mygame.rbの311行目の Config を RbConfig に書き換えて、再度
mygame.rbの311行目の Config を RbConfig に書き換えて、再度
$ cd (展開したディレクトリ)
$ ruby install_mygame.rb
を実行してもよい。真っ黒なウィンドウが表れれば OK。
6.いろいろなサンプルプログラムで動作確認
(注意)
・Mac では Ruby/SDLを使ったプログラムの実行コマンドは、$ ruby xxx.rb ではなく、$ rsdl xxx.rb とすること。
・require の動作が変わったため、プログラムによっては require でエラーが出ることがある。
(Ruby 1.9.2 から $LOAD_PATH にカレントディレクトリ "." が含まれなくなったため。)
そのときは、require 'xxx' を require_relative 'xxx' と書き換えれば動くことが多い。
(2014.5.28 追記;
あるいは、Ruby の起動時にコマンドラインオプション -I directory名 を使ってファイルをロードするパスを追加すればよい。(カレントディレクトリを追加するには .(ドット)を追加。)
$ rsdl -I. xxx.rb
で実行
(サンプルプログラム)
○ Ruby/SDL が必要
○ Ruby/SDL が必要
○ MyGame が必要
とりあえず、ちゃんとインストールできたようです。
(※音声がうまく再生されないものもありましたが。)
(追記;Qiita [キータ] にも投稿してみました;
→・MacにRuby/SDL、rsdl、SGEを入れて、ゲームライブラリMyGameを動かす)
Rubyではじめるゲームプログラミング―人気の国産言語で、誰でも簡単にゲームが作れる! (I・O BOOKS) [単行本]
著者:山本 団
出版:工学社
(2007-07)
(追記;Qiita [キータ] にも投稿してみました;
→・MacにRuby/SDL、rsdl、SGEを入れて、ゲームライブラリMyGameを動かす)
Rubyではじめるゲームプログラミング―人気の国産言語で、誰でも簡単にゲームが作れる! (I・O BOOKS) [単行本]
著者:山本 団
出版:工学社
(2007-07)