[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2chのread.cgiへ]
Update time : 05/30 14:51 / Filesize : 161 KB / Number-of Response : 562
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【Ruby/SDL他】Rubyでゲーム制作・総合スレッド



1 名前:名前は開発中のものです。 [2008/04/02(水) 02:11:27 ID:cxIG00d1]
Ruby/SDL、StarRubyなどを用いてゲームを作る(作ろうとしている)人が
情報交換したり雑談したり質問したりするためのスレッドです。
ツクールXP(RGSS)についてはツクールスレ等でお願いします。

Ruby/SDL
www.kmc.gr.jp/~ohai/rubysdl.html

StarRuby
www.starruby.info/ja/

66 名前:名前は開発中のものです。 mailto:sage [2008/04/18(金) 12:30:18 ID:MYeenWuR]
>>65
MacOS使ってるんだけど、
object-cモジュールの兼ね合いで正常に動作しない。
一応バイナリパッケージ版でrc5版がリリースされてるけど
動作がいまいち安定してないんだよ..

67 名前:名前は開発中のものです。 mailto:sage [2008/04/19(土) 21:13:21 ID:pyAMTUL2]
>>66
Rubyへようこそ

68 名前:名前は開発中のものです。 mailto:sage [2008/04/20(日) 02:03:18 ID:nOrmnF1m]
Rubyだからその辺安心ってわけでもないがな

69 名前:名前は開発中のものです。 mailto:sage [2008/04/21(月) 20:23:31 ID:yXrZrnn7]
俺は逆にOSX+Rubyでのゲーム制作は挫折しました
なんかgemコケるんだよなー

70 名前:名前は開発中のものです。 [2008/04/23(水) 16:14:29 ID:jxFSACYN]
マリオブラザーズをRubyで作ってみた
d.hatena.ne.jp/authorNari/20080422/1208880928

71 名前:名前は開発中のものです。 mailto:sage [2008/04/23(水) 20:49:52 ID:UI+EbsII]
>>70
ソース見てみたが、もっと簡潔にできそうだね

72 名前:名前は開発中のものです。 mailto:sage [2008/05/01(木) 20:46:41 ID:uIZC2Vdr]
保守

73 名前:名前は開発中のものです。 mailto:sage [2008/05/04(日) 08:45:24 ID:BTa1QZ3i]
少し前の話だけど、Ruby/SDL 2.0が出てる
Windows版のリリースはまだみたいだが
ttp://www.kmc.gr.jp/~ohai/

74 名前:名前は開発中のものです。 mailto:sage [2008/05/17(土) 11:23:55 ID:zKBwdQ9K]
mac os x leopardでruby/sdlを使おうとしているのですがうまくいきません
付属のサンプルのうちfpstimer alpha cursor event2 font joy2 movesp randrect stetris testspriteは動きました
それ以外は動きませんでした

どうすればまともに動くようになるでしょうか



75 名前:名前は開発中のものです。 mailto:sage [2008/05/17(土) 14:21:59 ID:9mUdty5M]
動かないって具体的にどうなんのよ
エラーとか出てるならそれも書かないとわからないよ

76 名前:74 mailto:sage [2008/05/17(土) 14:24:09 ID:zKBwdQ9K]
ほぼすべてにおいて下のようなエラーがでます undefined method '****'ってかんじです
sgetest.rb:15: undefined method `drawLine' for #<SDL::Screen:0x1aeca468> (NoMethodError)



77 名前:名前は開発中のものです。 mailto:sage [2008/05/17(土) 14:33:26 ID:9mUdty5M]
その辺のメソッド使うにはSGEを入れてからruby/sdlをビルドする必要がある
ttp://www.kmc.gr.jp/~ohai/rubysdl/README.ja
この辺見てオプションのライブラリ一通り入れると全部の機能使えるようになるぜ

78 名前:74 mailto:sage [2008/05/17(土) 15:31:00 ID:zKBwdQ9K]
>>75
>>77
ありがとうございます
SGEを入れてSDLを再インストールしたら動きました

79 名前:名前は開発中のものです。 mailto:sage [2008/05/21(水) 13:28:10 ID:vzVpxeFw]
今度のRuby Kaigi で StarRubyの中の人が出るんだね

80 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 05:44:15 ID:dDH20x7g]
STGとかでのボス戦みたいに
「画面を覆い尽くす弾幕と、派手なボムでの玉消し」とか
めっさピクセル使うときに一番軽いのって
どのゲーム制作モジュールなんだろ?
候補としてはmygame, miyako, starruby あたりなんだが。

それとも ruby/sdl だけの問題なのだろうか?
既出ネタだったらスマソ。

81 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 07:45:42 ID:wMsF4i4Y]
その三つをベンチ比較するみたいな話題はなかったと思う

もしruby/sdl自体に限界を感じてるのならruby-OpenGLも良い候補かも

82 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 09:01:15 ID:v4+cr6Bp]
>>80
StarRubyはRuby/SDL使ってないはず
だからここで比較するなら

1. Ruby/SDLで直接プログラミング
2. Ruby/SDLに中間層(MyGame, Miyako)を挟む
3. StarRuby

の三択だろう
どれが軽いかは分からん。コード内での工夫にもよるだろうし

83 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 09:09:20 ID:wMsF4i4Y]
>StarRubyはRuby/SDL使ってないはず
いやいや使ってるよ

84 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 10:43:04 ID:pFm8UCsU]
どれもSDL使ってるからピクセル合成についてなら大して変わらなそうな気がするな
たぶん描画より、「画面を覆い尽くす弾幕」の更新、ヒット判定の方がボトルネックになると思うぜ



85 名前:名前は開発中のものです。 [2008/06/25(水) 11:43:05 ID:0H1XKKpH]
>>79
ニコ動に動画あたよ

Ruby のゲーム開発の現状と自作ゲームライブラリ Star Ruby - 星一‐ニコニコ動画(SP1)
www.nicovideo.jp/watch/sm3733775

86 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 13:33:39 ID:JUyYpQJe]
余所から誘導されてきました

SDLでシューティング作ってるんですけど 被弾した時に 画面全体を赤っぽくしたいんですが、画面全体を赤で塗りつぶして半透明にするような処理ってできますか?


87 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 18:46:42 ID:v4+cr6Bp]
>>83
どの辺に?
ソースコード見ても、C言語でガリガリ書いてるようにしか見えないし
ダウンロードページにも「Ruby/SDL は不要です。」って書いてあるよ

もしかして「RubyとSDLを使ってる」っていうオチか
俺が言ってるのは固有名詞の「Ruby/SDL」なんだが

>>86
Surface#fill_rectで塗りつぶした別サーフェス(screenと同じサイズの)を生成し
Surface#set_alphaでαブレンディングを有効にしてから重ねる

88 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 19:19:29 ID:JUyYpQJe]
>>86 返事ありです!

89 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 19:21:07 ID:JUyYpQJe]
ごめ・・また途中でカキコしちまった('A`)改行でSHIFT+Enter押すくせががが

自分もそれでやろうとしたけどなんか出来ないんですよ・・・ もうちょいグーグル先生と逆引きに聞きながらがんばってみます

90 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 20:01:53 ID:JUyYpQJe]
>>87 どうしても重ね方がわからないんだぜ


初心者すぎて死にたい
orz

91 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 20:08:50 ID:nTAJQ39k]
もっと具体的に
(A) 書いたコード(抜粋でも可)
(B) 期待する結果
(C) 実際に起きた結果
を書くと良いかも。
「できない」だけではエスパーじゃないと答えづらいはず。

92 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 22:14:00 ID:JUyYpQJe]
もう書いたコードというより どうやって新しいサーフェスを作って 出力するのかがわからないんです;
SDL::Surface.new(SDL::HWSURFACE,640,480,8,220,10,20,70)
SDL::Surface#fill_rect(0,0,640,480,[220,10,20])
SDL::Surface#set_alpha(SDL::SRCALPHA,70)

ここらへんつかうのわかったんですけど書き方がわからなくて・・・;初心者すぎてごめんなさい;

93 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 22:58:32 ID:kaYQXnzU]
多分、今出来ているコードをうpすれば改変してくれる予感。
暇人は多い。でも、現在のコードが判らないと修正のしようもない。

94 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 23:30:47 ID:JUyYpQJe]
出来ているコードすらないからこまるorz

とりあえず適当に書いて抜粋したけど頭こんがらがってパニックになってます; 初心者にはムリっぽそうです

def act(input)
@pache.act(input)
is_crashed,books = @items.act(@pache)


if is_crashed
SDL::Mixer.halt_music
aka = SDL::Surface.new(SDL::HWSURFACE,640,480,8,220,10,20,70) #←ここで画面全体を赤くしたいです;。
def pityu(aka)
SDL::Surface#fill_rect(0,0,640,480,[220,10,20])
SDL::Surface#set_alpha(SDL::SRCALPHA,50)
end
pityu

sleep 2
# (4) ゲームオーバーになったらハイスコアを更新する
@high_score = @score if @high_score < @score
score #scoreをインスタンスクラスからグローバルクラスに
return :game_over
else
@score += books * 100 # (3) 本を 1 個取るごとに 100 点加算する
return nil
end
end



95 名前:名前は開発中のものです。 mailto:sage [2008/06/25(水) 23:51:55 ID:JUyYpQJe]
わかりにくいのでやっぱりうpしますwww2.uploda.org/uporg1504954.rar.html
汚いソースですけどマジでごめんなさいorz うpする自分も初心者丸出しで恥ずかしい

96 名前:名前は開発中のものです。 mailto:sage [2008/06/26(木) 00:41:08 ID:uCUDTTyx]
とりあえずやっつけでakaの部分書き換えてみた
実際に動くかどうかは未検証

screen = SDL::Screen.get
aka = SDL::Surface.new(screen.flags, screen.w, screen.h, screen.format)
aka.fill_rect(0, 0, aka.w, aka.h,[220,10,20])
aka.set_alpha(SDL::SRCALPHA, 50)
screen.put(aka, 0, 0)

97 名前:名前は開発中のものです。 mailto:sage [2008/06/26(木) 00:48:21 ID:Y1fNGck7]
。・゚・(ノД`)・゚・ ぶわっ
マジありがとうございます; 書き方全然違ってて恥ずかしい・・・;
いまからいれてきてみます。

98 名前:名前は開発中のものです。 mailto:sage [2008/06/26(木) 01:34:03 ID:Y1fNGck7]
うっ・・・できませんでした・・ いろいろ試行錯誤してみますね・・・;

99 名前:96 mailto:sage [2008/06/26(木) 09:43:49 ID:uCUDTTyx]
ごめん、最後の行のscreen.put入れる位置はここ(actメソッド)じゃない
実際にはrenderメソッドの中に入れる必要がある
(画面に地形やキャラクターを描いた後で赤くする)

それ以外の部分は、手元でRuby/SDLのサンプル使って検証してみたところ動いたので問題なさそう

100 名前:名前は開発中のものです。 mailto:sage [2008/06/27(金) 00:50:18 ID:OOVE5AKf]
なんかScreen.getがうまくいかないんでSurface.newを新しく作ってるんですけどL::Surface.new(flags,w,h,format) のformatってなんてかけばいいのかわかりません;

もうマジ初心者の質問すぎてごめんなさい・・・ リファレンスマニュアル読んでもわからないんです・・

101 名前:名前は開発中のものです。 mailto:sage [2008/06/27(金) 02:46:41 ID:bltVx0hU]
ちなみにRuby/SDLにはおおざっぱに1.x(最新は1.3.1)と
2.x(最新は2.0.1)という二つのバージョンがあって、
>>96が書いているSDL::Screen.getは2.xにしかない。
リファレンスマニュアルもバージョン毎にある(1.xと2.xは別)ので要注意。

SDL::Screen.getがうまくいかないという>>100は1.xを使っているのではないか。
念のために、SDL::VERSIONの値を教えてほしい。

require 'sdl'
p SDL::VERSION


102 名前:名前は開発中のものです。 mailto:sage [2008/06/27(金) 13:19:02 ID:FLBA5DaJ]
PCに入ってるのは2.0alpha1です 


けどたぶんスターター使って起動してるから多分そっちのバージョンが低いのかも・・・('A`)

103 名前:名前は開発中のものです。 mailto:sage [2008/06/27(金) 14:02:06 ID:FLBA5DaJ]
なんか2.0のほうで起動したらちゃんと起動しました


でもactの中でスクリーンプット置くにはどうしたらいいんだろう・・・
render(screen)のところにそのまんま全部おいたら常に赤くなるのは確認できたんですけど 死んだときに赤くするって処理がいまだにできないですor2
いろいろためしてますが・・・もうダメぽ

www.uploda.org/uporg1507985.rar.html とりあえずmainソースです;

104 名前:名前は開発中のものです。 mailto:sage [2008/06/27(金) 21:06:56 ID:l2w5o4Cs]
>>103
もう消えてる



105 名前:名前は開発中のものです。 mailto:sage [2008/06/29(日) 09:23:06 ID:+QlqCrVn]
返事おくれてごめんなさい('A`)
なんとか自己解決しました。

被弾した時にすぐに別のシーンに移動してしまっていたようで 新しくスクリーンアップデートをつくってあげたらなんとかあかくなりましたor2お騒がせしてごめんなさい

106 名前:名前は開発中のものです。 mailto:sage [2008/07/11(金) 19:52:05 ID:iVchH/PO]
StarRubyの人がこんなサイトを。

ruby-game-dev.org/

まだほとんど何もないけど。

107 名前:名前は開発中のものです。 mailto:sage [2008/07/11(金) 20:14:05 ID:zL2sa+vS]
そのサイト見ながら思ったんだが、Ruby製で真面目に遊べそうなゲームって何かないかな?
俺がプレイした中でハマったのはSOAR(ただしプレイスタイルはボタン連打)だけなんだが

108 名前:名前は開発中のものです。 [2008/07/13(日) 07:03:02 ID:XXccfbsj]
>>106
Rubyでゲーム開発のコミニティがほしいといってたから作ったんだね

109 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 00:25:20 ID:tEiF1FT2]
ruby初心者だけどやろうかな・・・上のwikiみておもった。

110 名前:名前は開発中のものです。 mailto:sage [2008/07/23(水) 12:43:57 ID:XJisHIkx]
StarRubyでエロゲ作りたいんだけど、
イベント画像がフォルダ開いて丸見えってのはやっぱツライよな。

111 名前:名前は開発中のものです。 mailto:sage [2008/07/23(水) 13:33:03 ID:09s8RLrZ]
Marshalでどうにかならんか

112 名前:名前は開発中のものです。 mailto:sage [2008/07/23(水) 14:23:56 ID:jaDqW596]
xorみたいな可逆暗号を実装すればいんでねーの

113 名前:名前は開発中のものです。 mailto:sage [2008/07/23(水) 19:13:56 ID:IFZqEpkn]
>>110
今のStarRubyでもTexture#dump/undumpあたりを使えばできるかもしれないけど、どっちにしても面倒そうだな

Ruby/SDLで言う、load_from_ioみたいなメソッドを実装してもらえるように
要望出してみたらどうだろう
もしくはもっとダイレクトに、暗号化機能そのものを提案するとか


114 名前:名前は開発中のものです。 mailto:sage [2008/07/23(水) 21:51:17 ID:XJisHIkx]
>>113
たしかに、IOオブジェクトから画像をロードできればいいんだよな。
Rubyスクリプトが読める人には意味ないけど、とりあえず一般ユーザーの目をごまかせればいいんだし。

とか思ってたら、すでに星さんがこの話題を取り上げていたぜ
groups.google.com/group/starruby/browse_thread/thread/4029a1fa5486ee01



115 名前:名前は開発中のものです。 mailto:sage [2008/07/24(木) 12:17:59 ID:vi/50UDV]
デバッグ中とかの利便性では、生のまま持ってたほうがいいから、そのへんの
利便性との両立がフレームワーク作者の勘所だったりするわけですな。

116 名前:名前は開発中のものです。 [2008/07/24(木) 21:06:36 ID:KjJDp2BX]
mygame使ってみたけど
拡大縮小が使い物にならん気がする。
HDDまでアクセスし始める始末だから、メモリかなり使ってるのかなぁ。

結局SDLを直にやるか、代替クラス作らんといかんっぽいのが難か・・・。


117 名前:名前は開発中のものです。 mailto:sage [2008/07/24(木) 21:31:06 ID:ZAyfyp08]
>>116
MyGameって、拡大縮小になんか特殊な処理やってるのか?
普通のRuby/SDLと同じだと思うが

118 名前:名前は開発中のものです。 mailto:sage [2008/07/24(木) 22:12:58 ID:b4aMzTsi]
>>116
SDL経由でOpenGLを使うと楽かもね。
ttp://www.kmc.gr.jp/~ohai/sgt.rb とか。

119 名前:名前は開発中のものです。 mailto:sage [2008/07/26(土) 16:27:16 ID:IqVhnzGT]
MacでRuby/SDLのインスコがめんどくさくて鼻血でそう

120 名前:名前は開発中のものです。 mailto:sage [2008/07/26(土) 16:38:03 ID:LYWnlODe]
つ bootcamp

121 名前:名前は開発中のものです。 mailto:sage [2008/07/26(土) 16:53:45 ID:IqVhnzGT]
ブートキャンプいれてる
ただXcodeで書きたかったっていう、それだけ

122 名前:名前は開発中のものです。 mailto:sage [2008/07/27(日) 19:39:57 ID:L0iN1u/r]
ビリーズブートキャンプ

123 名前:名前は開発中のものです。 mailto:sage [2008/07/28(月) 19:29:54 ID:9GhNVVJ3]
筋肉ムキムキでLightweightじゃなくなっちまうじゃないか

124 名前:名前は開発中のものです。 mailto:sage [2008/08/03(日) 17:47:55 ID:W/zmysiG]
筋肉つけて、重いRubyもこんなに軽々と!



125 名前:名前は開発中のものです。 [2008/08/03(日) 17:49:53 ID:Fm7SEmEs]
Rubyでソースを暗号化する方法って何かないのかなあ?
Pythonだとpycみたいなの
r2eの類だと全部一緒のexeになってまうでしょ?そんなのじゃなくて・・・

126 名前:名前は開発中のものです。 [2008/08/03(日) 17:50:25 ID:Fm7SEmEs]
って、ゲームの話題じゃないかw
こっちより本スレで聞いてきまつ

127 名前:名前は開発中のものです。 mailto:sage [2008/08/03(日) 18:05:27 ID:+gPnPllx]
の方が有意義でしょうねw
yarvでバイトコード化はやってる筈だし検討はしてるみたいな事言ってた記憶はあるんだけどな
バイトコード化と暗号化は別もんだけど。

現状、上にも出てるけど手動でダンプしたのロードするとかが正攻法かもな

128 名前:名前は開発中のものです。 mailto:sage [2008/08/04(月) 08:00:58 ID:2UcTdZru]
>>125
全然認識が間違ってたらすまんけど、RubyってGPLだよね。
ソースを暗号化してもGPLを盾にソース公開を要求されたら暗号化意味無くない?
(上のdumpの例は画像だから有効だろうけど)


129 名前:名前は開発中のものです。 mailto:sage [2008/08/04(月) 11:02:51 ID:0vDDSQkq]
>>128
間違ってる

「GPLのツールを使って開発したソフトウェアはGPLでなければならない」というのは間違い。
GPLのソースコードを含む。GPLのライブラリーをリンクしている 場合にのみ感染する。
・自分が書いたRubyのスクリプトには任意のライセンスを適用できる。よってソース公開の義務はない。

あとRubyは、GPLとArtisticに似た独自ライセンスのデュアルライセンス

130 名前:名前は開発中のものです。 mailto:sage [2008/08/04(月) 14:55:29 ID:JBgDhP6y]
>>125
拡張モジュールを使って、暗号化したソースを読む、という難読化を実現してる
例はあるよ。1.9 のバイトコードの外部化は検討中の段階。

131 名前:名前は開発中のものです。 mailto:sage [2008/08/04(月) 22:56:25 ID:2UcTdZru]
>>129
レスTHX
ということは、
 1.自作のRubyソースでGPLのソースを使わない。
 2・GPLのRuby実行環境とリンクしない。
に気をつければGPL回避はできるわけですね。
(2.があるからmkexyはアウトですか。)

暗号化したRubyソースを復号化する外部プログラムを作って、
そのプログラムがRubyソースを復号化&system("ruby.exe 復号化したソースファイル")とかすれば
一応、Ruby.exeとはリンクしてないわけだから問題ない?

132 名前:名前は開発中のものです。 [2008/08/04(月) 23:05:09 ID:nwnG0EQa]
スレ違い

133 名前:名前は開発中のものです。 mailto:sage [2008/08/04(月) 23:32:20 ID:q0P6gIfF]
>>131
ruby.exeにリンクしたからといってGPLに感染するわけではない
詳しくはRubyライセンスを読め
ttp://www.ruby-lang.org/ja/LICENSE.txt

また、exerbで生成したファイルも、GPL(LGPL)に感染はしない
ttp://exerb.sourceforge.jp/man/doc/license.ja.html

134 名前:名前は開発中のものです。 mailto:sage [2008/08/05(火) 22:47:08 ID:9DK3Bk0R]
ファイル開いただけで見えるのは困るという程度なら
Exerbで固めてUPXで圧縮とかで目的は果たせそう
ウィルス判定されそうだけどなw



135 名前:名前は開発中のものです。 mailto:sage [2008/08/09(土) 05:55:33 ID:XTb0A79H]
>>130
RPGツクールXPなんかはファイル単位の暗号化やってるみたいだよね。
RPGツクールVXの方は、さらに進化していて1つのアーカイブにまとめているみたい。

こういうのって拡張モジュールのレベルで可能なのかな?
require上書きして・・・と思ったけど、組み込み関数だよな・・・
って、そろそろスレ違いなので本スレで聞いてくる

136 名前:名前は開発中のものです。 mailto:sage [2008/08/09(土) 15:58:15 ID:Bpln2nru]
require上書きはできるだろ
exerbでもrubygemsでもやってる

137 名前:名前は開発中のものです。 mailto:sage [2008/08/14(木) 20:24:31 ID:q15OOEOg]
メソッドの名前の付け方に関して相談させてください
ゲームループは、各オブジェクトの更新(update)と各オブジェクトの描画(render)の2ステップに分かれると思うのですが、各オブジェクトの更新のメソッド名が決められません
updateにしようとも思ったのですが、それではObservableから呼び出されるupdateとかぶってしまいます

いまは第二候補としてiterateを考えていますがいまいちです
ほかに良い名前があればお願いします

138 名前:名前は開発中のものです。 mailto:sage [2008/08/14(木) 21:06:08 ID:+Csgcr00]
安易にstep

139 名前:名前は開発中のものです。 mailto:sage [2008/08/15(金) 00:55:57 ID:S09k7UOG]
update_every_frameとか
もしくはイベント駆動的にon_every_frameとか

140 名前:名前は開発中のものです。 mailto:sage [2008/08/15(金) 16:44:29 ID:3xc17uVB]
update_every_frameをやや省略したupdate_frameを使う案も考えましたが
シンプルでタイプ量が少ないstepを使うことにします
ありがとうございました

141 名前:名前は開発中のものです。 mailto:sage [2008/08/26(火) 22:40:24 ID:YnC+NSXL]
今までruby1.8.7で作ってて流石に処理が増えたら重くなってきたんだけど
なにも考えずに1.9にしたら露骨に速くなったりするものかな
拡張ライブラリのコンパイルしなおしとかが面倒でなかなか試せなくて

142 名前:名前は開発中のものです。 mailto:sage [2008/08/27(水) 12:10:36 ID:tSXh0P22]
あんまり期待しないほうがいいような
もともとコアのライブラリは高速化のためにCで書かれてる
まあRubyで書かれた部分が
処理に大きなウェイトを占めるのなら、あるいは・・・・

143 名前:名前は開発中のものです。 mailto:sage [2008/08/27(水) 22:28:44 ID:eVcLY6Kw]
ありがとう
やっぱりそんなに期待しちゃ駄目か
まずプロファイル取る所から真面目にやって見るよ

144 名前:名前は開発中のものです。 mailto:sage [2008/09/01(月) 18:36:52 ID:Zwq+vFb8]
macOS 10.4で開発環境を整えることが出来た方、いらっしゃいますか?
これだという情報を探し当てられなくて、行き詰まってしまいました。
解決方法をご存知の方がいらっしゃいましたら、どうか教えていただけませんでしょうか。

【状況】
sdlをインストールして更に
rubysdl(2系)をgemにてインストールし、
rsdlを opt/local/bin に入れました。
この状態で、下のサンプルプログラムを実行すると、窓は出ないでエラーが出ます。

【サンプル】
_______________________________
# ライブラリの読み込み
require "sdl"

# 定数の定義
SCREEN_W = 640
SCREEN_H = 480

# SDL の初期化
SDL.init(SDL::INIT_EVERYTHING)
SDL.set_video_mode(SCREEN_W, SCREEN_H, 16, SDL::SWSURFACE)

# 2 秒間待つ
sleep(2)
_______________________________

【エラー内容】
_NSAutoreleaseNoPool(): Object 0x3529b0 of class NSImage autoreleased with no pool in place - just leaking
2008-09-01 18:26:33.147 ruby[28998] *** _NSAutoreleaseNoPool(): Object 0x3e1e90 of class _NSThemeWidget autoreleased with no pool in place - just leaking
2008-09-01 18:26:33.147 ruby[28998] *** _NSAutoreleaseNoPool(): Object 0x3e16a0 of class NSFont autoreleased with no pool in place - just leaking
こういうのが沢山



145 名前:名前は開発中のものです。 mailto:sage [2008/09/02(火) 12:51:42 ID:h/fuKRtU]
rsdlで実行してる?
ruby hoge.rb
じゃなくて
rsdl hoge.rb
で実行するんだぞ

146 名前:名前は開発中のものです。 mailto:sage [2008/09/02(火) 17:14:35 ID:ezlAUq6N]
>>145さん

ご指摘の通りでした。
素人考えでIDE(netbeans)から動かそうとしていましたが、ターミナルから
rsdl hoge.rbで実行したら動きました。
どうもありがとうございました!
うれしいです。

147 名前:名前は開発中のものです。 mailto:sage [2008/09/16(火) 13:10:54 ID:Yf+0nKT9]
Mac OS X 10.5.2で、Mygameをシステムにインストールされているrubyとは別のrubyのディレクトリにインストールしたいのですが、install_mygame.rbをどのように書き換えればできますでしょうか。
どなたかご教示ください。

148 名前:名前は開発中のものです。 mailto:sage [2008/09/17(水) 01:24:40 ID:DBB0kkz+]
書き換えなくてもその別のrubyでinstall_mygame.rbを動かせばいいように見える
MyGame使ってないんで間違ってたらごめん

149 名前:名前は開発中のものです。 mailto:sage [2008/09/17(水) 02:08:51 ID:6SEPyg3M]
>>148
返信ありがとうございます。
実は、
ttp://mono.kmc.gr.jp/~yhara/d/?date=20080710#p05
このruby・SDLをインストールしていないPCでも動かせるようにするパッケージを使用したいと思っていまして、
このパッケージの中のrubyにmygameをインストールしたいのです。
わかりにくくてすみません。
最初に申し上げておくべきでした。

150 名前:名前は開発中のものです。 mailto:sage [2008/09/18(木) 01:02:57 ID:RVpg2t6e]
libとfontsをResourcesの中にコピーすりゃよさそうだが
そのままだとフォントの位置が問題出そうだな
mygame.rbを310行目付近をいじるなり参考にして対処してみてくれ

151 名前:名前は開発中のものです。 mailto:sage [2008/09/18(木) 11:29:45 ID:H2tmF02M]
>>150
返信ありがとうございます。
うーん、やはりできません。
Resourcesの中にコピーして、フォントの入っているディレクトリのパスを相対パスで適切に直したのですが、なぜかできません。
requireで参照するパスを組み込み定数$:で調べたところ、lib/ruby/1.8やlib/ruby/site_ruby/1.8だったので、それらのディレクトリにmygameディレクトリおよびmygame.rbをコピーしてみる、ということも試したのですがうまくいきません。
require 'mygame'の時点でスクリプトが終了してしまいます。

いったい何が悪いのでしょうか。

152 名前:名前は開発中のものです。 mailto:sage [2008/09/18(木) 23:17:18 ID:RVpg2t6e]
コンソール.app開いてみたらエラー出てないかな

153 名前:名前は開発中のものです。 mailto:sage [2008/09/19(金) 00:11:41 ID:AMcmg5Cj]
>>152
ややっ!こんなところにきっちりログが保存されているとは!
どうもありがとうございます。
チェックしてみます。

154 名前:147 mailto:sage [2008/09/19(金) 16:50:49 ID:AMcmg5Cj]
ついにできました!みなさんご回答どうもありがとうございました。

mygameディレクトリ及びmygame.rbをlib/ruby/1.8にコピーし、
FontsディレクトリはResources直下にコピー。
その時点で起動したところコンソール.appにはkconv.rbがnkfをrequireできていないとのエラーが出ていたので、
起動するrubyスクリプトに
$: << "lib/ruby/1.8/i686-darwin9,2,2"
としてnkf.bundleがあるディレクトリを、libを読み込むディレクトリに追加。
そして、今度はrbconfig.rbがおかしいというエラーが出たので、mygame.rbの297行目、require 'rbconfig'をコメントアウト。
311行目を
datadir = Dir.pwd
と書き換えました。
これでrbconfig.rbを使わずに、起動するrubyスクリプトと同ディレクトリのFontsディレクトリからフォントを読み込むようになり、無事起動いたしました。

なんだか拙い解決方法ですが、一応解決できたので、ほかの方の参考になれば、と思います。

繰り返しになりますが、回答してくださったみなさんどうもありがとうございました。
これからゲーム制作にのめりこみたいと思います。



155 名前:名前は開発中のものです。 [2008/10/19(日) 01:33:54 ID:5gugO+Xs]
保守

156 名前:名前は開発中のものです。 mailto:sage [2008/10/19(日) 22:40:14 ID:rF3bgZLP]
GRikoの講座をみておもろかったから、軽くrubyの勉強も兼ねてを弄り始めたんですが、
簡単な2Dゲーなら他のライブラリを使った方がいいかも、とかあります?
やりたいのは、とりあえずテーブルゲーム系で、派手な画像処理はいらなくて、
音楽好きなんで音はちょっと拘りたいのと、入力はマウスよりキーボードからの方が多いかも、で、
ruby-game-dev.org/wiki/index.php?%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA
ここの紹介を見てるとmiyakoがいいのかなって感じなんですが、どでしょうか
プログラミング入門者なんでドキュメントが多いと助かります

157 名前:名前は開発中のものです。 mailto:sage [2008/10/19(日) 23:08:24 ID:o251uXL9]
ドキュメントに手を抜いている開発者が多いかも。

158 名前:名前は開発中のものです。 mailto:sage [2008/10/19(日) 23:50:28 ID:Mq2HTqU9]
Wikiの紹介見たけど、もはやゲーム用のライブラリが多すぎて、どれが良いのか分からん……

俺の知ってる範囲では
かなり低レベルなところ(SDLに近い部分)までいじくれて、ドキュメントが充実してるRuby/SDL
仕様がシンプルで、拡大縮小などの画像処理機能が充実してるStarRuby
あたりが良いライブラリだと思う(両方とも日本語文書あり)

Miyakoについてはきちんと触ったことないから分からない
Ruby/SDLのラッパーだったはずなので、とりあえず動作速度には注意

159 名前:名前は開発中のものです。 mailto:sage [2008/10/19(日) 23:59:06 ID:rF3bgZLP]
サンプルが充実していて、読みやすいコードが沢山あれば
ドキュメントが頼りなくてもなんとかしてみようって思えるんですけどね
だったらruby以外で…って話になってしまうのかもしれませんが

rubyはやっぱり既に出来る人向けの環境なのかなあ
結局、ツクールやHSPあたりからやっとけ、みたいな…

まあじっくり焦らず色々やってみます
キーを叩くより、紙の上でゲームのアイデアを考えたりしてるほうが
時間的にはだいぶ多くなるわけだし

>>158さん
StarRubyは画像処理にスーファミ的具体例wがあったので
つかみはOKだったんですが、できる人向けっぽい印象がありました

動作速度に関しては、アクションゲーム的なのは気になるのかもしれませんね
自分は思考タイプのゲームが好みなんで、たぶんなにを使っても問題なさそうです
Flashでもなんとかなりそうな感じなんで

GRikoは入力がゲームパッド仕様だったので、アクションゲーム寄りの
ライブラリなのかな?と思い、それで他が知りたくなったわけです

160 名前:名前は開発中のものです。 mailto:sage [2008/10/21(火) 01:19:43 ID:SjJ19aHP]
GRikoは今のところほぼ作者専用でちゃんとリリースするつもりは無さげ
StarRubyは良いと聞くし、使ってる人も結構いそう
MyGameは本も出てるのでRuby自体の勉強も一緒にできる
初めてなら「Rubyではじめるゲームプログラミング」を読んでMyGameを使ってみたらどうだろう

161 名前:名前は開発中のものです。 [2008/11/10(月) 18:07:48 ID:jzB6LQre]
RUBY/SDL
でマリオ的なゲーム作りたいんですけど、
今やっと、背景、キャラ表示して
左右に動けるようになったんですが
徐々に走るスピードを上げるってどうやるんですかね?

162 名前:名前は開発中のものです。 mailto:sage [2008/11/10(月) 20:50:12 ID:DwNpP07e]
>>161
キー操作に反応して速度を上げていけばおk

163 名前:名前は開発中のものです。 mailto:sage [2008/11/10(月) 21:25:26 ID:mVuGBL+M]
>>160
if (Bボタン)
VX+=1
end
X+=VX

164 名前:名前は開発中のものです。 mailto:sage [2008/11/10(月) 21:26:08 ID:mVuGBL+M]
161だった



165 名前:>>161 [2008/11/11(火) 00:25:28 ID:A5AdEiUE]
def act(input)
@x -= 8 if input.left
@x += 8 + x(input) if input.right
@x = 0 if @x < 0
@x = SCREEN_W-@image.w if @x >= SCREEN_W-@image.w


end
def render(screen)
screen.put(@image, @x, @y)
end
end

def x(input)
if input.b
vx += 1
end
end

>>162 >>163ありがとう!
始めたばかりで手探り状態なんだが、
こんな感じかな?
上手く起動できない、見てくれ。

166 名前:名前は開発中のものです。 mailto:sage [2008/11/11(火) 07:03:14 ID:J8rpg6TX]
>>165
ぱっと見で分かること

・renderメソッドの後ろのendが一つ多い
・xメソッドの中にあるvxがローカル変数






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<161KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef