From: Tietew Date: 2003-04-03T21:26:05+09:00 Subject: [ruby-list:37513] Re: Rubyでゲーム開発 On Thu, 3 Apr 2003 20:58:02 +0900 In article <20030403204323.86BB.DANGO@ps.sakura.ne.jp> [[ruby-list:37511] Re: Rubyでゲーム開発] Yamamoto Dan wrote: > > Ruby で DirectX したことがありますが,結論から言うと,「かなり難 > > しい」です。Ruby は,はっきり言って DirectX とあまり相性がよくあ > > りません。これは DirectX 側の問題でもありますし,Ruby と Windows > > との相性の問題でもあります。 > > 相性が悪くかなり難しいということは、起動しなかったり > まともに機能を使えなかったり、使ってると突然落ちる、 > ということですかね。 起動しないことは流石にないですが :-) デッドロックしたり,落ちた りします。 > もしRuby+DirectXが使えないのだとすると、私はC/C++を > 使わなければなりません。でも私にとって難しすぎるC++を使うことは > 想像するだけで足がガクガクしてきてしまいます。 (^^; > > # 私自身がウィンドウの操作性をかなり重視するので, > > # それの影響もあります。 > > 具体的には、どのへんのところが相性が悪いのでしょうか。 > 操作性はかなり重視したいのでそれが追求できないのは困りますね。 もともと Ruby が OS のネイティブスレッドと相性がよくない(という か,考えられて作られていない)ので,スレッドを多用する Windows プログラムと相性がよくないということと,Windows のメッセージルー プをうまく組み込まないとアプリケーションの応答が止まってしまう場 合があるためです。 > > Ruby/SDL についてはよく知らないのでコメントを避けますが,私が一 > > から組んだ限りでは相性の悪さは結構なものでした。 > > > > 速度面に関してはさほど問題はなかったです。むしろビデオカードが足 > > を引っ張っていたくらいです。 > > これは、描画部分をRuby/SDにした場合、安定性には欠けるが > 速度はじゅうぶん出るということですか? > 私が試した限りでは描画量が稼げないので、DirectX を使わざるおえないかな > という感じでした。でもこれは詳しく検証したわけではないので > こちらの実装のせいでパフォーマンスがでなかったのかもしれません。 SDL 自体が DirectX を使うんじゃなかったでしたっけ。 私の実装では,DirectX とのインタフェイスやゲームループなど,速度 を稼がなくてはならない部分は全て C++ で実装し,ゲームロジックの みを Ruby に出しました。ゲームループの実装を Ruby で書くと厳しい かもしれません。 今思い出しましたが,30fps 出ればよしとしていたので,60fps を目指 すのであるとどうだろう… —[ Tietew ]—————————————————————————— メ : tietew@tietew.net / tietew@raug.net / tietew@masuclub.net ホペ: http://www.tietew.net/ Tietew Windows Lab. http://www.masuclub.net/ 鱒倶楽部 指紋: 26CB 71BB B595 09C4 0153 81C4 773C 963A D51B 8CAA