2010年2月23日

ゲームライブラリMiyakoをインストールしてみた

日経ソフトウェアの連載でおもしろそうな方がいたので、ネットで検索してみると、1時間でテトリスを作ってみたという動画をニコニコ動画に公開していた。
どうしても気になって、ニコ動、ユーザ登録して、視聴してみたら、ほんとうに1時間強でテトリスができあがっていた。
しかも、開発環境のインストールも含めて。

これ、ほんとうにすごいことだなあ。
僕も久々にゲーム作ろうかなと思い、以前から気になっていてだけは買っていたゲームライブラリのMiyakoのインストールを試みる。
予定では、Tetrisの画面ぐらいまでは作成して寝ようかなというところ。

ところがこれが、おおはまり。
Rubyのインストールまでしたのに終わらない(涙)

というわけで、一応やったことの記録。
  1. Ruby 1.9.1のインストール
  2. Macports経由で、SDL関係(libsdl, ttf, gfx, image)、rubysdlなどなど。
    この際、あまりにもエラーが多いので、port upgrade outdated すると、かなりうまく動いた。
  3. 依存パッケージとしてインストールされる、help2manがエラーが出る。めんどうなので、perlモジュールをチェックする部分をコメントアウト。
    後で泣きを見るかもしれないけど、とりあえず今はMiyakoを動かすことが最優先。
  4. SGEをインストール。
    国内のURLを紹介しているサイトのリンクはリンク切れ。
  5. gem経由で、rsdl、miyakoをインストール
    sudo gem install ruby-miyako
以上でインストールは何とか終わったのだが、ここからのエラーが苦しかった。
サンプルを動かそうとすると、sans-serifが見つからないというエラー。
本を参照すると、serifが明朝系、sans-serifがゴシック系のデフォルトフォントらしい。
このフォントは、OSによって適当なものが割り当てられているのだが、どうもこれを見つけることができない。

OSX(Snow Leopard)の場合は、ヒラギノ系が指定されているが、とりあえず、Osaka.ttfをfont.rbに追加してみる。
そうすると、ぶじ動く。

次に、ヒラギノをサンプルのあるディレクトリにコピーして起動するも、エラー。
ヒラギノをhiramin.otfなどの名前に変えて見ると、うまく動く。

どうやら、日本語のフォント名のサーチに失敗している模様。
Rubyの問題かと思って、スクリプトを書いてみて、日本語フォントを読めているかチェック。

Dir.glob("/Library/Fonts/"+"*") {|d|
d = d.encode(Encoding::UTF_8)coding::UTF_8))
d = d.tr("\\", "\/")
print d +"\n" if (d =~ /\/([^\/\.]+\.otf)\z/)
}
というスクリプトを作ってテストしてみても、ちゃんと読めている。
たぶん、こうして読み込んだフォント名と、font.rbで指定したフォント名のマッチの部分がおかしいのだと思う。

が、この辺で力尽きる。

とりあえず、ヒラギノ明朝と角ゴをhiraminとhirakakuというリンクを張り、これをfont.rbで指定してやることで、何とか動くようになった。
やれやれだ。

2 件のコメント:

weed さんのコメント...

私も少しいじってみました。できることがイロイロありそうで、ちょっと楽しみです。

100314-Ruby/Miyakoで簡単なゲーム画面を作ってみた: Non-programmer's Ruby in Pocket

weed さんのコメント...

100314-Ruby/Miyakoで簡単なゲーム画面を作ってみた: Non-programmer's Ruby in Pocket