たむらです。ruby-ext の方を連休中にチェックしてませんでした。 
すみません。 
# 今回まで、スレッド切ってしまいます。申し訳ない。 

大林さん wrote: 
>>module SDL 
>> class Error < StandardError # SDLで生じるエラーを通知するクラス 
>> class Surface # 画像を描きこめるフィールド 
>> class Screen < Surface # ここに描きこまれた画像が表示される 
>> class Event # キーやマウスなどをとりあつかう 
>> module Key # Keysymを定義する 
>> module Mixer # 効果音等を使えるようにする SDL_mixerのインタフェース 
>> class JoyStick # ジョイスティックを取り扱う 
>> module WM # ウィンドウを取り扱う 
>> class Font 
>> 
>>基本的にSDLのCに対するインターフェースをそのままRubyに移したような設計です。 

なるほど。この辺りは私のイメージもほぼ同じです。 

>>SDLのAPIに近いインターフェースともっと単純なインターフェースを作る。 
>>単純なほうのインタフェースはRubyで書いてもよいかもしれない。 

『単純なほうの』とは Rubyから扱うという意味ですか ? 

>>音を出すのはSDL_mixerを使う。 

pygame 同様、SDL_image/SDL_ttf/SDL_mixer(smpeg) をそれぞれ
拡張ライブラリ化することを考えてました。 
# win用に、SDL_susie とかあると良さげ 

>>SDLのスレッドは使わない。SDL_AddTimer等に対するインタフェースも提供しない。 

Thread は Rubyにもあるので私もそうするつもりでした。 
# Game などの、Realtime 性を損なったりしないのかしら 

>>SDLだけでは線を引いたり拡大縮小をする関数がないので、これは他の 
>>ライブラリを使う。SGE と言うのが使えそうです。 

SGE 自体を良くしらないのですが(SDL mailing list などに名前は出てきて
いますね) 
利用できる環境は、SDL同様たくさんのOSをサポートしてるのですか 
あと、SDL_ttf があるとはいえ、日本語の表示の問題や利用コストが大きいので 
どうかなと思ってもいます。 

>>最後に、私のSDL拡張ライブラリの実装時に起きた問題について書きます。 
>> 
>>Linux上でSDLを普通にコンパイルしてインストールしたものを使って拡張ライブラリ 
>>を作ると、うまくうごかなくなります。 
>>具体的には、Rubyのスクリプト内でexitやraiseを使って実行を止めると、 
>>きちんと止まらないというものです。 
>> 
>>これはSDL内部でpthreadを使っていることが原因であるようです。 
>>SDLのconfigureのときに --disable-pthreads というフラグをつけると、 
>>この問題は生じないようです。 

この問題は、気づきませんでした。 
サンプルなどのコードを見ると、SDL_Init の後に、atexit(SDL_Quit) をやってることが 
多いみたいですが、SDL_Quit のタイミングは、どうされたのですか ? 
# WIN32OLE は atexit 利用してますね。

あと、出来ればライブラリを作るときより、利用するときに、拡張ライブラリ側
から明示的に pthread を使用しない設定に出来た方がいいですよね 
# もちろん、調べられましたよね ... 

>>上記の問題が解決したため、設計を修正して上に書いたように実装してある程度の 
>>枠組を示せるようにして世に出そうと思っていたのですが...。 

私としては、使える便利なものがあればいいのですが、拡張ライブラリの勉強
がてらと手を出してしまいました。SDLも 1.2 の声が聞こえてきますし、swig
の移植作業の生産性の高さは特筆すべきものだと思います。 
# ruby/qt とかの実績もあるし。福嶋さんも反応されたので一安心 

上のクラス構成と、スクリプト内での raise での動作をまずは、確認して
みます。
レスありがとうございます。 

たむら