トップ 最新 追記

Route 477



2010-08-06

[ruby] RubyGameは固定フレームレート指向ではないらしい

最近、RubyGameをちょっと調べたりしている。

Ruby界には他にもMiyakoとか MyGameとかStarRubyがあるわけだが、 調べている理由は

  • 公式サイトがけっこうちゃんとした感じだから (ただしBugsのアイコン、てめーはダメだ)
  • JRubyで動くから (=本当に並行に動くスレッドが使える。大量のoggファイルの読み込みとか速くなったり…しないかな?)
  • 日本国内でスルーされすぎだからw

という感じ。

んでタイトルの話だけど、doc/managing_framerate.rdocを読むと、

  • 1秒間のフレーム数が固定値になるのを期待するのは良くない
  • @x += enemy_speed * tick_event.seconds みたいな、「秒速○○ピクセル」という書き方をしよう
  • 遅いマシンとか、フレームレートを変えたくなったときのため

と主張されている。

が、僕の知ってるゲームフレームワークはたいてい

  • FPSは60固定
  • 動作が重ければ、描画をスキップしてタイミングを合わせる

という風になっていた。

PC向けのゲームは、CPUやGPUの能力が環境によって極端に違い、モニターのリフレッシュレートもばらばらなので、可変フレームレートにすることが多い。

[ゲームデザイン用語集 ─A Dictionary of Game Design─ - か行より引用]

最近は可変フレームレートが主流なんですかね。

4777512924 4839932115 4798021180


2010-08-11

[ruby] Ruby Twitter Gemの説明を更新しました

長いこと放置してたんですけど、今でもアクセスがあるみたいなので(というか、自分で使う用事ができたので)、内容を0.9.8に合わせて更新しました。

特にBasic認証がそろそろ使えなくなるので、OAuthの使い方について大幅に追記しました。

どうぞご利用ください。


2010-08-16

[ruby] Rubygame(というかruby-sdl-ffi)が脱rsdl化に成功

Mac上のRubyからSDLを使う場合、SDLとMacの初期化処理をうまく組み合わせるためにrsdlを使っていたわけですが、 Rubygameの低レイヤを担当しているruby-sdl-ffi 0.3でrsdlが不要になったらしい。

僕のMacBookではうまく動いています。

MacOSX 10.5 (Leopard)でしか試せてないみたいなので、10.6(Snow Leopard)持ってる人は実験レポートを送ると喜ばれると思います。

$ gem install rubygame
$ cd ~/gems/rubygame-x.y.z/samples/
$ ruby demo_draw.rb

2010-08-24

[book] Rails 3 & Ruby 1.9.2のWEB+DB PRESS Vol.58が本日発売

本日発売のWeb+DB PRESS Vol.58に、「今日から始めるRuby 1.9.2」という記事を書きました。 まだRuby 1.9系を触ったことがない人向けに、先週でたばかりのRuby 1.9.2について紹介しています。

内容は、1.8と1.9のさまざまな差異を「変更されたもの」「削除されたもの」「追加されたもの」の3つに分けて説明しています。多言語化(エンコーディング)の話が一番大きいかな。

昔は「Ruby 1.9はRuby 2.0と名乗るべきだ」という意見も見ましたが、言語としてはそれほど大幅に変わったわけではないので、今となってはマイナーバージョンアップで正しかったのかなと思います。 (YARVになって速くなりました、っていうのも処理系の話で言語自体の変更ではないし。)

4774143243

今週末のRubyKaigi2010会場でも買えるそうです。

特集は、松田さんの「詳解 Rails 3」で、Rails3に興味のある人は買って損のない神記事です(発売よりちょっと先に読ませてもらったのでした)。


2010-08-26

[prog] 波ダッシュvs全角チルダを、いろんな環境で撮ってみた

前回までのあらすじ:Unicodeに収録されたWAVE DASHと、ほとんど同じ見た目を持ちながら、JISとの互換性のために収録されたFULLWIDTH TILDE。Shift_JISとWindows-31J(CP932)でどっちに変換されるかが違ったり、環境によってWAVE DASHが見えなかったり、どうなることやら…!? (Ruby 1.9と波ダッシュ問題に関するメモ)

というわけで

WAVE DASH/FULLWIDTH TILDEと、それに類する問題を持つ文字たち (「文字コード技術入門」を参照のこと) をまとめたUTF-8なHTMLファイル http://route477.net/files/wavedash.html を作って、いろんな環境で表示してみた。

Safari5 on Leopard71528fa0f739185571a21743ce9ca55a.pngFirefox3 on Leopard1d390a91ba8748e42c66d43899bdd942.png
Firefox3 on Ubuntu0e3f637847f2cb785e69a0186f61fd34.pngIE8 on Windows7eab84c45b11a20cd68be85d8dc4e4f5f.png
Mobile Safari on iPod touch452ea42f8b1f8218bf73fe90d70eec4d.png au W61CA7b69dea4ff8905c5a1fc6c40d9e3ff1a.png

感想

auではWAVE DASHが完全に化けた。docomo/softbankは誰か追試してください。と言っても、機種によって違ったりしそうだが…。

PC上の環境では、フォントによって見えたり見えなかったりしそうな気配。上の画像は各ブラウザのデフォルトのフォント。

字形が異なるっていう意味ではPARALELL TOがやっかいそうだ。ですね。

MicrosoftはShift_JISにおけるJIS X 0208の双柱(1-34)のUnicodeでのマッピングに、誤って平行記号を与えてしまった。そのため、Unicodeを介して正しいJISのコードと変換するときに文字化けが発生する為、この文字は機種依存文字として扱われることがある。

この辺をちゃんと理解したい人は「文字コード技術入門」を読みましょう!

477414164X


2010-08-28

[ruby][event] RubyKaigi2010 会期中の成果

  • myruremaをruby-stationに乗せた (works on my machine)
本日のツッコミ(全2件) [ツッコミを入れる]

no6v [せ、先生。それは来年のRubyKaigiです><]

yhara [タイトル修正しました。危うく、未来から来たことがばれてしまうところでしたね。]