Ruby の 2Dゲームライブラリの StarRuby を Mac にインストールしたメモです。

ホームページの「Mac OS X で動かす」 は MacPorts を使っています。Homebrew でインストールする情報が少なかったのですが;
→・たった200行で作れるテトリス Ruby編 - a newcomer!

が大変参考になりました。

基本的に、上記の記事の方法で OKでした。
(OS X 10.9 Mavericks、Ruby 2.0.0-p247 で実行)

0.Command Line Tools(Xcode)、Homebrew のインストール
(必要なら rbenv、ruby-build で Ruby のインストールも)

以前の記事を参照;
→・Ruby 2.0.0 を Homebrew + rbenv で OS X Mountain Lion にインストール
(Command Line Tools、Xcode は、なるべく最新のものを選ぶ)


1.SDL関連ライブラリのインストール
$ brew update (Homebrew 自体と formula を最新版に)
$ brew upgrade (更新のあるパッケージを再ビルド)
$ brew doctor ("Your system is raring to brew. "と表示されれば OK)

$ brew install sdl
$ brew install sdl_mixer
$ brew install sdl_ttf
$ brew fontconfig
(必要なら、libpng、freetype、libogg なども)

$ gem update --system(RubyGems を最新に)
$ gem install rsdl 
  
2.StarRuby のインストール
$ brew tap homebrew/versions
$ brew install libpng12
$ brew link libpng12
(Starruby のインストールにはデフォルトの libpng15 ではなく libpng12 が必要なため)

$ git clone git://github.com/hajimehoshi/starruby.git(上記記事から修正)
$ cd starruby
$ ruby extconf.rb
$ make
$ make install

(注;OS X 10.7.5 Lion、Ruby 1.8.7 では、ruby extconf.rb でエラーが出てインストールできませんでした。)


(2014.5.29 追記;
 別の方法でインストールしている記事を見つけました。
$ git clone git://github.com/hajimehoshi/starruby.git
$ cd starruby
$ ruby extconf.rb

#makeのエラーを回避する
$ cat Makefile | sed 's/-multiply_definedsuppress//' > Makefile~
$ mv -f Makefile~ Makefile

$ make
$ make install


3.動作確認
Mac で StarRuby のプログラム(foo.rb)を動かすには、ruby コマンドではなく、rsdl コマンドを使います。
$ rsdl foo.rb
 
・上記記事のテトリス
・StarRuby のフォルダの中の samples に入っているプログラム
・StarRuby のホームページのサンプル

これらが動きました!

ただし;
Font.new("fonts/ORANGEKI", 12))
などで、エラーが出ることがあります。
ここは、OS X のフォントをフルパスで指定すれば OK です。
例えば;
Font.new("/Library/Fonts/Arial.ttf", 12)

(2014.5.29 追記;
 または、./ を追加して、カレントディレクトリからの相対パス指定に変えればOKです。
→ Font.new("./fonts/OANGEKI", 12)

 あるいは、Ruby の起動時にコマンドラインオプション -I directory名 を使ってファイルをロードするパスを追加します。カレントディレクトリを追加するには .(ドット)を追加すればよいので;
$ rsdl -I. foo.rb 
で実行。



これで、いい感じで使えます。
ただ、StarRuby の開発が止まっているようなのが残念です。


もうひとつ、サンプルプログラムを紹介;

_SS400_
日経 ソフトウエア 2012年2月号 』の特別付録
「無料ツールで楽しく学ぶ! ゲームプログラミングを始めよう」の中に
「Part 3 Star Ruby で迷路ゲームを作ろう!」という記事があります。

「日経ソフトウエア」ホームページの バックナンバー紹介(2012年2月号)の ダウンロードから、
「特別付録 ゲームプログラミングを始めよう 記事で紹介したサンプルプログラム」がダウンロードできます。(→・fu1202.zip

解凍した中の「part3」フォルダに StarRuby で作った迷路ゲームが入っています。

$ rsdl maze.rb
と実行すると、
148行目の @font = Font.new("Arial", 24, :bold => true)
でエラーが出るので、
@font = Font.new("/Library/Fonts/Arial.ttf", 24, :bold => true)
と OS X のフォントを指定すると、動きました!

(2014.5.29 追記;
 ここも上記と同じ対応でも動くと思います。)


(Qiita [キータ] にも投稿;