【Ruby/SDL他】Rubyでゲーム制作・総合スレッド
1 :
名前は開発中のものです。 :
2008/04/02(水) 02:11:27 ID:cxIG00d1
3 :
名前は開発中のものです。 :2008/04/02(水) 02:18:27 ID:cxIG00d1
4 :
名前は開発中のものです。 :2008/04/02(水) 02:21:29 ID:cxIG00d1
Ruby/SDLで、未だにdisplay_formatとdisplay_format_alphaの違いがよく分からない いったいdisplay_format_alphaはどんな時に使えばいいんだろう
プログラムよく分かってないんだけど参加しておk?
>>8 プログラム的な部分に何らかの興味があるならおk
このスレは初心者もウェルカムです(たぶん)
>>9 どうも。
何を使えば良いのかも分からないので名前でStarRubyを選んでみました。
コピペでキャラクターを動かす所までは出来ました。
http://gamdev.org/up/img/11278.zip とりあえず次は画面外にはみ出してしまうのを防ぎたいです。
Game.run(320, 480) do
Game.terminate if Input.keys(:keyboard).include?(:escape)
Game.screen.clear
keys = Input.keys(:keyboard)
if keys.include?(:right)
x = x + 10
elsif keys.include?(:left)
x = x - 10
end
Game.screen.render_texture(type3, x, y, :src_width => 32, :src_height => 32)
end
>>10 ヒント
1:画面外に出たかどうかを判定して
2:出ていたらx座標を画面内に戻す
>>11 ヒントどうもです。出かけていました。
http://gamdev.org/up/img/11279.zip 次はななめに移動&アニメーションをさせたいですね。
アニメーションはどうやるのがいいんでしょうか?
keys = Input.keys(:keyboard)
if keys.include?(:right)
px = px + 10
if px > 288
px = 288
end
elsif keys.include?(:left)
px = px - 10
if px < 0
px = 0
end
elsif keys.include?(:up)
py = py - 10
if py < 0
py = 0
end
elsif keys.include?(:down)
py = py + 10
if py > 448
py = 448
end
end
>>13 何かの拍子に消してしまったみたいです。
Game.screen.render_texture(type3, px, py, :src_width => 32,
:src_height => 32)←これですね。
>>12 アニメって、どのようにアニメさせたいん?
>>15 type3.pngを見てもらうと分かると思いますが、
エンジン部分が光るようになっています。
>>16 それはわかるけど、いつ光るタイミングになるのよ?
>>16 ちなみに光る絵に切り替えるなら、:src_x => 32, :src_y => 0 を追加すればいいと思う
>>17 さあ?
どのタイミングでアニメーションするのが普通なんでしょうか?
あまりシューティングなんてやらないのでなんとも。
ななめ移動もいまいちどうやっていいのか考え中です。
>>18 隣の画像にはなりましたが、アニメーションはしません。
>>20 :src_x => の部分を変数にして切り替えるんだよ。
君が切り替えのタイミング分からないなら俺にも分からん。
規制されてしまう。 if srcx == 0 srcx = 32 elsif srcx == 32 srcx = 0 end Game.screen.render_texture(type3, px, py, :src_x => srcx, :src_y => srcy, :src_width => 32, :src_height => 32) で出来ました。凄い勢いで点滅してます。
>>22 別の変数でカウンター作って、その値で切り替えるともっとゆっくりになると思う。
がんがれ。
>>23 色々どうもです。ちと疲れたので休みます。
ななめ移動で詰まってしまっているので、どなたか分かる方がいらっしゃたら、
教えてください。
>>22 秒間30〜60回ループしてるんだから、
@animation_counterでも作ってカウントアップして、
アニメーションのトリガが来たらsrc_x,yを動かせばいいんじゃ?
と思い付いた
SRPG作ってるんだが、どういう設計にすればいいか悩んでる
どこかに例が転がってないかなあ…
どなたか弾の出し方のサンプルを提示してもらえないでしょうか?
>>27 @の付いた変数はインスタンス変数だとリファレンスにありましたが、
どういった時に使うのかよく分かっていないので普通にcounterという変数で
やりました。
> SRPG作ってるんだが、どういう設計にすればいいか悩んでる
> どこかに例が転がってないかなあ…
ジャンル別に作り方が載っているサイトとかないんですかね?
>>29 Rubyへの置き換え方がいまいち分からなくて聞いてみました。
サンプルを作るのは難しいですか?難しいなら分かる人を待ってみます。
なんとか自力で置き換える事が出来ました。
i = 0
pbmx.times{|i|
if pbf[i] == 0
if shot_delay > 0
shot_delay -= 1
else
if Input.keys(:keyboard).include?(:z)
shot_delay = 10
pbx[i] = px + 14
pby[i] = py - 24
pbf[i] = 1
end
end
end
pby[i] -= 10
if pby[i] < 0
pbf[i] = 0
end
if pbf[i] == 1
Game.screen.render_texture(bullet, pbx[i], pby[i])
end
i += 1
}
>>31 後ほど見てみます。
一つ質問があります。 今後ここでサンプルソースを要求しても、提示は一切なしですか?
>>33 31がわざわざ提示してくれたのに何を言っているんだ
>>35 なしだったら、他へ行こうかなと思いまして。
人もあまり居ないみたいですので。
>>37 提示ってなんの提示?主語と目的語がないからわからないのよ
サンプルソースくれって言ったら作って貼れってことか。 他いけば?
>>34 のスクリプトを
自分なりに適当にリファクタしてみた。
delay_shot がよく分からなかった。
StarRuby::Input.keys の options に指定できる
:delay と :interval の違いがよく分かりません。
分かる人よかったら解説きぼん!
以下 API リファレンス (
http://www.starruby.info/ja/documentation/api_reference/star_ruby.input ) より抜粋。
:duration キーを押し始めてから、キーが押されていると判別される持続時間 (フレーム数)。
-1 を指定した場合は無限です (押しっぱなしの間ずっと「押された」と判別されます)。
:delay :duration を正数で指定している場合、 2 回目以降「押された」と判別されるまでの遅延時間 (フレーム数)。
-1 を指定した場合は無限です (2 回目以降の判定がありません)。
:interval 2 回目以降「押された」と判断される時間間隔 (フレーム数)。
使ってはいないけど、レス読んだ限りじゃ ・10フレームの間キーが押された→当然10フレーム全てで押されていると判定 ○○○○○○○○○○ ・:duration に3を指定→頭から3フレーム分だけ押されていると判定 ○○○××××××× ・:duration はそのままで :delay :duration に2を指定 →最初に頭から3フレーム分押されていると判定され、ディレイ分開け繰り返し押されていると判定される ○○○××○○○××
>>44 解説ありがとう!
でも :interval が出てきてない?
>>45 こんにちは中の人!
さっそく図を見てきますね
>>45 図を見てきました。
大体はイメージしていた通りなのですが、ちょっと分からないところがあります。
この図の例で :interval を 0 にした場合はどうなるんでしょうか?
例えば、StarRuby のサンプルの1つである falling_blocks には
:interval に 0 を指定する以下のようなコードがありますが
def repeatings(device)
keys(device, {
:duration => 1, :delay => 2, :interval => 0
})
end
0 というのは極めて短い間隔で「押された」と判断する、という解釈で合っていますか?
>>47 > 0 というのは極めて短い間隔で「押された」と判断する、という解釈で合っていますか?
0 になるのを想定していなかったというのが正直なところです。どうなるんだろう。
Star Ruby においては FPS (1 フレーム時間) より細かい時間の単位はありません。
よって、最小は 1 で、図にしたがうと「ずっと押された」と判別されることになります。
2 にすると、毎フレーム「押された」と「押されていない」を繰り返すようになります。
とかいいつつ :interval のデフォルト値は 0 ですが。 図にかけないな。
ってあれ、これ自分のソースか。何を言っているんだ俺。 というわけで > :duration => 1, :delay => 2, :interval => 0 は 1 の間違いです…
>>49 > 図にかけないな。
そうそう!
僕もそこが分からなかったんですよ。
0 になるとどうなるのかなーって。
そして、falling_blocks は中の人さんが書いたんじゃなかったのですね。
何度もすみません。実際やってみたら図がまちがっておりました…。 やっぱり 0 が正しいです。で、 > 0 というのは極めて短い間隔で「押された」と判断する、という解釈で合っていますか? も正しいです。 すみませんすみません…。
>>50 え!なんだなんだ(;゚д゚)
:interval => 1 が正しいってこと?
> そして、falling_blocks は中の人さんが書いたんじゃなかったのですね。
いや、自分で書きました。
>>47 は「こう書くとどうなるの」という意味だと空目してました。
ちょっと僕もちゃんとコードいじって試してみよう
そしてこっそり図を修正しました。
あまりちゃんと検証したわけじゃないけど、とりあえず 上に書いた repeating メソッド内に出てくる :interval は 0 の方が 1 よりもスムーズに動く。
>>56 今 57 を図を見ながら書いてて
ページを更新したら図が変わったので
そうじゃないかと思いましたw
おつかれさまです
この図はしっくりきますね。 今の僕のイメージとぴったり重なる。
混乱させて申し訳ありませんでした。 Star Ruby を使っていただきありがとうございます。
>>60 いえいえ。
こちらこそありがとうございました。
また何かあったらここに書き込むかもしれないので
よかったらまたお願いします。
Python使いだが、 ゲーム作りではRubyを使わざるを得ないようだなこりゃ
>>65 MacOS使ってるんだけど、
object-cモジュールの兼ね合いで正常に動作しない。
一応バイナリパッケージ版でrc5版がリリースされてるけど
動作がいまいち安定してないんだよ..
Rubyだからその辺安心ってわけでもないがな
俺は逆にOSX+Rubyでのゲーム制作は挫折しました なんかgemコケるんだよなー
70 :
名前は開発中のものです。 :2008/04/23(水) 16:14:29 ID:jxFSACYN
>>70 ソース見てみたが、もっと簡潔にできそうだね
保守
mac os x leopardでruby/sdlを使おうとしているのですがうまくいきません 付属のサンプルのうちfpstimer alpha cursor event2 font joy2 movesp randrect stetris testspriteは動きました それ以外は動きませんでした どうすればまともに動くようになるでしょうか
動かないって具体的にどうなんのよ エラーとか出てるならそれも書かないとわからないよ
76 :
74 :2008/05/17(土) 14:24:09 ID:zKBwdQ9K
ほぼすべてにおいて下のようなエラーがでます undefined method '****'ってかんじです sgetest.rb:15: undefined method `drawLine' for #<SDL::Screen:0x1aeca468> (NoMethodError)
78 :
74 :2008/05/17(土) 15:31:00 ID:zKBwdQ9K
>>75 >>77 ありがとうございます
SGEを入れてSDLを再インストールしたら動きました
今度のRuby Kaigi で StarRubyの中の人が出るんだね
STGとかでのボス戦みたいに 「画面を覆い尽くす弾幕と、派手なボムでの玉消し」とか めっさピクセル使うときに一番軽いのって どのゲーム制作モジュールなんだろ? 候補としてはmygame, miyako, starruby あたりなんだが。 それとも ruby/sdl だけの問題なのだろうか? 既出ネタだったらスマソ。
その三つをベンチ比較するみたいな話題はなかったと思う もしruby/sdl自体に限界を感じてるのならruby-OpenGLも良い候補かも
>>80 StarRubyはRuby/SDL使ってないはず
だからここで比較するなら
1. Ruby/SDLで直接プログラミング
2. Ruby/SDLに中間層(MyGame, Miyako)を挟む
3. StarRuby
の三択だろう
どれが軽いかは分からん。コード内での工夫にもよるだろうし
>StarRubyはRuby/SDL使ってないはず いやいや使ってるよ
どれもSDL使ってるからピクセル合成についてなら大して変わらなそうな気がするな たぶん描画より、「画面を覆い尽くす弾幕」の更新、ヒット判定の方がボトルネックになると思うぜ
85 :
名前は開発中のものです。 :2008/06/25(水) 11:43:05 ID:0H1XKKpH
余所から誘導されてきました SDLでシューティング作ってるんですけど 被弾した時に 画面全体を赤っぽくしたいんですが、画面全体を赤で塗りつぶして半透明にするような処理ってできますか?
>>83 どの辺に?
ソースコード見ても、C言語でガリガリ書いてるようにしか見えないし
ダウンロードページにも「Ruby/SDL は不要です。」って書いてあるよ
もしかして「RubyとSDLを使ってる」っていうオチか
俺が言ってるのは固有名詞の「Ruby/SDL」なんだが
>>86 Surface#fill_rectで塗りつぶした別サーフェス(screenと同じサイズの)を生成し
Surface#set_alphaでαブレンディングを有効にしてから重ねる
ごめ・・また途中でカキコしちまった('A`)改行でSHIFT+Enter押すくせががが 自分もそれでやろうとしたけどなんか出来ないんですよ・・・ もうちょいグーグル先生と逆引きに聞きながらがんばってみます
>>87 どうしても重ね方がわからないんだぜ
初心者すぎて死にたい
orz
もっと具体的に (A) 書いたコード(抜粋でも可) (B) 期待する結果 (C) 実際に起きた結果 を書くと良いかも。 「できない」だけではエスパーじゃないと答えづらいはず。
もう書いたコードというより どうやって新しいサーフェスを作って 出力するのかがわからないんです; 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) ここらへんつかうのわかったんですけど書き方がわからなくて・・・;初心者すぎてごめんなさい;
多分、今出来ているコードをうpすれば改変してくれる予感。 暇人は多い。でも、現在のコードが判らないと修正のしようもない。
出来ているコードすらないからこまる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
とりあえずやっつけで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)
。・゚・(ノД`)・゚・ ぶわっ マジありがとうございます; 書き方全然違ってて恥ずかしい・・・; いまからいれてきてみます。
うっ・・・できませんでした・・ いろいろ試行錯誤してみますね・・・;
99 :
96 :2008/06/26(木) 09:43:49 ID:uCUDTTyx
ごめん、最後の行のscreen.put入れる位置はここ(actメソッド)じゃない 実際にはrenderメソッドの中に入れる必要がある (画面に地形やキャラクターを描いた後で赤くする) それ以外の部分は、手元でRuby/SDLのサンプル使って検証してみたところ動いたので問題なさそう
なんかScreen.getがうまくいかないんでSurface.newを新しく作ってるんですけどL::Surface.new(flags,w,h,format) のformatってなんてかけばいいのかわかりません; もうマジ初心者の質問すぎてごめんなさい・・・ リファレンスマニュアル読んでもわからないんです・・
ちなみに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
PCに入ってるのは2.0alpha1です けどたぶんスターター使って起動してるから多分そっちのバージョンが低いのかも・・・('A`)
なんか2.0のほうで起動したらちゃんと起動しました
でもactの中でスクリーンプット置くにはどうしたらいいんだろう・・・
render(screen)のところにそのまんま全部おいたら常に赤くなるのは確認できたんですけど 死んだときに赤くするって処理がいまだにできないですor2
いろいろためしてますが・・・もうダメぽ
http://www.uploda.org/uporg1507985.rar.html とりあえずmainソースです;
返事おくれてごめんなさい('A`) なんとか自己解決しました。 被弾した時にすぐに別のシーンに移動してしまっていたようで 新しくスクリーンアップデートをつくってあげたらなんとかあかくなりましたor2お騒がせしてごめんなさい
そのサイト見ながら思ったんだが、Ruby製で真面目に遊べそうなゲームって何かないかな? 俺がプレイした中でハマったのはSOAR(ただしプレイスタイルはボタン連打)だけなんだが
108 :
名前は開発中のものです。 :2008/07/13(日) 07:03:02 ID:XXccfbsj
>>106 Rubyでゲーム開発のコミニティがほしいといってたから作ったんだね
ruby初心者だけどやろうかな・・・上のwikiみておもった。
StarRubyでエロゲ作りたいんだけど、 イベント画像がフォルダ開いて丸見えってのはやっぱツライよな。
Marshalでどうにかならんか
xorみたいな可逆暗号を実装すればいんでねーの
>>110 今のStarRubyでもTexture#dump/undumpあたりを使えばできるかもしれないけど、どっちにしても面倒そうだな
Ruby/SDLで言う、load_from_ioみたいなメソッドを実装してもらえるように
要望出してみたらどうだろう
もしくはもっとダイレクトに、暗号化機能そのものを提案するとか
デバッグ中とかの利便性では、生のまま持ってたほうがいいから、そのへんの 利便性との両立がフレームワーク作者の勘所だったりするわけですな。
116 :
名前は開発中のものです。 :2008/07/24(木) 21:06:36 ID:KjJDp2BX
mygame使ってみたけど 拡大縮小が使い物にならん気がする。 HDDまでアクセスし始める始末だから、メモリかなり使ってるのかなぁ。 結局SDLを直にやるか、代替クラス作らんといかんっぽいのが難か・・・。
>>116 MyGameって、拡大縮小になんか特殊な処理やってるのか?
普通のRuby/SDLと同じだと思うが
MacでRuby/SDLのインスコがめんどくさくて鼻血でそう
つ bootcamp
ブートキャンプいれてる ただXcodeで書きたかったっていう、それだけ
ビリーズブートキャンプ
筋肉ムキムキでLightweightじゃなくなっちまうじゃないか
筋肉つけて、重い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 こっちより本スレで聞いてきまつ
の方が有意義でしょうねw yarvでバイトコード化はやってる筈だし検討はしてるみたいな事言ってた記憶はあるんだけどな バイトコード化と暗号化は別もんだけど。 現状、上にも出てるけど手動でダンプしたのロードするとかが正攻法かもな
>>125 全然認識が間違ってたらすまんけど、RubyってGPLだよね。
ソースを暗号化してもGPLを盾にソース公開を要求されたら暗号化意味無くない?
(上のdumpの例は画像だから有効だろうけど)
>>128 間違ってる
「GPLのツールを使って開発したソフトウェアはGPLでなければならない」というのは間違い。
GPLのソースコードを含む。GPLのライブラリーをリンクしている 場合にのみ感染する。
・自分が書いたRubyのスクリプトには任意のライセンスを適用できる。よってソース公開の義務はない。
あとRubyは、GPLとArtisticに似た独自ライセンスのデュアルライセンス
>>125 拡張モジュールを使って、暗号化したソースを読む、という難読化を実現してる
例はあるよ。1.9 のバイトコードの外部化は検討中の段階。
>>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
スレ違い
ファイル開いただけで見えるのは困るという程度なら Exerbで固めてUPXで圧縮とかで目的は果たせそう ウィルス判定されそうだけどなw
>>130 RPGツクールXPなんかはファイル単位の暗号化やってるみたいだよね。
RPGツクールVXの方は、さらに進化していて1つのアーカイブにまとめているみたい。
こういうのって拡張モジュールのレベルで可能なのかな?
require上書きして・・・と思ったけど、組み込み関数だよな・・・
って、そろそろスレ違いなので本スレで聞いてくる
require上書きはできるだろ exerbでもrubygemsでもやってる
メソッドの名前の付け方に関して相談させてください ゲームループは、各オブジェクトの更新(update)と各オブジェクトの描画(render)の2ステップに分かれると思うのですが、各オブジェクトの更新のメソッド名が決められません updateにしようとも思ったのですが、それではObservableから呼び出されるupdateとかぶってしまいます いまは第二候補としてiterateを考えていますがいまいちです ほかに良い名前があればお願いします
安易にstep
update_every_frameとか もしくはイベント駆動的にon_every_frameとか
update_every_frameをやや省略したupdate_frameを使う案も考えましたが シンプルでタイプ量が少ないstepを使うことにします ありがとうございました
今までruby1.8.7で作ってて流石に処理が増えたら重くなってきたんだけど なにも考えずに1.9にしたら露骨に速くなったりするものかな 拡張ライブラリのコンパイルしなおしとかが面倒でなかなか試せなくて
あんまり期待しないほうがいいような もともとコアのライブラリは高速化のためにCで書かれてる まあRubyで書かれた部分が 処理に大きなウェイトを占めるのなら、あるいは・・・・
ありがとう やっぱりそんなに期待しちゃ駄目か まずプロファイル取る所から真面目にやって見るよ
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 こういうのが沢山
rsdlで実行してる? ruby hoge.rb じゃなくて rsdl hoge.rb で実行するんだぞ
>>145 さん
ご指摘の通りでした。
素人考えでIDE(netbeans)から動かそうとしていましたが、ターミナルから
rsdl hoge.rbで実行したら動きました。
どうもありがとうございました!
うれしいです。
Mac OS X 10.5.2で、Mygameをシステムにインストールされているrubyとは別のrubyのディレクトリにインストールしたいのですが、install_mygame.rbをどのように書き換えればできますでしょうか。 どなたかご教示ください。
書き換えなくてもその別のrubyでinstall_mygame.rbを動かせばいいように見える MyGame使ってないんで間違ってたらごめん
libとfontsをResourcesの中にコピーすりゃよさそうだが そのままだとフォントの位置が問題出そうだな mygame.rbを310行目付近をいじるなり参考にして対処してみてくれ
>>150 返信ありがとうございます。
うーん、やはりできません。
Resourcesの中にコピーして、フォントの入っているディレクトリのパスを相対パスで適切に直したのですが、なぜかできません。
requireで参照するパスを組み込み定数$:で調べたところ、lib/ruby/1.8やlib/ruby/site_ruby/1.8だったので、それらのディレクトリにmygameディレクトリおよびmygame.rbをコピーしてみる、ということも試したのですがうまくいきません。
require 'mygame'の時点でスクリプトが終了してしまいます。
いったい何が悪いのでしょうか。
コンソール.app開いてみたらエラー出てないかな
>>152 ややっ!こんなところにきっちりログが保存されているとは!
どうもありがとうございます。
チェックしてみます。
154 :
147 :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
保守
ドキュメントに手を抜いている開発者が多いかも。
Wikiの紹介見たけど、もはやゲーム用のライブラリが多すぎて、どれが良いのか分からん…… 俺の知ってる範囲では かなり低レベルなところ(SDLに近い部分)までいじくれて、ドキュメントが充実してるRuby/SDL 仕様がシンプルで、拡大縮小などの画像処理機能が充実してるStarRuby あたりが良いライブラリだと思う(両方とも日本語文書あり) Miyakoについてはきちんと触ったことないから分からない Ruby/SDLのラッパーだったはずなので、とりあえず動作速度には注意
サンプルが充実していて、読みやすいコードが沢山あれば
ドキュメントが頼りなくてもなんとかしてみようって思えるんですけどね
だったらruby以外で…って話になってしまうのかもしれませんが
rubyはやっぱり既に出来る人向けの環境なのかなあ
結局、ツクールやHSPあたりからやっとけ、みたいな…
まあじっくり焦らず色々やってみます
キーを叩くより、紙の上でゲームのアイデアを考えたりしてるほうが
時間的にはだいぶ多くなるわけだし
>>158 さん
StarRubyは画像処理にスーファミ的具体例wがあったので
つかみはOKだったんですが、できる人向けっぽい印象がありました
動作速度に関しては、アクションゲーム的なのは気になるのかもしれませんね
自分は思考タイプのゲームが好みなんで、たぶんなにを使っても問題なさそうです
Flashでもなんとかなりそうな感じなんで
GRikoは入力がゲームパッド仕様だったので、アクションゲーム寄りの
ライブラリなのかな?と思い、それで他が知りたくなったわけです
GRikoは今のところほぼ作者専用でちゃんとリリースするつもりは無さげ StarRubyは良いと聞くし、使ってる人も結構いそう MyGameは本も出てるのでRuby自体の勉強も一緒にできる 初めてなら「Rubyではじめるゲームプログラミング」を読んでMyGameを使ってみたらどうだろう
161 :
名前は開発中のものです。 :2008/11/10(月) 18:07:48 ID:jzB6LQre
RUBY/SDL でマリオ的なゲーム作りたいんですけど、 今やっと、背景、キャラ表示して 左右に動けるようになったんですが 徐々に走るスピードを上げるってどうやるんですかね?
>>161 キー操作に反応して速度を上げていけばおk
>>160 if (Bボタン)
VX+=1
end
X+=VX
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 =
[email protected] if @x >=
[email protected] end
def render(screen)
screen.put(@image, @x, @y)
end
end
def x(input)
if input.b
vx += 1
end
end
>>162 >>163 ありがとう!
始めたばかりで手探り状態なんだが、
こんな感じかな?
上手く起動できない、見てくれ。
>>165 ぱっと見で分かること
・renderメソッドの後ろのendが一つ多い
・xメソッドの中にあるvxがローカル変数
167 :
>>161 :2008/11/11(火) 17:29:14 ID:A5AdEiUE
>>166 endが1つ多いのはこの上にclassがあったから。
消し忘れスマン
ローカル変数をインスタンス変数に変えてみたけど結果は同じだった。
思ったんだけど、これがもしできたとしても
ボタン押してる間(この処理が行われるとき)ずっと1づつ足されるわけだから
一瞬で画面外に出るぐらいのスピードになるんじゃないかな?
って馬鹿なこと言ってるなと思わないでくれ・・・
通常は、前回も押してたかチェックしてリピートか判断し 何回リピートしたらいくつ増やす、とかいくつ以上は増えない、とか離したら0に戻す、とかやるけど 動かしながら試すのがいいと思うよ。
そもそも、なぜエラーの内容を書かないの エラーに関する質問をするときに、そのエラーの詳細を書くのは基本だ とりあえず、Bボタンを押してないときに xメソッドがnilを返して落ちるだろうということは想像がつく
170 :
>>161 :2008/11/11(火) 18:49:12 ID:A5AdEiUE
>>168 ・前回も押してたかチェックする これどういうことですか
・何回リピートしたらいくつ増やす これは条件式(if)でおkだよね?
>>169 スマン。 エラーの詳細って言うのは
タイプ ArgumentError
メッセージ wrong number of arguments (1 or 0)
バックとレース 'x' 'act' って所か?初心者でスマン(汗
def act(input)
@x -= 8 if input.left
@x += 8 + x(input) if input.right
@x = 0 if @x < 0
@x =
[email protected] if @x >=
[email protected] end
def render(screen)
screen.put(@image, @x, @y)
end
def x(input)
if input.b
if (@vx <= 4)
@vx += 2
elsif (@vx <= 6)
@vx += 1
end
else
@vx = 0
end
end
やっぱり、起動して→ボタン押すと止まる・・・
→ + B ボタンも止まる
>>170 wrong number of arguments (1 of 0)、つまり引数の数が0個であるべきところに1個の引数を渡している
エラー表示のときに行番号が出てるから、その行番号のところを見れば分かるはず
172 :
>>161 :2008/11/11(火) 19:20:01 ID:A5AdEiUE
>>171 ありがとう!
ということは、
@x += 8 + x(input) if input.right
この行になるんだけど、引数ってことは
文字列として認識されてるって事?でも@vxって変数でしょ?
そのエラーがそこで出るってことは、def x(input) の関数がちゃんと定義されてないんじゃないか。
174 :
>>161 :2008/11/11(火) 21:52:05 ID:A5AdEiUE
def act(input)
x = 0
x += 8 if input.b
@x -= 8 + x if input.left
@x += 8 + x if input.right
@x = 0 if @x < 0
@x =
[email protected] if @x >=
[email protected] end
全然分からないから関数にせずに中に入れたら上手く動いたww
でもこれじゃあ、条件式とか書き入れたらメチャ長くなっちゃうんだよな
誰か関数の定義の仕方教えてくれ。
基本的な文法わかってないのなら、マニュアル読むとか、 本を一冊買ってよむとかしようぜ・・・
とりあえず、
>>161 のendの位置が変
前にclassがあったからと言ってるが、そのエラーが出ることとendの位置は無関係ではないと思う。
177 :
名前は開発中のものです。 :2008/11/14(金) 00:53:02 ID:voiQCPZr
標準添付ライブラリに限って言えば (1)TCPServer+TCPSocket(2)UDPSocket(3)drbの三択だと思う 俺だったら(1)を選びます rubyforge探せばお手軽ライブラリがあるかもしれないしないかもしれない
LAN内で自分でちょっと試す程度だったら俺ならdrbかな どれでやるにしても キー入力を送る、相手の入力を受け取るまで待つ、とかやるのが一番簡単
180 :
>>161 :2008/11/17(月) 19:42:37 ID:1Kh+3A4u
徐々にスピードを上げることは成功(?)したんですが、 一度ダッシュボタンを押すのを止め、その後またダッシュボタンを押してもスピードが 最高速度のままなんですがどうすれば、どのような文を入れれば上手いこと初期化されますかね? ご指南お願いします。 def act(input) #移動 move(-4 - spup(input)) if input.left move(+4 + spup(input)) if input.right #アニメーション @img_ct += 1 @img_ct = 0 if @img_ct >= 40 end def spup (input) if input.b && input.right || input.b && input.left if @spup <= 4 @spup += 0.2 elsif @spup <= 8 @spup += 0.1 else @spup += 0 end else @spup = 0 end end
181 :
名前は開発中のものです。 :2008/11/17(月) 19:55:17 ID:JYTy/RrD
それってRubyと関係あるのか?
ダッシュボタン押されてなければ速度を0にすればいいじゃない
>>180 まず速度増加の処理と、座標移動の処理を別々にした方が良い
下手にまとめるとバグの特定がしづらくなる
>>182 コードを見ると、一応意図としてはそうなってるっぽいな
184 :
>>161 :2008/11/19(水) 19:13:49 ID:RhFoyCHv
全然進まないので、RUBYゲーム作成の本買いました。 分からないところがあったらまた来ます!
Rubyゲーム作成の本とか出てたのか・・・
187 :
名前は開発中のものです。 :2008/11/23(日) 00:11:32 ID:Sig72oDY
rubyインストールしたんですが 「ruby console」がデスクトップに作成されないんですが 元はどこにあるんですかね?
どのrubyインストールしたの? ActiveScriptRubyをインストールしたならスタートメニューの中にないかな
189 :
名前は開発中のものです。 :2009/01/13(火) 02:59:39 ID:MuhdFF4P
あげ
ruby 1.9.1でFiberが実装されたけど これってどういう風に使えば良いのかな ゲームで使えるとは聞くけど、いまいち使用法がピンとこない
キャラクタとか弾幕の移動パターンやAVGのスクリプトが 一繋がりのコードで書けるとかそういうことだろうか 内部状態も画面更新も気にせずロジック分離できるのは便利かも
マイクロスレッドとFiberは違うものなのかな。 yieldされると呼ばれた元に戻るようだが
transfarで呼べばいいのか。自己解決。 しかし、応用方法がよくわからん。
質問です 最近rubyを始めてstarrubyにも触ってみたのですがわからなかったところがあります Game.runのオプション :title でウィンドウタイトルを設定しようと試しましたが、 どうもマルチバイト文字だと文字化けしてしまいます。 解決法はありますか?知っている方がいたらご教示願いたいです。 何分StarRubyの資料が少なすぎて・・・ Starrubyはruby/SDLよりも歴史が浅いようなので仕様がないですね
>>195 マルチバイト文字のエンコーディングを適切に設定する必要がある
たぶんUTF-8かShift-JISあたり
>>196 早速なリスありがとうございます
UTF-8。やってみましたできました
StarRubyの問題ではなかったのですかー。
Rubyを使う上では常識だったのですね。
ありがとう
>>197 おお書いてる間にレスが
ありがとうございます
やってみました
Shft-JISでは文字化けしてしまうようです
気になったので他のも試してみましたが、正しく起動できたのはやはりUTF-8だけでした
EUC,Unicode,UnicodeBE,UTF-7は起動さえもしなかったです
(JISは起動できましたが文字化けです)
> Rubyを使う上では常識だったのですね。 そういう訳じゃないけどUTF-8にしておくと無難なことは多いよ
201 :
200 :2009/03/04(水) 20:37:41 ID:b6Hu5YUc
そんで、StarRubyがUTF-8を要求しているのはたまたまStarRubyがそうだったってだけ。
> 520 名前:デフォルトの名無しさん [sage] 投稿日:2009/03/21(土) 21:08:44
>
>>515 > ゲームを作りたいのなら、他の言語を選ぶべき
> Rubyを身に付けたくて、それの題材としてゲームを作りたいというのならそれは間違いで、
> 書くコードの半分くらいはGUIに関するRubyと無関係なコードだ
>
> Rubyをすでに知っていて、それでなおRubyでゲームを作りたいのいうのなら、ようこそ
mygameからstarrubyに変えたら動作がかなり速くなった、でもmygameと違って扱ってる本も出てない上に 作者のサイトにすらstarrubyのコマンドが詳しく書かれてないから、どうやったらいいのかよく分からんな。
リファレンスはあるけど足りない? 詳しくはあると思うけど、具体的な使い方というかサンプルは少なめか
StarRubyは、全てがテクスチャなんでシンプルで判りやすい。大抵思った通りになる。 下手にスプライト機能とか増やして複雑になったら、文書の貧弱さが露呈するよね。
StarRubyの他のサンプルの解説はまだだろうか 特にテトリスもどきは解説必要な気がする… なんでInputを再定義してるのかとか、MVCの考え方とか。 ライブラリを使うときってサンプルの真似から入ると思うし、大事じゃね
もどきwww壁回転出来ないあたり、初代テトリスを真似てる感じもしたけどな・・。 作者の友人の佐藤氏の作品なんかは、ソース公開して解説もしてくれてもいいと思うんだけどなー。
209 :
名前は開発中のものです。 :2009/03/22(日) 22:41:17 ID:0G6HE5cZ
すまん、十字キー(4方向)が押されてなかったら、〜の処理をするってプログラムを StarRubyで分かる人居たら教えてくれ、elseじゃなくてね・・。 あと、人を歩かせる為にバックカラーを消したいんだけど透過処理が、サイト見てもよく分からないので そちらも頼む・・。
if Input.keys(:gamepad).empty? begin end 透過は元画像にαプレーンを埋め込むのが楽ちん。 どうしても元に埋め込めないなら pal=chara.pallette.dup pal[foo].alpha=0 //fooは変えたいパレット番号 chara.change_palette!(pal)
211 :
名前は開発中のものです。 :2009/03/23(月) 19:40:36 ID:bRuFtMUw
>>211 :gamepadを:keyboardに置き換えれば多分意図通りになると思われ。
あとbeginはthenのtypoかもしれない。
if Input.keys(:keyboard).empty? then
# ここに何か書く。
end
できますた!本当にさんくすです。できるだけ自分で進めていくけど、また何かあったらよろしくお願いします。 じゃあの
rubyでゲーム作ろうと思ってる人俺以外にいないのか。
そんなことはない
いるよ
俺も俺も 特にここに書くようなこともないんだが
せっかく制作してる人がいるなら ゲーム作りしてて悩むこととか話し合ってみるのはどうだい
219 :
名前は開発中のものです。 :2009/03/26(木) 00:43:51 ID:ESen4SDV
むしろプログラミング初心者の俺みたいな奴の為に、積極的に作ったソースとか貼ってくれ。 途中経過のRubyファイルとかもな!
>>219 分量ありすぎて、全部はとても貼れないんだが
どういう部分が見たいんだ
ちなみに俺はRPGです
221 :
名前は開発中のものです。 :2009/03/26(木) 20:10:44 ID:ESen4SDV
俺もRPG作ってる。 RPGの基盤となるマップエディタの作り方とか歩行可能マス判定とかソースとか張ったりして教えてくれww
RPGツクールじゃだめなのけ? 最近のはRubyでいじれまくるみたいだけど
223 :
名前は開発中のものです。 :2009/03/26(木) 23:49:10 ID:ESen4SDV
rubyのゲームを作るって目的があるからツクールは使えないな マップエディタは少し出来てるんだけど、プログラムが酷いから他の人のとか参考にしたいんだ
>>223 逆に君のソースを部分的に貼って。
皆で推敲していくのが、早いと思うんだけど。
Ruby/SDLの1.9.1対応版はまだかいな ブログでもう出来てると書いてあったから、ずっと待ってるんだが・・・
226 :
名前は開発中のものです。 :2009/03/27(金) 07:37:19 ID:ghITf81S
>>210 Color#alpha=はないんじゃないかなあ。
c = pal[foo]
pal[foo] = Color.new(c.red, c.green, c.blue, 0)
>>223 ツクールVX体験版はエンジン部分のrubyコードが読める
Ruby/SDLなら今リリースされてる最新で1.9.1でも普通に動くよ そうじゃなくて1.9.1新機能対応版ならまだだね
229 :
220 :2009/03/27(金) 09:19:15 ID:oXZjFyzb
>>219 紛らわしい書き方してごめん
特殊なジャンルのRPGなんで、歩行可能マス判定とかやってないんだ
マップエディタは一応あるけど、特に見るべきところない気がする
カーソル動かして画面スクロールしてキー叩いて壁置いて…という単純なものだし
データ構造も、ほとんどArrayやHash使ってるだけだし
VX体験版持ってるからちょっと調べてみる。 俺のエディタの方なんて配列使ってないな。二次元配列使ってる?
>>228 それは知ってるけど、ブログに1.9.1の新機能に対応したのが
CVS上で完成してるって書いてあるのよ、2/27のに
それからもう一ヶ月経ったけれど、まだかなぁ
CVSから落としてきたら確かに入ってたけど、リリースされてないとだめ?
>>232 そりゃ、正式?にリリースされている物の方が良いような
作者さんが一ヶ月もかけてデバッグしてくれているのであれば
大変ありがたい話ですが
それともやっぱり一ヶ月もたってまだリリースしないのは
やはり問題が見つかったか、さらに機能追加したいのかな
234 :
220 :2009/03/28(土) 09:03:05 ID:hNg38hWq
>>230 基本は文字列をキーとしたHash(data['2,5'] = value)
何度も探索するデータには二次元配列使ってる
(文字列キーの生成コストを減らすため)
うわー、書いたらさっそくRuby/SDL 2.1.0 リリースしてくれたよ も、もしかして、ここ見てますかね・・・w 感謝です
中の人.rb
237 :
名前は開発中のものです。 :2009/03/28(土) 14:16:47 ID:pS05X7M8
おまいらライブラリ何使ってる?
プログラム実行中に作った画像をファイルに保存したいんだけど save(path, alpha = true) これ使えばいいの?pasthってC:\desktopみたいにいれるんじゃないのかい StarRuby使ってる人もしくは星氏教えてくれ。
それでいいと思う パスってファイルパスとも言うからディレクトリ位置のことのみを指すわけじゃないな 聞く前に一回試してみればわかるだろ?
試してるけどうまくいかなくて、書きこんでしまったのだ。
ありがちな"c:\desktop"とかかな? これなら'c:\desktop'とすればOK
PNG形式で保存されるようだから、'C:\desktop\screenshot.png' じゃないかな? なんか、StarRubyも新版がでてるな。
ふむ・・どっちも試したけどエラーになるな。もう少し試してみる
244 :
242 :2009/03/28(土) 21:51:19 ID:cGUvFKXH
先程は想像で書いてたけど、実際に試してみたところ、 2つめの引数を指定するとエラーになるね。 texture.save('ファイル名') で、うまくいった。
本当だ、出来ますた、ありがとう。俺こういう発想出来ないから一人だと一生出来なかったかも知れん
Ruby/SDLのwin32-binはまだですか? もしかして皆Linuxで作ってる?
バイナリがなければ自前コンパイルしたらいいじゃない
Star Ruby の 1.9.1 向けバージョンが動かない…… 自分の環境が悪いのだろうか。誰かまともに動いた人いますか?
249 :
名前は開発中のものです。 :2009/03/30(月) 10:41:33 ID:ENNj5FkZ
1.9.1っていつ出たやつ? 3月始めにインストールした最新版なら動いてるけど
250 :
名前は開発中のものです。 :2009/03/30(月) 11:04:11 ID:LmJIMBy0
昨日テレビに、ノーベル物理学賞の益川教授が出ていたが、 彼の本棚には、Linux関連(DebianやEmacs)やRubyの本もあった 彼はかなりのプログラマーかも
プログラマがLinuxの本買うかね?
>>251 最新ドキュメントをチェックしつつ、わかりやすいように纏めた本を買うことだってあるでしょ。
どうでもいい
>>249 情報小出しですみません。
1/31 の mswin32 のバイナリを WinXP にインストールして使ってます。
Star Ruby を実行しようとすると
---------------------------
ruby.exe - コンポーネントが見つかりません
---------------------------
msvcrt-ruby191191.dll が見つからなかったため、このアプリケーションを開始できませんでした。アプリケーションをインストールし直すとこの問題は解決される場合があります。
---------------------------
OK
---------------------------
って怒られるんですよね。
msvcrt-ruby191.dll はあるんですけど、原因がよくわかりません。
無事に動いている人がいらっしゃるなら、もう少しがんばってみます。
OSについては基礎教養としてある程度知っとくべき、とは思うが。 あとEmacsの本はLinuxの本ちゃうし。 ディストリについての瑣末事はネットで調べるのは意外と煩雑だったりする。 検索すると古い情報ばっかりどっちゃりかかるので、必要な新しい情報が まとまってるのはありがたい。
Ruby インストしなおしたり、自分でビルドしてみたりいろいろしたけれどだめでした
(Star Ruby のマニュアルにある
http://arton.no-ip.info/data/asr/ の 1.9.1 をインストールしてもだめ)
仕方ないので Ruby のバージョンを 1.8.7 にダウングレードして 1.8 向けの Star Ruby 0.3.2 を
インストールしたらそれも動かない! ので、おとなしく Ruby 1.8.7 & Star Ruby 0.3.1 を使うことにしました。
0.3.1 以前は問題なく動くので最新版のバグかなんかなのか、やはり自分の環境が悪いのか
何にせよ、お騒がせしました。
もし解決法をご存じの方がいらっしゃいましたら、教えてくださると助かります。
解決策って言ってもstarruby使ってる人がここにどれぐらいいるのか。ライブラリ出来て一年以上立ってるのに 作られたゲームはたった5〜6本、良いライブラリなのに、公式サイトのAPIの説明とか使用例とかが、初心者には 分かりずらいんだよな。
別にAPIの説明は分かりづらくないと思うぞ 足りないとすればチュートリアルか
>>254 rubyをruby191としてビルドしたようなエラーだね
自分でビルドしてそのエラー出るのはおかしいんだけど、
変な場所にパス通ってて意図したのと違うrubyを使ってたりしてなかった?
旧バージョンをアンインストールしてないとかかもね。
262 :
248 :2009/03/31(火) 14:13:26 ID:HSEDQpAN
自分でビルドしたのはruby本体だけってことか StarRubyも自分でビルドすれば今でもいけるはず もしくはrubyをconfigureする時に--program-suffix=191を指定すればいいんじゃないかな VC++でビルドする時はどこをいじるのか知らないけど
>>263 mswin32でも同じく configure.bat --program-suffix=191
使えるの使っとけ
Rubyでフラッシュのゲームを作る事はできますか?
できない
268 :
248 :2009/04/03(金) 07:31:07 ID:3exgsBWw
StarRuby の新バージョン(0.3.2a)が無事動きました!
いろいろとアドバイスありがとうございました。
>>263-264 自分でビルドしたのは Ruby 本体だけでした。きちんと書かず、申し訳ない。
--program-suffix というオプションは知らなかったので、勉強になりました。
>>266 ming使えば出来ん事もないだろうけどおすすめできないな
そもそもflashの話がスレ違い
Ruby/SDLの2.1.0をMacでビルドしたらwaitがシステムのwaitと被ってるってエラーでたわ 名前変えるだけでいけたけど一応こんなところで報告
作者に報告汁。 つーかwaitって普通にUnix一般にある名前だけど、問題になってないのかな?
「システムのwait」ってのがいったい何を指してるのかが分からん。 エスパー募集か?
273 :
sage :2009/04/15(水) 12:03:04 ID:hnblO4iU
sourceforgeにRubyのゲームライブラリの新しいのが出てた! でも情報がほとんどなくていいのかどうかも分からん・・・
275 :
273 :2009/04/15(水) 17:02:56 ID:hnblO4iU
間違ってあげてしまったor2 しかも名前書き忘れててどれの事かわからんし・・・ごめんちょ dxrubyというやつで、SDLを使わないみたいだ。 プロジェクトの説明には簡単って書いてあるけど、どうなんだろ。 チュートリアルとかあるといいんだけどなぁ
ググってみた Googleのページからまだ出てないが DXライブラリのような位置をめざしてるっぽいな、DirectX上で2D専用だし。
277 :
273 :2009/04/16(木) 11:04:28 ID:O45NPtgf
自分で振っといてほったらかしもあれだから調べてみた MacやLinuxで使えないし機能も少ないしでStarRubyから乗り換えるほどでもなさそうだった。 まだ作りかけって感じで仕様変更も多いみたいだし、人柱以外にはオススメできない。
逆にどんな機能があればStarRubyから乗り換えたいかな? 基本的な機能はStarRubyでも揃ってるんだよねぇ 乗り換えるというかStarRubyに欲しい機能でもいいけど
Ruby/SDLとStarRubyのどっちでも実現できないことって、そうそう無いと思う WindowsのMIDIデバイスを使ったMIDI再生や、音楽の部分ループぐらいじゃないか?
>>280 StarFrameだっけ?
どなたかが作ったStarRuby拡張がそんな機能持ってました。
CodeReposに上がってるみたい。
>>278 フレームワーク系か3Dライブラリかな。
でもフレームワークは学習コストが高く挫けそうだし
3Dライブラリだと乗り換えではなく棲み分けだよな。
DxRuby精錬されてきたっぽいねぇ。
dxruby 0.0.9って出てるからα版ぐらいの段階なのかと思ってたら、「ほぼ安定版」なんだなw ということは0.1.0で安定版になるのか
StarRuby DxRuby どっちを選んだものやら
Ruby以外、という選択肢は無いのか。 なくてもいいけど。
C++とDXライブラリを普段使っている
そっか なら普段使わない組み合わせと言う意味でStarRubyは面白いかもしれないね
うん。なんとなく今時の言語とやらをみてみたくてね。 C++の勉強にもなるかなと。 ライブラリの前にRuby自体を本でも買って覚えんといかんけど。
DXライブラリのRubyラッパとか無いのかな?
>>290 うーん。あったような気がしたけど、開発とまってたような
代わりににdxrubyとかどう?
>>289 今時の言語というのを満たすのにRubyはいいけど、
正直ゲーム向けじゃないよ…
今時のゲーム開発なら、(C++ネイティブ省くと)、
Flash(ActionScript3)、ケータイ(Java等)、iPhone(ObjectiveC)てな感じ。
RubyはRailsあるしweb周りはいいんだけどね。
>>292 あら、そうなの?
単にマイナーなだけで生産性自体は良い―という認識だったけど。
その3点と比べてゲーム開発環境としてどの辺が弱いんだろ?
俺も気になるな CネイティブやC++ネイティブに、動作速度の面で負けるのは仕方ないが Flashやケータイに劣る理由がよく分からん
AS3は開発経験があるので口出し。 まずRubyより圧倒的に速い。 さらにAS3のメリットとして動的型付け言語としても振舞える点がある。ホットスポット だけ型指定して他は動的言語スタイルで、という荒業も可能。 AS3は独自仕様じゃなくてECMAScript採用したのはかなり成功してる。 それとグラフィックスライブラリは秀逸。エフェクトの充実度と扱いやすさを考えたらはっきり いってSDL系統のライブラリは同じ土俵にすら立てない。 ちゃんとしたオブジェクト指向言語だし、クロージャも扱えるし、それなりに柔軟だし、速い。 悪くない言語だと思う。 あとプログラマは忘れがちだけど、エンドユーザーはインストール作業すら障害に思う って点がある。 その点においてブラウザで実行できるFlashという環境はメリット。 Javaは…C++よりはGCがある分開発効率はマシ?程度の認識しかないなぁ。
>>293-294 生産性という意味ではなく、インディ界隈で流行っているプラットフォームで動くか動かないかって話。
(ケータイは時代すぎたけど仕事なんかでまだまだ需要ある)
今のRuby実装はブラウザ上で動く?ケータイアプリ作れる?iPhoneアプリ作れる?
それだけの話です。深い意味はないです。
インディデベロッバーにはあまり関係ないけど、コンシューマ系は未だにC/C++だし、
そんなに突っ込む話じゃないので…。
iPhoneとブラウザ上はUnity3D使えば、C#で開発はできるようになったけど。
ただ、どれもwebのバックエンドはRubyでってのは全然いけるし、
Rubyで学んだ知識は後々生かされるからそんはないし
(Rubyならこうかけるのに!って機会が増えてなかなか腹正しいがw)
>>296 の「仕事なんかで」に違和感覚えたらスマソ
「インディ」を独立系という意味で使ってます。同人含む
>>296 結局、環境にあった言語(FlashとActionScriptのような)を選べば良い、
ってことが言いたいんだよね、多分。
Rubyという言語自体に否定的なわけじゃなくて。
Rubyで作りたいって思ってる人がいるならひとまず作ればいいんじゃない?
今はまだ事例が少ないので言語とゲーム開発との相性みたいなものも
まだ知られていないんじゃないかなあ。単に俺が知らないだけだったらゴメン。
>>299 いったいどんな環境ならRubyがあっていると言えるんだろう・・・?
環境に依存しない言語だから、どの環境で使っても特化したものには
かなわないって感じになっちゃうのかな。
RailsみたいにRubyの真価を発揮できるゲームライブラリなんかが
出てきたら面白いのかも。
>>295 AS3ってそんなにパフォーマンス良いのかぁ…
本だけは買って積んであったから勉強してみるよ。
同人ゲーがメインなんでインストールすら厭うようなカジュアルゲーは
あんまり想定していなかったけどブラウザ上で動くならOS選ばないからイイね。
>>296-299 色々参考になった。皆ありがとう。
元々C++の勉強も兼ねているので全部やってみる。
デザパタの本を読むためだけにJavaをサラッと最低限覚えてみたんだけど
なんだか余計にOOが分からなくなってきたんでAS3とRuby両方やってみる。
みなさまはじめまして。
宣伝を兼ねて挨拶でもと思い書き込みします。
ちらほら名前も出して頂いてますが、DXRubyというRuby用ゲームライブラリを作っています。
http://dxruby.sourceforge.jp/ Windows専用となりますが、機能を少なくシンプルにした扱いやすさと、
DirectX直叩きによる実行性能の高さがウリです。
目安としては、サンプルのシューティングゲーム(640*480pixel、60fps)が
Pentium4世代のローエンドで動く・・・かな?ぐらいの感じです。
Windows用ゲームを気楽に作れる環境、ということで、以後よろしくオネガイシマス。
なんという作者降臨・・・。 Ruby1.9.1がRuby1.9.1対応版(0.0.9)でも動かないんだけど、 そういう不具合報告とか無い? 周りに使ってる人がいないから、自分の環境が悪いのかどうかわからない。
>>303 いやー、不具合報告というか動作報告すら無くて・・・w
あ、0.0.9-ruby191はインストーラに不具合(っていうか1.8用が入ってる)から、
install.rbを実行してもインストールできないという問題が(゜▽゜;)ゴメンネ
なるほど。このスレだとStarRubyが多数派っぽいけど、 俺はDxRubyを使っていく予定なので、これからも更新お願いします。
落としてみる。 両方使っているひとっている? 双方の長短を聞けると嬉しいが
>>302 サンプルSTGやってみた。
1プレイ目でなんかエラーで落ちた。
混戦だったので状況は覚えていないけど。
NoMethodError
undefined method `y' for nil:NilClass
stg_teki.rb:799:in `move'
stg_teki.rb:796:in `downto'
stg_teki.rb:796:in `move'
stg_teki.rb:63:in `hs_each'
stg_teki.rb:63:in `moveAll'
stg.rb:107
stg.rb:106:in `each'
stg.rb:106
stg.rb:101:in `times'
stg.rb:101
stg.rb:72:in `loop'
stg.rb:72
あと、「もっと遊ぶ」を選ぶと音楽が2重に?演奏されるみたい
>>299 > 結局、環境にあった言語(FlashとActionScriptのような)を選べば良い、
まあ、そうなんです。
現状どうも、Rubyでゲーム作るって意味合いには、
「Rubyで作る」ていうアドバンテージくらいしかない感じがしてます。
このスレにケンカ売ってんのかよ!みたいなレスばかりしててスマソwww
Ruby自体は否定してなく、すごく好きで仕事でも使ってます。
ゲーム以外のweb仕事も多いので重宝する言語ですw
ゲームでもrake使ってバッチ処理したり、ちょこっとしたデータを生成するスクリプトに使ってたり。
Unity 3Dみたいなマルチプラットフォームで、ブラウザ上でそのまま遊べる、
けどRubyでサクサクかける、みたいなライブラリとかできると面白いかもしれない。
Unity 3Dはスクリプティングエンジンとしてmono使ってC#使えてるだけだし、
Unity 3Dも結局、「ブラウザ上で動く」といってもJavaやFlashじゃないが、エンジンをインストールさせてますから、
技術的には可能だと思う。
(比較するとアレだけど)Pythonみたいな他のLLより間違いなく一歩先にいける
>>308 >「Rubyで作る」ていうアドバンテージくらいしかない感じがしてます。
コレで十分だと思われ。
DXRubyの人も書いているけどEnjoyProgramingの思想がLibに反映されていれば
そのLibは、Rubyと相性がよいRuby向けのLib、です。
っと言うわけで今の状況ではStarRubyが頭一つ抜け出ていると感じる。
プロトタイプをRubyで楽しく行って、
ゲームが固まってきたら規模と要求動作速度によてASなりC++なりに行けばOK。
>>305 そういってもらえるとちょー嬉しいです。がんばります!
>>307 不具合報告ありがとうございます。
どうも自分がやられたとき関連のテストプレイが不十分な感じです。
他にも色々ありそうなのでそのあたり一通り見直してみますね。
>>309 >プロトタイプをRubyで楽しく行って、
>ゲームが固まってきたら規模と要求動作速度によてASなりC++なりに行けばOK。
Windows用2Dゲームに限っては、そのままRubyでOKなものにするのが目標ですよー
>>310 DXRuby 触ってみた。
自分、プログラミング初級者だと思うのだけど、なかなかわかりやすくて楽しいです。
いろんな種類のサンプルもついててうれしい。
期待しとります。
>>311 ありがとうございます。
ぜひぜひ、何か作ってみてください。
速度とか考えずに適当に作ってもそれなりに動くようになってますので、
Rubyっぽく気軽に楽しんでくださいねー
>>310 自分も触ってみました。
凄く扱いやすくて良い感じです。
十字キーの戻り値がそのまま座標更新に使えるのは好みだし
FPS周りが楽なのも助かります。
敢えて難を挙げればBGMが今のところmidiのみなのと
ウィンドウの最小化ボタンがないくらいです。
これからの発展に期待しております。
まだ触り始めたばっかなんであんまり把握していませんが…
>>313 ありがとうございます。扱いやすく感じて頂ければなによりです。
BGMについてはOggVorbis対応を考えてはいるのですが、なにぶん難しくて…^^;
OggVorbisドライバのVox.dllをRubyから呼ぶためのラッパークラスなら
プロジェクトWebの一番下にコッソリ置いてありますので、
OggVorbisを使うならどうぞご利用ください。
最小化ボタンは気付きませんでしたw
検討してみますー
RGSSのスレってないけど、RGSSの話題もここでOK?
>>315 1に「ツクールXP(RGSS)についてはツクールスレ等でお願いします。」って書いてあるよ
無いことはないだろって思って検索してみたらほんとに無かった。
どうなんだろね。
ここに書いてもツクール持ってない人多そうだし、返事は期待できないかも。
ツクールマンセー野朗がうるさいから、別にして欲しいね。
同人ゲーム板に関連スレあるっぽいよ
同人ゲーム板にあるはずだし、Rubyのプログラムに関する質問ならプログラム板の初心者スレで聞けばよろし
ブログに書き込めお!
>DXRubyの中の人 フルスクリーン起動するとloadの値が−○○%になるんだけど(時間の経過と共に正常値になる)
>>322 確認しました。
さくっと直そうと思ったんですが、簡単には直せなさそうだったので
とりあえずチケットの登録のみしておきました。
ところで便乗で質問してみますが、
みなさんフルスクリーンモードってよく使いますか?
自分はゲームはウィンドウモードでしかしないので、
そもそも必要なのかどうかもよくわからないような状態です。
アクティブウィンドウを見失って空振りしまくり それで困るようなゲームだとフルスクがいいね あと、画面の端にカーソルをやるとスクロールとか 位置情報が操作に直結するようなやつ ちなみに自分はRTS好き
>>323 大きな解像度のモニターを使ってる人は「画面が小さすぎる。フルスクリーンにしたい」と感じるらしい
俺自身は、一般的な解像度のものしか使ったことがないから、よく分からないが
>>323 使わない。
ブラウジングとかできなくなるし。
モニタの解像度が切り替わる動作も何か嫌だし。
縦置きしているから首を90°曲げないといけなくなるし。
Window.scaleで拡大率指定できるのでそれで引き伸ばす。
StarRubyと違って小数指定できるので大いに助かっている。
640*480で1.5倍くらいにしている。
フルスクリーンに切り替わる位ならディスプレイ解像度取得して
画面いっぱいにウィンドウ広げてくれたほうがマシかな。個人的に。
ただ、
>>324 の言うようにマウスアクションのゲームだとウィンドウモードは
ちょっと辛いから全く無いのも困るかも。
デスクトップを見せたくない(モニター画面=ゲーム画面にしたい)時には、 フルスクリーン機能があると便利
理想を言えば、ユーザーがフルスクリーンとウィンドウを 自由に切り替えられるようになってるのがいいね。
DXRubyの人です。
フルスクリーンの問題は直せたので、修正を含めてDXRuby1.0.4リリースしました。
>>313 最小化ボタンつけましたよー
同時にWebでbass.dllラッパも公開しましたので、DXRuby以外でもどうぞご利用ください。
>>323 >>324 >>325 >>326 >>327 回答ありがとうございます。
あまり使われてないけど無いと困るという感じでしょうか。
とりあえず実行中に切り替える機能はあると便利そうなので検討してみます。
素朴な疑問なんですが、マウスアクションに関しては、
例えばウィンドウからカーソルが出られないように制御するとかでは
ダメなんでしょうか?(いまはできませんけど・・・)
Windowsのゲームって、ESCキーでウィンドウとフルスクリーンを 切り替えられるのが普通だと思ってた というか、持ってるゲームはほぼ対応してるはず
それは初耳 ESCってメニューとか出ね? 俺のPCゲーム知識が古いだけかもしれんけど
>>332 いや、俺の持ってるゲームも古いんで、最近のは
Alt+Enterでフルスクリーン切り替えになるのが多いね
ESCで終了とか
どっちにしろ、フルスクリーンにするオプションはほとんど
あるんじゃない?
ESCがゲーム終了やキャンセルで Alt+Enterがフルスクリーン切り替えってのが多い印象かな >最小化ボタンつけましたよー めっさ有難う。
最新版のStarRubyで実行中のフルスクリーン切り替えがサポートされたみたい。 なんてホットなタイミング。
うかつ賢二
PCだと俺は洋ゲーとフリーゲームばっかだけど、 ・ESCでメニュー ・Alt+Enterでフルスクリーン切り替え が多いような気がする
ESCでメニューとかウィンドウ切り替えって初めて聞いた。 洋ゲーはそんなんなのか。
ESCはポーズで、ポーズしたときにメニュー出るべ
切り替えっていうか、フルスクリーンになっているときにESC押したら ウィンドウモードになる、って感じのは見たことがあるような気がする。
フルスクリーンにするとメニュー(ウィンドウの上にあるメニューね)も消えちゃって パニクる人がいるんでESCで復帰にする、ということはあるなあ、ゲームの話じゃないけどね。
DxRuby使いやすくていいよ、中の人。 ふと思ったけど、こういったツールの「使われる」「使われない」は記述の易しさや動作の関係よりも エディタが付いてるかどうか、素材が豊富かどうかにあると思う希ガス。 加えて、ユーザーの多さの違いを考えると、最初から「何でも作れます」よりは アクションやシューティングやRPGの専用ツールみたいに何かに特化して その上で「工夫次第で他のタイプのゲームも作れますよ」の方が理解されやすいんだろうなと思う。 いう意味でRubyの「プログラミングを楽しむべ」の理念を一番体現してるのは、実はRPGツクールなんだろうなと。
>>342 > アクションやシューティングやRPGの専用ツールみたいに何かに特化して
> その上で「工夫次第で他のタイプのゲームも作れますよ」の方が理解されやすいんだろうなと思う。
それはあるかも。
RPGツクール2000製のアクションパズルとかを見ているとそう思う。
うーん、そうかなー?
まあなんてか、最初から全てを設計していくよりは すでに設計されてるものを改造したりしていく方が初心者にとっては覚えやすいんだと感じる。 だから初心者にとって一番最初に必要なのは 各種ゲームスタイルのサンプルなりフレームなんだろうなと。
ノベルゲームに特化したスクリプトもあるし、 ツクールでもアクションゲームツクールとかRPGツクールとか、 ゲーム作りの導入としてはそういったツール類も一つの手。 でもそういう人はプログラムを作りたいんじゃなくて、 ゲームを作りたいんじゃないかな、と。 どっちかというと、プログラマじゃなくて企画屋さん? プログラマはライブラリを使うし、企画屋さんはツールを使うし、 なんだか別人種な気がする。
個人的には 好きな方法論で作りたいからプログラムでやっている。 ライブラリに求めるのはフレームワークとかの枠じゃなくて 〜形式のファイルを読み込むとか画面の初期化とかパッド、KEYの入力とか その手の面倒だけど誰がやっても大差なくて、使う側の工夫では どうしようもないところの充実かな。 ライブラリを選ぶときもそこら辺がネックになることが多い。 pngのアルファチャンネル使えるのか〜とかogg鳴らせるのか〜とか、 3Dもできるのか〜とか。 スプライトの管理とか当たり判定の管理とか そういう使う側の人間でいくらでも工夫できる部分は 他人のやり方に合わせるよりは自分で考えた方が楽。 ツクールとか使う方が却って面倒臭い。
>>347 いや、そういう話じゃなくて、初心者にはどういう環境が望ましいのかって話だろ。
もしくはプログラミングの入り口か。
>>348 ?
>342の
>ふと思ったけど、こういったツールの「使われる」「使われない」は〜
を受けて語っただけだが…
声がでかくて技術のある人がもう少しいればな・・・ 初心者向き不向きといった機能的側面よりも、知名度の方が初心者に与える影響は大きい Rubyistって布教好きのイメージがあるけど、ゲーム界隈に限っては違うよなと 宣伝してるのはライブラリの作者だけ
なんていうか、最初は期待を持ってRubyでゲーム開発を始めたんだけど ある程度作れてから思ったことは、やっぱりRubyは遅いって事なんだよね だから、結局他の言語で作り直しちゃう 開発が楽なのは確かだから、プロトタイプを作るのには向いていると思うんだけど Rubyで全部作るとなると、やっぱり無理があるんだよね DXRubyってのは使ったことが無いけど、かなり速いのかな? 例えば、それほど速度を必要としないRPGを作るにしても 2Dだとしても今時のRPGを作るとしたら、立体交差等を考慮しても 最低3つのレイヤが必要となるだろうし、640*480の画面サイズで 32*32のマップチップだとすると、3つのレイヤ描画して どれくらいのFPSを維持できるんだろう?
>>351 640*480で32*32を3レイヤだと900枚。
でもその全部が描画されるわけじゃないから、適当に平均600ぐらいとしよう。
単純にRubyでぐるぐる回して描画するとして、
DXRuby作者のブログから計算するとPentium4 2.4GHz、60fpsでCPUの30%〜40%になる。
やっぱり描画数が多いと厳しいが、動的に複数枚をまとめた画像を作って
描画数を減らせば劇的に速くなる模様。
小細工すればなんとかってところか?
>>352 へぇ、結構速いね。60FPS 出せてその程度のCPU負荷なら
実用レベルのような気がするけど
まあ、実際はNPCが動いてたりアニメーションするマップチップ等
処理すべき描画はもっと多いから、最後まで作るとどうなるか
そういや昔PythonとPygameで作ったことがあるけど、あれも速かったな
あれはPygameが良く出来てるのか、そもそもPythonが速いのかな
まあこれはスレチだけど
マイクロベンチマークはいくらでもあると思うけど 実際同じゲームを他の言語でも実装したのと比べて どこがどれくらい遅いっていう話をしないと意味ないんだよな SDLだと標準はGDIだったと思うからGPUあんまり関係ないんじゃないかな? SDLのDirectXドライバ使ってたとしてもよほど酷いGPUでない限り1000枚は余裕で出るよ SDLの実装によっては逆に遅くなるかもしれんけどね
どっちかというと
>>354 や
>>355 みたいに
遅いらしいから使ってみることすらしない人ばっかりなところが問題な気ガス
あと
>>354 のリンク先の話からすれば遅いのはRubyじゃなくてライブラリかと
357 :
354 :2009/07/04(土) 13:32:57 ID:DLZyyPoD
>>356 俺自身は、ゲーム制作にRuby/SDLをバリバリ使ってるぞ
アクション系の負荷の大きいゲームではないけど
358 :
356 :2009/07/04(土) 22:33:23 ID:caiSx1ql
>>357 これはとんだ失礼を
Rubyでゲーム作ってる人ってほんとにいるんだな、と思った
完成品どころか作っていうという話すら出てこないから、
存在を疑いたくなってしまう
Rubyゲームプログラマなんて都市伝説
つまり356=356(のレスの中身)ということか
>>358 都市伝説かどうかはともかく理念だけ先走ってて
ユーザーおいてきぼりって部分はあるだろうな。
Flashにまでユーザー取られてる始末だし。
>>359 い、いちおういま勉強中なんだからねっ!
冗談はさておき、
>>350 が言うように
ライブラリの作者しか宣伝してないように見えるのはなぜなんだろう
むしろ理念がなくて無個性なのが問題だと思うが・・・
ここにいるみんなが書けばいいのさ
>>360 対立煽りさん、今日もお仕事ご苦労様です
よし、みんなで宣伝だ
>>361 ライブラリの注目度合いと比べて、作られたゲームの方があまり注目されてないからでは
あとは単純に、他言語との人口の違い
>>365 宣伝ってどうやるのがいいのかな? blogで「Rubyでゲームすげーよ作りやすいよ!」って主張?
そもそも作られて公開されてるのものが殆どない C++やHSPだと、本当に無数にあって、ちょっと検索しただけでもかなり引っかかるけど、 Ruby関係だと、かなりがんばって探しても20とか30とか、そんな程度じゃないか そんな具合だから、それが主張しようもない なんというか、使われてる感が全くないというか
>>342-343 確かにそれはあるね。
ただ、ツクール系が売れてるのは基本的に「夢」を売っているからだけどなw
「俺にもすごいRPGが作れる!」「俺の考えた(ryが実現できる!」っていう夢。
もちろん、プログラムにもそういう夢があるから、俺もゲームプログラム始めたんだけど、
ツクール系は特化していて売り方も上手く、もはや釣りに近いレベルw(詐欺とまでは言わんw
俺もツクールからRubyに入ったクチだけど、 ツクールの解像度仕様とマウス操作不可(可能だけどやたら重くなる) あとは動作の重さに躓いてツクールは諦めたなあ。 そんなときにDxRubyの存在知って移ろうかどうか迷ってるとこだが、 やっぱ作業効率みたいなものを考えるとツクールってよく出来てると思うよ。 俺みたいな画像畑の人間にとっては、表現したいことがサックリ実現できるって言うのはありがたい。
>>366 人口の違いはわかるが、Rubyのゲームライブラリって注目されてるの?
俺にはほとんどのユーザーから無視されているようにしか見えん
>>369 RGSS触ったことないけどそんなに重いんだ?
すげー軽いもんだとばっかり思ってた
ツクールの「表現したいことがサックリ実現」って、
エディタのことかそれともRGSSの画像処理機能が充実してるってことかが
ちょっと気になった
>エディタのことかそれともRGSSの画像処理機能が充実してるってことか 両方、じゃないかな。画像作って放り込んでチョコっといじれば実行できるって環境は、 色々と試したりするのにも最適だし、アイデアもガンガン生まれるしね。 重さって意味なら、描画能力はかなり低いと思う。 ついでにそんな複雑な処理さえしなければ軽いんだろうが、先にも書いたように俺の場合は マウスでの操作と高解像度が欲しい(ようするにPCゲームが作りたい)んで、ツクールは選択肢から外れちゃったと。 RubyだけじゃなくGamemakerとか、それこそC#使ったTorque Game Builderとかも考えてるんだが、 この両方ともマルチバイト文字に不安抱えてるっぽいので二の足を踏んでる。 特に後者はかな〜り魅力的なんだけどねえ。 まあなんつうか、ゲーム作りたい人間にとって重要なのは開発のしやすい環境なんじゃないかと思う。 特にRPGとかだとリソース管理が膨大になるしね。
372 :
366 :2009/07/06(月) 00:02:37 ID:/6C0kk+g
>>370 いや、相対的に見て「ライブラリの注目度>ゲームの注目度」だというだけ
注目されているとは俺も思わない
>>371 Torque Game Builderぐぐってみたけどこれすごいなー。
こういうのを見てると自分でプログラム書いて動かしてるものが
あまりにショボくて悲しくなるw
あと、
>>371 みたいなツクールばりばりの経験者にDXRubyとかを試してもらって
感想を書いてもらえたらすげー参考になりそう。
と思ったがそれはあまりにも自己中だな。
> Torque Game Builder これと比較するならツクールとかの開発環境を持ったフレームワークだろ ライブラリであるDXRubyとは比較する事自体、間違ってる ゲーム本体もそうだけどこういった開発環境を作るのがDXRubyの役割でしょ
そもそもライブラリに感想って必要なのか? すぐに入手できる(買う必要がない)し、APIリファレンス見れば構造はほぼ全部分かるし 必要な情報はベンチマークぐらいだと思うんだが でも一応、感想書いてみる Ruby/SDL: 王道。SDLそのものをRubyっぽく扱ってる感じ。低層処理もOK 歴史が長く、ミドルウェアも色々出てるためコードサンプルには事欠かない 機能面では制限が少なく、融通が利く。自分でコンパイルできればさらに融通が利く 難点は、「便利機能」的なものが少なく、ときに自前で泥臭いコードを書かなければならないこと (それでも他の言語と比べれば格段に楽だとは思う)
376 :
375 :2009/07/06(月) 08:29:19 ID:KTElMV18
StarRuby: 後発のためか、APIが非常にすっきりと洗練されている 描画エフェクト(変形・色変換・合成)がとても豊富で、ウインドウ拡大率の指定や透視変換など独自の機能もある 余談だが、配布サイトで紹介されている「SOAR」は普通に遊んでも面白い DXRuby: 試してない。Windows専用のゲームでもOKなら良い選択肢かも
これテンプレ書こうぜ
>SDLそのものをRubyっぽく扱ってる感じ 感じっていうか、そういうもん
XNAの完全日本語版来たようで。 サンプル類も日本語化されてるとか。
えっ?XNAってRubyで扱えたっけ?
IronRubyで使えるらしいよ
360でも動くのかなぁ CPU遅いから実用にはならないだろうけど
DXRubyインストールしてみた。 数年前ruby/sdlも使ってみたがキーボードでキャラ動かしたところで挫折したので、 今回はシューティング作るのを目標にしてみる。 とりあえずサンプル動かして遊んでみて普通に動いたので、しばらく色々弄繰り回してみる予定。
過疎ってんな
StarRubyとDXRuby両方使ってみた。 どっちもイイと思うんだが Ruby自体にまだ慣れていなくてなかなか移行できない。 今のところC++の記述方法が変わっただけ―くらいの認識。 たぶん慣れたらC++でやってたあんな記述はやらなくていい みたいなのが分かるんだろけど
383だが、DXRubyでとりあえずライフゲームはつくれた。 この調子でシューティング作れればいいなぁ。
うp!
うp!
なんかゲーム作ろう。
このスレに通っているのは4人くらいとみた
392 :
名前は開発中のものです。 :2009/08/12(水) 14:52:57 ID:iHcc5MwG
今時SDLはなしか?
何がどう「今時」なのかよく分からん
dxrubyがいい感じ Inputモジュールのkey_code判定に使える定数は ドキュメントに一通り列挙してほしいな K_SEMICOLONとかK_MINUSとか 俺は当て推量でなんとかしたけど、 ドキュメントに書いてあるほうが使いやすい
395 :
名前は開発中のものです。 :2009/08/24(月) 20:55:53 ID:RVLn/zs0
DX最近更新してたんだな もう当分はなさそうだが
>>394 公式かブログかtwitterに書き込むんだ
StarRubyなんですが、テクスチャの拡大縮小後の座標、幅、高さを取得する方法ってありませんか?
>>398 幅と高さは(元の幅or高さ)×(拡大率)
なんの話題も無いな
個人でプログラミングでゲーム制作なんて ハードル高いしね
プログラムだけならまだしも、絵とか音楽とか、ちょっとやそっとの努力じゃどうしようもないから困る。
DirectXスタティックリンク版にruby1.9.2対応のやつ追加してくれ! ruby1.9は速いけど文字列まわりの変更が激しくウザイうえに1.9版てバグってる臭いな
>>404 >1.9版てバグってる臭いな
1.9.1版て、だった
>>404 ruby 1.9がまともに動けばねぇ。そのうちコンパイラも出るだろうし期待しているのだけど。
408 :
名前は開発中のものです。 :2009/10/11(日) 14:48:49 ID:gVfZj0xn
GameMakerからの乗り換えを考えてるのですが、GMから乗り換えた人っています? C言語ベースでオブジェクト指向ってことで、GMからの乗り換えならとっつき易いでしょうか?
GameaMakerって何言語使ってるの?
GMLっていうC++っぽい独自のスクリプト
Rubyは簡素にかけるから、C++より分かりやすいよ
dxrubyで3D描画サポートしないかな ウィズ系迷路をワイヤーフレームでやりたんだけど パラパラ2Dより3Dのほうが迷いにくくていいんだよなー
うおお、これは良いサンプルw ありがとうw
>>413 ワイヤフレームなら、昔みたいにLINE引けばいいだけじゃん
3Dにする意味あるの?
ちゃんと座標計算しながら描画すれば、3Dみたいに
グルングルンまわせるし
>ワイヤフレームなら、昔みたいにLINE引けばいいだけじゃん なるほどなあ 例えばどんなゲームが線引くだけで迷路作ってたんだろう 具体例を1つ2つ挙げてもらえないだろうか
ワイヤーフレームなら3Dサポートなんか無くたって自力で3Dで扱って描画もできるっぺ
こんなのあったんだ、すげえw これどうやって陰面消去やってるんだろ 最初から描いてないのかな 線がぶつぶつ切れてるけど、描いた線を消してるんかな
Zオーダー指定して全部書いてるじゃないかw
ワイヤーフレームの3D描画で陰面消去ってどうやってやるんだ? 真面目に考えたらすごく面倒くさそうなんだけど 何かナイスなアイデアでもあるのかな
>>421 >>420 は
>>418 へのレスだってばww
>>422 手前から描きつつ、描いた面を記憶しておいて、
既に描いた面に線が重なったら線の開始をずらしていく、とかかな
ポリゴン塗りつぶし出来ない環境とか初めてだから良くワカランw
8bit時代のワイヤーフレームはあらかじめ用意しておいたパターンからXY座標を読み込んでいるだけが多かったです
ウィザードリィが線引くだけで3D迷路作ってたな。
陰面処理も昔のCGの本とか読んだら書いてあるからできんことはないが、 昔のゲームは数値きめうちアニメーションとかだろ
ウィザードリィはスプライト重ね描きじゃなかったっけ
機種によって違うんじゃない?細かい部分は。 基本は線を引くだけだと思う。
Apple ][にスプライトはないしな。
GMからの乗りかえならXNA(C#)がいいんじゃね
StarRubyをMac10.6.1に入れてみたんだけど、なんかおかしい 0.3.3はバッファがクリアされず軌跡が残る。全体的に色調が青い。 0.3.2以前は動くことは動くが色調が黄色 0.2はそもそも起動すらしなかった これはlibpngが死んでるのだろうか GoogleGroupの開発コミュニティ見に行ったらあんまり更新されてないみたいで残念
>>432 の書き込みを見てふと思ったが
日本でインディーズゲーム作りたい人の75%くらいは
自分で作ったキャラとか物語とかイラストが大活躍するゲーム作りたいんだろうな。
いう意味で親切なエディタが付いてない世界は全部、死にコミュ化してる感じ。
UIや絵を描いてくれる人がいなくて困ってるプログラマの方が多いように思えるが・・・ 自分で描きたくないでござる
絵はとりあえずフリー素材使わせてもらえばいいんじゃね なんにせよ一人で作るのは至難だな
starrubyとdxrubyどっちが処理早い?
dxは弾幕の処理にこだわってるみたいだし2Dactならdxじゃないの? ところでWindows7だとRDEが変なエラーウィンドウ出すんだが仕様? Win7使ってて同様の症状が出る方いたら教えてください
>>437 そうかー、どうも。
dxrubykのほうがリファレンスマニュアルとか充実しててわかりやすそうだから、
取りあえず、dxruby使わせてもらう。
FREERGSSなるものが、DXRubyの作者さんの所で公開されてる
440 :
名前は開発中のものです。 :2009/12/12(土) 18:16:10 ID:q0V1gylr
何でも良いからゲームライブラリを1つに統一して、それをブラッシャアップして欲しいわ。 なんでみんなしょぼいライプラリを一人で作りたがるのか。一個凄いのがあった方が良い。
ライブラリとはツールであると同時に思想だからだ perlがあり、pythonがあり、rubyがあるのと一緒
>>440 仮にStarRubyに統一されたとする
JPEG画像・BMP画像・BMFontを扱いたくなったときや、SDLSKKを使いたくなったときにはどうする?
Windowsでだけ動けばいい高速2Dゲームが作りたくなったときにはどうする?
443 :
名前は開発中のものです。 :2009/12/13(日) 12:12:12 ID:GwN1MFJW
>>442 当然JPEG画像・BMP画像・BMFont, SDLSKKを実装する。
だいたい一人でUnreal Development KitやUnityクラスのものが作れると思ってるのか
ゲームライブラリは1つに統一されるべき。
そしてそれをみんなで開発する。
「べき論」を言うやつに限って、自分では何もやらないよな。
その製作目的に賛同すればパッチを送るし、 賛同できない&貢献しにくいシステムなら送らない。 それだけじゃない?
>>443 動作速度や記述の簡潔さはどうでもいいの?
みんなで一つの物を開発するのが最高のやり方なのなら、OSも言語もそうなっていると思うよ。 用途や目的やターゲットとするユーザーが違うのだから違う物になって当たり前。 ただ、そのように考えるのは自由で、あとはキミがそのように行動するだけ。 みんなをまとめて素晴らしいゲームライブラリを作っておくれよ。
RubyもCもJavaも一つにしろって言うなら、それは無茶な話だけど、 Rubyのライブラリということなら、さほど変な話ではないと思うが。
似たようなライブラリが乱立しても意味がないと思うけどな
450 :
名前は開発中のものです。 :2009/12/13(日) 22:42:06 ID:/LccJx46
>>449 似たようなゲーム作るのなら
一つのゲームをみんなで協力して作れよ
似たようなゲームが乱立しても意味ナイト思う
>>448 いや、一口にゲームといってもいろんな種類があるわけだし、
同一ジャンル用ゲームライブラリでも、作者によって設計思想は変わってくる。
それを一つにまとめろってのは、やっぱり乱暴だよ。
プログラミング言語でたとえるなら、「RubyとPythonとPerlは適用範囲が
かぶるから、一つにまとめろ」って言ってるようなもんだ。
たとえばMiyakoの作者はマルチプラットフォームで多機能で強力なライブラリがいいと思ってて DxRubyの作者はWindows専用でシンプルで高速なライブラリがいいと思ってる どう見ても共通点はRubyとゲームだけだが、どのように協力してもらおうとお考えか
他人がどう思ってるのかはともかく、各ライブラリの作者は、それぞれ独自性があると思って 作ってるんだから、すり合わせは容易じゃない。 さりとて、それぞれのライブラリをオープンにして人を募ったところで、人は碌に集まらないだろうな、多分。 結局、限りなく個人製作に近い形でやるしかないんじゃないの。
結論、不満があるなら自分で作れ ライブラリ作ってる人は皆それが動機な筈だから それが嫌なら自分の満足できるライブラリの揃ってる言語を使えってこった
× 結論、不満があるなら自分で作れ ○ 結論、不満があるなら自分が作れor始めろ
Rubyのゲームライブラリの場合 必要に駆られてというより自己満足で作ってる面が大きい気がする
Rubyでゲーム作るってこと自体道楽みたいなもんでしょ
ユーザー100とか200とかの世界だからねぇ
Miyako本が発売されたお
もっと賑わえやー!賑わえやー!
このスレすぐ止まるw
>>449-452 Ogre3DのRubyバインダでも作ったほうが早い気がするw
最近、商用でもつかわれたしなかなかよさげだよ。マルチプラットフォームだしな
DXRuby本はまだか
465 :
名前は開発中のものです。 :2009/12/22(火) 19:43:16 ID:dlvLKies
日本人が
466 :
名前は開発中のものです。 :2009/12/22(火) 19:44:41 ID:dlvLKies
>> 464 日本人が開発してないとサポートが不安だから嫌。日本人超頑張れ
Miyako本買った人いるー? 俺は本屋で見たけど立ち読みしてスルーしちゃった
Miyako本立ち読みした。Miyako想定層が自分の想像してたのと違うかも……。 これって単独のアプリケーションとして配布はまだできないんだっけ?
Ruby使えるひとは結局Cで組んじゃうんだろうか…
Ruby使えるのにCを使う理由がない 速度が必要なところは除く。
Rubyで十分ならRubyでいいじゃ〜ん?
カジュアルゲーならAS3 重めのゲームならC++ に行っちゃうんじゃなかろうか
473 :
名前は開発中のものです。 :2010/02/03(水) 06:58:31 ID:BKTNgmVD
ひとすくねぇええ
dxrubyが3dに対応
476 :
名前は開発中のものです。 :2010/02/25(木) 22:03:31 ID:VVK07t/o
One-Click Rubyでスタールビーやマイゲームを使ったプログラムを実行しようとすると `require': no such file to load -- starruby (LoadError) `require': no such file to load -- mygame (LoadError) って表示されて実効出来ない。 ActiveScriptRubyだと出来るんだけどなんでだろう。アイコンがOne-Click Rubyの方がカッコいいから こっちで使いたいんだけどなあ。
477 :
名前は開発中のものです。 :2010/02/25(木) 23:30:45 ID:P2jYukg3
ちょっとしたミスだった。ごめん
not found
みんな頑張れー応援してるぞー。
481 :
名前は開発中のものです。 :2010/02/28(日) 21:15:54 ID:FVeyN57K
482 :
名前は開発中のものです。 :2010/03/03(水) 02:49:19 ID:u32XBy8m
ツクールかよ。つーかStarRubyの星さんも今じゃドワンゴの社員なんだよなあ、遠い存在になったもんだ
Rubyゲームライブラリの作者のtwitter参加率高いな
DXRubyのホームページって何で作ってるの? 似たようなライブラリを作ったのでパクりたいのですが
まじ? ひょっとして試作品除けばゲームよりライブラリの方が多くないかこの界隈 DXRubyのサイトは他の人に作ってもらったって書いてあったからその人でないと分からないかと
486 :
名前は開発中のものです。 :2010/03/05(金) 23:36:52 ID:XP4Zxnbo
あの程度のサイトならHTMLの記述が出来れば、ビルダーなんて使わなくても出来ると思うが
487 :
484 :2010/03/06(土) 10:11:25 ID:l26P+T//
>>486 無理、無理、無理
多分何かのCMSを使ってるはず。
CMSもいっぱいありすぎてどれを使えばいいかさっぱり分からない。
DXRuby + Exerbを使ってプログラム配布をするときって ・RubyのCOPYING.jpより配布するプログラム自体の著作権が作者にあることの表記 ・ExerbのREADME.jp.htmlより実行ファイルに含まれるRubyインタプリタの再配布条件を満たす ・DXRubyのMITライセンスよりリファレンスマニュアル中の許諾表示を表記 を満たせばおk? 礼儀とかを無視して考えた場合Exerb自体には触れなくていいの?
Rubyでゲームを作りました、使用ライブラリはDXRubyです。ぐらいでいいと思うが
>>489 Exerbに言及する義務は特にない
だけど
> ・RubyのCOPYING.jpより配布するプログラム自体の著作権が作者にあることの表記
これってどういうこと?
>>490 それだとrubyとDXRubyの再配布条件ガン無視してるじゃねーか
再配布ってライブラリ自体を勝手に配布するようなことはするなってことじゃないのか exe化されたアプリを配ることぐらい何ら問題も無い気がする。
493 :
489 :2010/03/06(土) 21:35:07 ID:hpm8ji5a
>>491 COPYING.jpより
5. 本プログラムへの入力となるスクリプトおよび,本プログラ
ムからの出力の権利は本プログラムの作者ではなく,それぞ
れの入出力を生成した人に属します.また,本プログラムに
組み込まれるための拡張ライブラリについても同様です.
本プログラム・・・Ruby、入力となるスクリプト・・・自分で作るソースコードだと俺は解釈
Rubyでプログラムを作成したけど著作権やら責任やらはRuby作者じゃなく
作成者にありますよ的な表記。
>>492 俺もその辺が配布者の責任としてのに対しての免責なのか
再配布の際の条件なのか利用したプログラムを配布する際の条件なのかよく分からない。
問題の有無はライブラリ等を作った人間がどういう使用条件を設けているかに
関わってるから調べるのが面倒だよね。
494 :
489 :2010/03/06(土) 21:37:10 ID:hpm8ji5a
変な改行が入っちまった
>>491 COPYING.jpより
5. 本プログラムへの入力となるスクリプトおよび,本プログラ
ムからの出力の権利は本プログラムの作者ではなく,それぞ
れの入出力を生成した人に属します.また,本プログラムに
組み込まれるための拡張ライブラリについても同様です.
本プログラム・・・Ruby、入力となるスクリプト・・・自分で作るソースコードだと俺は解釈
Rubyでプログラムを作成したけど著作権やら責任やらはRuby作者じゃなく
作成者にありますよ的な表記。
>>492 俺もその辺が配布者の責任としてのに対しての免責なのか
再配布の際の条件なのか利用したプログラムを配布する際の条件なのかよく分からない。
問題の有無はライブラリ等を作った人間がどういう使用条件を設けているかに
関わってるから調べるのが面倒だよね。
>>492-494 そうした解釈の成立する余地はあるかもしれないが
MITライセンス条文の中に「結合(merge)」とはっきり書いてあるうえ
DXRubyのリファレンスにも
> したがって、MITライセンス的にはこの許諾表示さえマニュアルの片隅にでも書いておけばOKです。
とあるため、限りなく黒に近い
mirichiさんに直接きいてみるがよろし
なんだひょっとしてゲームが完成したのかい? にわかに動きが出てきたなぁ
スレが立ってから2年経過して一つもゲームが出来てないってすごいな。Rubyでなんかゲームつくるスレ の方はいいところまでいってたのに放置したみたいだし。 Cの制作スレはたまに確認した中でもドラクエもどきとかシューティングとか出来て配布してたんだけどなあ
499 :
484 :2010/03/08(月) 12:05:35 ID:YNc78/XA
局Google Project Hostingで借りました。 自分で作ってホスティングするのメンドサイ。
過疎
伸びては止まり、伸びては止まりを繰り返すなこのスレ
守護天使の俺が見守ってるから安心していいよ
504 :
484 :2010/04/21(水) 22:38:23 ID:KoZNqWbE
484
なという過疎スレ
DXRubyで作られた完成度の高いSTGが出現した件
DXRubyの掲示板にあるやつか。 しっかり完成させてきた個人制作のRubyゲーム初めて見た。
ちゃんと完成した個人製作のRubyゲームならStarRubyのサイトにあるよ
Rubyでも今の携帯レベルのゲームなら作れるよね。 さすがにJava@ARMよりRuby@x86の方が早いだろう
速度的な問題は少ない
StarRubyみたいにソフトウェア描画すると言語じゃなくて描画がボトルネックになるだろうね DXRubyみたいにすればRubyの遅さが見えてくるかも
透視変換があるからStarRubyにしようか描画速度面でDXRubyにしようか悩む
頼めば機能追加してくれるんじゃね?わりと頻繁に更新されてるし
ゲームが完成せずDxRubyのバージョンばかり上がっていく・・・
DXRubyとFreeRGSSの関係が よーわからん
同じ人が作ってるし同じ技術を使ってるという話だから、つまり DXRubyのインターフェースをRGSS互換にしたのがFreeRGSS
なるほど RGSSに慣れてる人用のDXRubyか DXRubyの方使うか
いやそうじゃなくてRPGツクール無しで動かせるようにRGSSを移植してるんだろ まあインターフェイスを移植すること自体は問題ないけど RPGツクールで作ったものを動かしたらライセンス違反だな
> RPGツクールで作ったものを動かしたらライセンス違反だな そうなん? RPGツクールのデータってRPGツクール以外で動かしてはダメみたいなライセンスってあったけ?
最近のツクールは知らないけど 指定された実行ファイルから起動しなさいということになっていたはず
FreeRGSSってRPGツクールの全機能を実装してるわけじゃないし 心配するほどそのままは動かないんじゃね 気にするほどのことではないかと
一番重要な各種エディタやデータベースの機能がないんだから、 動かしたくても動かない RPGツクールのエミュレータではないから当然なんだけど
>>524 おお、ショートセッション参加希望です。
主催者様にメール送りました。
DXライブラリにC#用のDLLがあるけど これをRubyから利用することは 出来ないかなぁ
rubyすげー DXライブラリのDLLで試しに ウィンドウの表示だけやってみたら すんなり表示された やろうと思えば3Dのゲームとかも 作れそうだね
>>527 DXライブラリちょっと見てみたけど、APIがC言語用でクラス使ってるわけじゃないから、
Ruby用のラッパー書く分には簡単そうに見えるけど
530 :
529 :2010/06/17(木) 15:12:35 ID:WAj30wAj
ちょろっと書いてみたけどC#用DLLで動くね require "ffi" module DxLib extend FFI::Library ffi_lib "DxLib.dll" attach_function :Init, :dx_DxLib_Init, [], :int attach_function :End, :dx_DxLib_End, [], :void attach_function :ChangeWindowMode, :dx_ChangeWindowMode, [:int], :void attach_function :GetColor, :dx_GetColor, [:int, :int, :int], :int attach_function :DrawString, :dx_DrawString, [:int, :int, :string, :int, :int], :int attach_function :WaitKey, :dx_WaitKey, [], :void end DxLib.ChangeWindowMode(1) if DxLib.Init == -1 raise "dxlib error" end color = DxLib.GetColor(255, 255, 255) DxLib.DrawString(250, 240 - 16, "Hello C World!", color, 0) DxLib.WaitKey DxLib.End
なるほどー、ffiってのをつかうんですね 一生懸命wib32apiでやってましたわ
訂正 wib32api -> win32api
Win32Api は使いづらいから DL のほうがいいと思うけど こっちは標準ライブラリなのも大きいかも swig 使わないなら ffi か DL の二択…… require "dl/import" module DxLib extend DL::Importer dlload "DxLib.dll" extern "int dx_DxLib_Init()" extern "void dx_DxLib_End()" extern "int dx_ChangeWindowMode(int)" extern "int dx_GetColor(int, int, int)" extern "int dx_DrawString(int, int, char*, int, int)" extern "void dx_WaitKey()" end DxLib.dx_ChangeWindowMode(1) raise "dxlib error" if DxLib.dx_DxLib_Init == -1 color = DxLib.dx_GetColor(255, 255, 255) DxLib.dx_DrawString(250, 240 - 16, "Hello C World!", color, 0) DxLib.dx_WaitKey DxLib.dx_DxLib_End
DXRubyで文字表示をする際、妥当なやり方ってあるのかな…
できれば、Ruby/SDLで言うところの、
SFont?みたいなのを使いたいのであるが…
http://route477.net/d/?date=20070504#p02 文字表示は、「表示されてて当たり前」の扱いで地味な割に
画面上にはやたらと数が出てきて処理速度に響いてくる…
DirectXでは一般的にどういう扱いをしてるんだろう…
1文字1文字をスプライトで扱ってるのかなあ…?
それともBG扱い(タイル上に並べる)のかな…?
DirectXにBG機能はないよ 1文字ずつスプライトにするか、文字列単位でテクスチャ作ってスプライトで描くかじゃないかな
でっかい一枚のテクスチャにタイル状に文字並べて そこから一文字ずつ切り出して自分でレイアウト計算して描画するのがセオリー 一文字ずつ分けてしまうと非常に遅くなる
固定の文字列だったらまとめて1つの画像を用意する。
文章を描画するなら画像が多くなるから必要な時に
>>536 のように自分でレイアウトして画像を作る。
スコアの描画程度なら一文字ずつでもよさげ。
starrubyを入れたはずなのに動かない 「ruby install.rb」をするとInstallation Star Ruby completed!とは出るが ruby -e 'require "starruby"'としてもno such file to load -- starruby(LoadError)が出る (これはstarrubyが見つからないって事でいいんだよな?) Fxrubyだと、例文にバージョン名をちょっと追加して「require "fox16"」 とするととりあえず動きはするけどそれと同じようなエラーなんだろうか? 使ってるOSはWin7(64bit)で rubyのバージョンは1.8.7と1.9.1(64bit用)のmswin版 不躾な質問だけど、分かる人が居たらよろしく頼む
>>535-537 dです
1文字も、プレイヤーキャラも、弾も、敵も、全部等しくスプライトということですね…
>> 538
$LOAD_PATH が通ってないのでは?
1. そもそも starruby.so が正しく配置されているか?
自分の場合だと、install.rb を実行すると starruby.so は↓に入ってる。
C:/Ruby19/lib/ruby/site_ruby/1.9.1/i386-msvcrt/starruby.so
まずはそもそもファイルの配置に失敗してないか確認したほうがいいと思う。
2. starruby.so の配置フォルダに $LOAD_PATH が通っているか?
starruby.so がちゃんと配置されてたら、次は
ruby -e 'puts $LOAD_PATH'
の出力に1で確認したフォルダが含まれるか確認する。
含まれてなければ
ttp://doc.okkez.net/static/191/doc/spec=2fenvvars.html を参考に環境変数を設定する。
>>540 たぶんあなたの仰る通りに$LOAD_PATHというのが通ってないのだと思う
1については、正しく配置されておらず
rubyフォルダの中に、starrubyの解凍フォルダをそのまま置いていた
(C:\programming\ruby187\starruby-0.3.3-win32-ruby18\ext\starrubby.so)
2についても、さきほどのコマンドを実行してみたが
上記のパスは含まれていなかった
まずは上にリンクされた環境変数についてのドキュメントを参考に
フォルダの移動とパスの設定を試してみて、それからまた報告させて頂く
>>541 どうも話を聞いている感じ、Ruby1.8.7 と Ruby 1.9.1 の共存に失敗している気がする。
まずは1.8.7はアンインストールして、1.9.1だけがインストールされた状態で試してみてはどうだろう。
WindowsでRuby1.8系とRuby1.9系を共存させるのはそれなりに難しい。何か共存させたい理由があるんだろうとは思う。でも今は一旦保留にしておいて、もっとスキルがついてから共存を試みるのがいいと思う。
うーん、正直さっぱりわからない
まず1.starruby.soの配置で躓いている
まず、
http://code.google.com/p/starruby/downloads/listから binaries(バイナリ)→mswin32の中から「ruby-1.8.7-p72-i386-mswin32.zip」と「ruby-1.9.1-p378-x64-mswin64_80.zip」をDLし、
展開したものを「c:\programing」の中に置く。
この時、この二つをそれぞれ「ruby191」と「ruby187」という名前のフォルダにリネームし、
あらかじめ作っておいたC:\programingフォルダ以下に配置しruby191\binの方だけパスを通した。
(システムのプロパティ→環境変数→システム環境変数(S)へ「C:\programming\ruby191\bin」を追加した)
次にStarRuby公式サイトからリンクを辿り、
Google Code(
http://code.google.com/p/starruby/downloads/list )から
starruby-0.3.3-win32の(ruby19.zipとruby18.zip)をDL・展開した。
この後、展開したstarrubyのフォルダとその中身をどこにもっていけばいいのかわからない。 単純に、「install.rb」を実行しても、前に書いたように「Installation Star Ruby completed!」とメッセージが出るだけで (前略)ruby191フォルダの中のどこにも「starruby.so」は配置されず、 無理矢理「(前略)lib\ruby\site_ruby\1.9.1\x64-svcr80」の中に入れても 「dllが見つからない」とのメッセージが表示されエラーとなる。 実は、別口でDL・展開した「ActiveScriptRuby」の方はエラーが出ていないのでこちらを使えばいいのだが、 なぜ個別ではうまくインストールできていないのかがすっきりしない 長々と書いてしまって恐縮だが、もしよければ、どうかもう少しお付き合い願いたい
mswin64のRubyでmswin32のライブラリって使えるの?
>>544 とりあえずActiveScriptRubyで代用できてるとのことで安心した。
しかし納得いってないとのことなので、一応アドバイスしておく。
まず先に言っておくが、自分には原因はわからない。なぜって環境が無いから。なので原因究明の方法だけ。
> 「install.rb」を実行しても、前に書いたように「Installation Star Ruby completed!」とメッセージが出るだけで(略)
こういう「他人が作ったスクリプトを実行したんだけどなんかうまく動かない」という場合の鉄則は『ソース読め』。
まずは install.rb をテキストエディタで開いて中身を見てみよう。
開いてみたらファイルの最後に↓の一文があるはずだ。
puts "Installation Star Ruby completed!"
もう分かったと思うが、このスクリプトはインストールが成功しようがどっかで失敗しようが
無条件で「Installation 略 completed!」を出力するようになってるってこと。
じゃあ何が悪いんだって話だが、こういう「スクリプトのどっかで失敗してるらしいんだけどどこで失敗してるのか分からない」という時の鉄則は『一行ずつ実行してみる』。
irb (
ttp://doc.okkez.net/static/191/library/irb.html ) を開いて、install.rb の内容を一行ずつコピペして実行してみよう
(この時絶対に手打ちはしない。typoか本当に失敗してるのか分からないから)。
で、一行実行するたびに本当にうまく動いているか確認する。たとえば FileUtils.mkdir_p(dlldir) の行なら
本当に dlldir の場所にフォルダが作られてるかを見てみる。
何をするのか分からない行があったらリファレンスマニュアル(
http://doc.okkez.net/static/191/doc/index.html )を読む。
以上の手順を繰り返せば必ず原因が分かる。健闘を祈る。
返信が遅れて申し訳ない 実はまだ、言われた事が全て終わっていないが、解決までまだ時間が掛かりそうなので途中経過だけ書き込んでおく まずはinstall.rbを分解する #!/usr/bin/env ruby require "rbconfig" require "fileutils" option = {:noop => false, :verbose => true} dlldir = Config::CONFIG["bindir"] sitearchdir = Config::CONFIG["sitearchdir"] FileUtils.mkdir_p(dlldir) FileUtils.mkdir_p(sitearchdir) Dir.glob("dll/*.dll") do |path| next if path =~ /zlib/ and File.exist?(File.join(dlldir, File.basename(path))) FileUtils.install(path, dlldir, option) end Dir.glob("ext/*.so") do |path| FileUtils.install(path, sitearchdir, option) end puts "Installation Star Ruby completed!" 一行目と二行目の区切りが怪しいが、大文字小文字を考えるとこうだろう
次にirbで一行ずつ実行してみた 01行目「#!/usr/bin/env ruby」はエラーは出なかった (今動いているrubyのインストール位置を調べてる?戻り値なんかも無いからたぶん成功したとしか言えない) 02行目「require "rbconfig"」は「true」と返ってきた(ちゃんとインクルードされた?) 03行目「require "fileutils"」は「true」と返ってきた(ちゃんとインクルードされた?) 04行目「option = {:noop => false, :verbose => true}」は{}で指定した内容がそのまま帰ってきた (変数optionに"「オプション無効モード」は無効に、「ログ出力」は有効に"と入れた?) 05行目「dlldir = Config::CONFIG["bindir"]」はruby本体のbinディレクリが返ってきた (変数"dlldir"の中にbinフォルダのフルパスが格納された?) 06行目「sitearchdir = Config::CONFIG["sitearchdir"]」ではruby\libの中のフォルダが返ってきた (変数"sitearchidir"の中に、.so格納予定のフォルダへのパスが格納された?) 07行目「FileUtils.mkdir_p(dlldir)」はruby1.9.1のbinフォルダが返ってきた (変数dlldirで指定されたフォルダを作ろうとしたが、元から存在したフォルダなのでスルーされた?) 08行目「FileUtils.mkdir_p(sitearchdir)」は六行目で指定したフォルダへのパスが返ってきた (七行目と同じで、元から存在してたからスルーされた?) 01行目が怪しいが、大体問題ないように見える 07行目と08行目の命令については、「FileUtils.mkdir_p(sitearchdir + "\\testdir")」などとして ちゃんとフォルダが作られる事を確認している
09行目〜12行目 「Dir.glob("dll/*.dll") do |path| next if path =~ /zlib/ and File.exist?(File.join(dlldir, File.basename(path))) FileUtils.install(path, dlldir, option) end」 13行目〜15行目 「Dir.glob("ext/*.so") do |path| FileUtils.install(path, sitearchdir, option) end」 ここではエラーこそ出ないが、それぞれのフォルダの中には変化がない each文で、各フォルダの中を調べて、各.dllやl.soが存在しなければそれをファイルのコピーを繰り返す命令のようだが 「C:\programming\ruby191\bin」の中にdllがインストールされたり 「C:\programming\ruby191\lib\ruby\site_ruby\1.9.1\x64-msvcr80」の中にstarruby.soが配置されたりもしない
試しに 「Dir.glob("dll/*.dll") do |path| puts "test" + path end」 などとしても何の反応もない(nilが一度だけ表示される)事から、Dir.globの中の命令が一度も実行されていないのだろうか? ここまで付き合ってくれてありがとう。まだ原因がわかった訳ではないが それでも問題解決まで大分前進した気がする。 例によって長々と書いてしまって申し訳ない。とりあえずこの辺をもう少し調べてみて、また何か分かったら報告させて頂く
ちなみに、starruby用dll(starruby-0.3.3-win32-ruby19.zipを展開して出来たdllフォルダの中にある各.dllファイル)と
同じく展開して出来たstarruby.soファイルを手動でコピーし、requireできるか試してみた所
「-e:1:in ‘require’: 193: %1 は有効な win32 アプリケーションではありません。
-0:/programing/ruby19/lib/(中略)starruby.so (LoadError)
from -e:1:in ‘<main>’」
と出てきた。
同じ事をruby1.8.7でやってみた所(
>>547 の時点であまりやるなと言われてはいたが)
ちゃんとGUI画面が表示された。ruby1.9.1(32bit版)でも同じくGUI画面が表示された
(隅々まで不備なく動くかどうか確認したわけではないが)
今回のインストールできない問題とは別に
>>545 で指摘された問題があるかもしれない。
starruby を install.so を使ってインストールする事に成功した
失敗していた理由はなんて事もない、ただカレントディレクトリの位置を設定していなかったからだった
(ちなみに、次に例に出す ruby のバージョンは、32bit版を使うために1.8.7を使っている)
まず、
>>543 に書き込んだ通りに ruby本体 と、それに対応した starruby をDL・展開して、DOSを起動させ、
環境変数を追加して、PCを再起動させる
この後、「カレントディレクトリを starrubyを展開したフォルダまで移動させる作業」
(cd C:\programming\ruby187\starruby-0.3.3-win32-ruby18)
・・・が必要だったが、これを怠っていた為に install.rb の中の「Dir.glob 〜 end」命令が上手く働いていなかったようだ
分かってしまえば簡単・単純なミスだが、最初は全く思いつけなかった
お騒がせしてしまって申し訳ない
ともあれ、何とか正常にインストールする事に成功した
ありがとう、この板の皆の適切なアドバイスのおかげだ
またどうしても分からない事があった出てきた時は、よろしく頼む
おつかれさま。 StarRubyをいじってゆっくりじっくり遊ぶといいよ。
>>528-530 マルチプラットフォーム狙いじゃなくてバリバリ3Dじゃないなら(バリ3DをそもそもRubyでやるのか?はおいておいてだな)
DXライブラリ使えるならいい案だな。
国内の同人ゲームでよくつかわれているみたいで情報も多いし。
C#用のライブラリってどんなのかと思ったら、
元がC言語で他の言語でも使えるようにDLL化してあるからRubyからも使えるってことかー。
.NET専用にC++/CLIで書きなおした、とかじゃないからね 汎用に使えるね。
コチラで聞けと言われたので参りました。質問です! Rubyでゲーム作れるって聞いたので
ttp://jp.rubyist.net/magazine/?0018-GameProgramingForRubySDLのサイトのリンク先でsource of Ruby/SDL 1.3.0というのが見つからなかったのでrubysdl-win32-binの1.3.0をダウンロードしてprogrum file内にインストールしたRuby1.8の下にフォルダを作って解凍しました。
回答したあとinstall_rubysdl.rbを実行したら変なメッセージが出たのですが無視してテストのウィンドウだけ出すプログラムを作ってみたらファイル名:2:in `requie' : no such file to load -- sdl (LoadError)というものが出ました。
どうしたらウインドウを出す様に出来るのでしょうか。ちなみに変なメッセージはこんな感じでした。
mkdir -p C:/Program Files/ruby-1.8/bin
mkdir -p C:/Program Files/ruby-1.8/lib/ruby/site_ruby/1.8
mkdir -p C:/Program Files/ruby-1.8/lib/ruby/site_ruby/1.8/i386-msvcrt
install -c dll/jpeg.dll C:/Program Files/ruby-1.8/bin
C:/Program Files/ruby-1.8/lib/ruby/site_ruby/1.8/fileutils.rb:1264:in `initialize': Permission denied - C:/Program Files/ruby-1.8/bin/jpeg.dll (Errno::EACCES)
from C:/Program Files/ruby-1.8/lib/ruby/1.8/fileutils.rb:1264:in `open'
from C:/Program Files/ruby-1.8/lib/ruby/1.8/fileutils.rb:1264:in `copy_file'
from C:/Program Files/ruby-1.8/lib/ruby/1.8/fileutils.rb:1263:in `open'
from C:/Program Files/ruby-1.8/lib/ruby/1.8/fileutils.rb:1264:in `copy_file'
from C:/Program Files/ruby-1.8/lib/ruby/1.8/fileutils.rb:464:in `copy_file'
from C:/Program Files/ruby-1.8/lib/ruby/1.8/fileutils.rb:845:in `insrall'
from C:/Program Files/ruby-1.8/lib/ruby/1.8/fileutils.rb:1397:in `fu_each_src_dest'
from C:/Program Files/ruby-1.8/lib/ruby/1.8/fileutils.rb:1411:in `fu_each_src_dest0'
from C:/Program Files/ruby-1.8/lib/ruby/1.8/fileutils.rb:1395:in `fu_each_src_dest'
from C:/Program Files/ruby-1.8/lib/ruby/1.8/fileutils.rb:841:in `insrall'
from C:/Program Files/ruby-1.8/rubysdl-1.3.0-mswin32-1.8.5-p12/install_rubysdl.rb:26
558 :
つづき :2010/07/17(土) 23:47:25 ID:Dnvbzl3f
from C:/Program Files/ruby-1.8/rubysdl-1.3.0-mswin32-1.8.5-p12/install_rubysdl.rb:26:in `globe' from C:/Program Files/ruby-1.8/rubysdl-1.3.0-mswin32-1.8.5-p12/install_rubysdl.rb:26 以上です。宜しくお願いします。
あっちでも書いたが、C:/Program Files/ruby-1.8/binが管理者じゃないと書き込み権限がないとかだろ。
Rubyのインストール先をProgramFiles以外にすればいいんじゃね?
562 :
名前は開発中のものです。 :2010/07/24(土) 22:53:49 ID:5NFRX1nR
>>562 コマンドプロンプトから起動したら
menu.rb:1:in `require': No such file to load -- mygame/boot (LoadError)
from menu.rb:1
って出てた。
mygameのファイルが無いってことだからexeのディレクトリにコピーしてみたら、
こんどはSDL.soが無い。
どうもexe内にmenu.rbしか入ってなくてその他のライブラリ類が無いということらしい。
でもexyファイルはちゃんとできてるようだ。
ちゃんとこのexyファイル使ってexe作ってる?
ちゃんと調べてはいないが exerb menu.rb とやってしまっているのではないか、とエスパー
565 :
名前は開発中のものです。 :2010/07/27(火) 17:52:54 ID:hLF79voE
562です。 自分の行った手順は コマンドプロンプトから mkexy menu.rb exerb menu.exy です。 出てきたmenu.exeを起動しても。 main.rbに移る部分で消えてしまいます(^^; menu.exeを実行 menu.exeの中でmain.rbをrequireするってのは出来ないんでしょうか? それともそれ以前の問題なんでしょうか? ご指南お願いします。
いま
>>565 の手順でexe作ったら動くやつができた。
1MBぐらいのサイズの。
ASRで入れたRubyでruby 1.8.7 (2010-06-23 patchlevel 299) [i386-mswin32]
あとはRuby/SDL2.1.1.1
ASRのruby consoleからコマンド叩いた。
>>562 はなんでうまく行かないんだろうねえ。
ところでフォントは自動でコピーされないから、
exeのとこにfontsってディレクトリ掘ってVL-Gothic-Regular.ttfをコピーしないとダメだよー
567 :
名前は開発中のものです。 :2010/07/27(火) 21:35:35 ID:hLF79voE
>>566 ruby 1.8.7 (2010-06-23 patchlevel 299) [i386-mswin32]
Ruby/SDLはバージョン確認方法が分からず(^^;
rubyのフォルダにVL-Gothic-Regular.ttfを発見したんですが、
exeのところっという部分が分かりません(;;
exeのところってのは、imageみたいに配布するときに一緒に含めないと、 って感じの意味ね〜 Ruby/SDLのバージョン確認方法は俺もちょっとわかんないw
$ ruby -r sdl -e 'p SDL::VERSION'
570 :
名前は開発中のものです。 :2010/07/29(木) 20:16:02 ID:DQ84OKWn
562です exeと同じディレクトリにfontsのディレクトリを作って その中に、rubyのmygemeフォルダの中に入っていたVL-Gothic-Regular.ttfをコピーしたら 動くようになりました! ご助言ありがとうございました!
おめでとう〜
RubyKaigiでプレゼンやってたんだね 録画こないかな
dxrubyは本にならないのかなぁ
DXRubyはなんであんなにプラットフォーム依存をアピールするのか API自体は、いかにもDirectXらしいというわけじゃないんだから、他の環境でも十分実装できると思うけどな 「最近のハードの性能を活かしやすい設計です。とりあえずDirectXでの実装だけ提供してます」 くらいにしとけばいいのに
書いとかないと苦情が来るだろ Rubyのゲーム用ライブラリって聞いてWindows専用とは思わないだろうし それにWindowsと書いてあった方が安心する 色々ダウンロードしなきゃいけないとか、フォントがまともに出ないとか そういう余計な心配をしなくて済むから
dxrubyは中の人のブログも更新止まってるが…中の人元気なんだろうか
>>576 ツイッターで現状報告してるよ。
転勤と引越しがあったらしい。
というわけでお前らもツイッターやりなよ。
言論の隔離が出来て検索がラクになる。
SDL_Imageのインストール方法がわからないので教えてもらえないでしょうか。 ソースコードはダウンロードしました
Ruby/SDLを使うのなら、SDL_Imageを改めてインストールする必要はないよ 何らかの理由でSDL_Imageの自力コンパイルが必要なら 自力で調べてmingw環境あたりでがんばれ というか、俺も一度失敗してあきらめた
580 :
578 :2010/12/07(火) 23:07:22 ID:bxIQbYIG
>>579 了解です
Ruby/SDL使おうと思ってました
ありがとうございます
581 :
名前は開発中のものです。 :2010/12/19(日) 14:53:43 ID:A0mlbYf/
StarRubyについて質問です。
FFっぽい2DRPGを製作しています。
NPCとの会話で文章を表示させたいのですが
render_text が文字化けしてしまいます。
ログをみてて解決できそうなものがあって試してみたんですが
>>202 のようにファイルの文字コードをUTF-8にしたら
タイトルは文字化けしなくなりました。
でもrender_textで画面上に文字を表示すると化けて
□□□□ という感じに表示されます。
Kconvとか使って直接文字コードを変えてもだめでした。
フォントはデフォルトで入ってた「arial」
OSはWin7の64bitです。
日本語フォントに変えてみるとか。
583 :
名前は開発中のものです。 :2010/12/19(日) 18:19:17 ID:A0mlbYf/
>>582 oh...
表示できました!
ありがとうございます!
tiwtterかぁ。アカウント態々作るのもなあ
585 :
名前は開発中のものです。 :2010/12/30(木) 01:42:57 ID:AlfmncUo
RPGツクールでいうウェイト処理って自分で組まないとだめか
キャラを座標が動くときや入力を受けている時にアニメーションさせる方法はわかったのですが 何もしていないときにアニメーションさせる方法がわかりません(なにも入力しなくてもその場で足踏みし続けて欲しいのですが・・・) このような場合は何を変数に入れてグラフィックの描画を切り替えるのが一般的な方法なのでしょうか?
ウィザードリィの初期ステのような、高い値ほど出にくいランダムな値を取るには どういった感じに書けば良いのでしょうか。
正規乱数とか? いくつか乱数作って平均値を取る
サイコロを10個振って目を全部足す
>>590 と同じだけどな
こんな過疎スレでも数分でレスとはすばらしい
starrubyとかDXrubyの更新が止まったのはなんで? もう完成されたってこと?
飽きた 忙しくなった Rubyを見限った
DXRubyの作者さんはツイッター見る限りでは忙しいみたいだ 今年の3/2の時点でもDXRubyについて発言してるから飽きたとか見限ったじゃぁなさそう starrubyの人も2010年11月の時点で日経ソフトウェアに「Ruby で迷路ゲームを作ろう!」という記事を書いた とブログで報告してはいる。
そうかぁ 決して悪くないゲーム開発環境なんだから、 知名度があがって、コミュニティも発展したらいいのに あとドキュメントだな。書籍が欲しいな
そだな。俺もDXRubyの本が欲しい・・・なんて前にも書き込んだなと思ったら
>>464 だった
まあでもRubyでゲームを作るメリットが大きいかというとそうでもない。 LuaみたいにC++からスクリプト言語として使えると便利なんだが それは今作ってるらしい軽量Rubyに期待しよう。
require 'dxruby' image =Image.new(100, 100, [255,255,255,255] ) image = Image.box( 0,0,100,100 ) Window.loop do Window.draw(100, 100, image) end なんで動作しないの エラー分も出ないしつかいにくすぎ
これくそだわコンソールで出力できないからひとつひとつのメソッドの役割を調べるのが面倒 絶対はやんないruby事態落ち目だしね 素直にpyてょにくことにしたわpygameゆうしゅうだし
undefined method `box' for DXRuby::Image:Class (NoMethodError) というエラーが出たが? そんで、 image = Image.box( 0,0,100,100 ) をコメントアウトしたら動いたが。明らかに初歩的な勘違いだろ。 いや、もう見てないかw
超初心者的な質問で悪いんだが。 SDLってマウスカーソルをユーザーのデフォルトのまま使用することってできないの? なんかリファレンス見ても白黒でしか表現できないような感じになってる・・・・よな? 拡張用のdllとかモジュールがあったりするのか?
システムのカーソルをそのまま使うのは無さそうだね SDL1.3ならサーフェスをカーソル扱いにするのが用意されてるけど RubyでSDL1.3使えるものあるのかな
なんとなくエロゲーをつくろうともうんだけど 配布目的だから画像データをなんとかしたい。 データのバイナリ書き換えといて 読み込むときにバイナリ編集モードで元に戻すとかでいいんだろうか。 バイナリ編集モード使ったことない。 なのでまだためしてもいない。 家に帰ったら試してみようと思う。
Miyakoで画像を反転させてアニメーション表示させるにはどうしたらいいかわかりませんか? 2Dアクションでキャラが右向きと左向きしか無いので、反転させて使いまわそうと思うのです。 Miyakoの本では右向きと左向きの画像を別々に用意する方法は記載されているのですが、反転させる方法がわかりません。
Rubyでファミコン風のADVを作ろうと思っています。 Rubyの知識は入門書を一通り読んだ程度しかないです。 DXRubyやMIYAKOやら、色々ありますがADVを作るならどれを いじってみるのがお薦めでしょうか?
ADVならどれでもできるよ まずは何事も諦めず楽しんで調べまくりながら作るのが大事だよ 個人的にはDXRubyがおすすめだよ まずはサンプルプログラムのソースを見ていじるところから始めるがよい
>>608 ありがとうございます。StarRubyとDXRubyは触ってみたのですが、
DXRubyの方が使いやすいと感じました。
StarRubyは動画で「スーファミ風に作れる」と言っていたので触ってみたのですが、
どうも性に合わないみたいです。
相性っていうのもあるのでしょうね、しばらくはDXRubyでやってみようとおもいます。
gs=TCPServer.open(12345)
s=TCPSocket.open("xx.xx.xx.xx", 12345)
ソケット通信を行う際
鯖も蔵も同じバソコンで起動する場合では、
"xx.xx.xx.xx"を"localhost"、ローカルIPで指定で通信でき、
鯖を家の同じルータからのPC1、蔵をPC2で起動した場合
"xx.xx.xx.xx"をローカルIPで指定で通信できました。
ここで鯖を家、蔵を別のグローバルIPをも振られたPCで起動した場合の通信はどうすればできるのでしょうか。
一応"xx.xx.xx.xx"をIPを調べれるサイト
ttp://www.cman.jp/network/support/go_access.cgi こことかで調べた接続用IPを使ってみましたがダメでした。
よければご指南お願いします。
>>610 どうダメだったかも書いたほうがいいと思う。
>>611 自己解決しました。
ポート開けてなかっただけだった(´・ω・)
おかしいな・・・・開けたつもりだったんだけど・・・
613 :
名前は開発中のものです。 :2011/08/26(金) 08:49:42.19 ID:QAfZLYw6
te
DXRubyでWindow.getScreenShotを呼んだ時に DXRubyで作ったゲーム画面がデスクトップ外にはみ出してたらエラー出るのね・・・
某所のつぶやきでは
>>614 は次のバージョンで修正されるみたい?
いつリリースされるのかわからないけど
DXRubyプロジェクトwikiにあるVox.rbだけど、VoxDeleteはあってもVoxReleaseが無いんだけどあれでいいのかな? 自分は初心者過ぎて、サウンドドライバの開放とサウンドドライバの削除の違いがわからないんだけど、 VoxReleaseが無いとサウンドドライバの開放が出来なかったりしない? Vox本体のヘルプファイルではVoxDelete呼ぶ前にVoxRelease呼んでるので気になったんだけど・・・ VoxReleaseと同じ事をRubyのGCがやってくれるとか、そんな感じで必要ないのかな? 自分でも何言ってるか今ひとつだけど誰か教えてくだしあ
618 :
名前は開発中のものです。 :2011/10/18(火) 20:41:02.79 ID:51XkMjlb
Rubyで作られたゲームでソースコードが読みやすいものを紹介していただけないでしょうか? 特に、ゲームループ、場面管理、マウスキーボードからの入力を参考にしたいと思っています。 よろしくお願いいたします。
ツクールVXの体験版とかどうだろう
>>619 レスありがとうございます。
調べてみましたが、RGSSのことでよいでしょうか?
自分としては、RPGツクールとは無縁で開発したいので、できればRGSS以外がいいです。
自分が作りたいのは2Dの単純なものなので、ライブラリはStar Rubyにしようかと思っています。
あと、DarkHall(
http://wiz.morphball.net/darkhall/ )がRubyで組まれているようなので、参考にソース見てみます。
そのほかにも面白そうなソースがあれば教えてください。
よろしくお願いいたします。
>>620 DarkHallのソースをちょっと見てみたけど、初心者には難しいと思う
ツクールとは関係なしに、RGSSはすごくわかりやすく書いてあるので
場面管理とかを知るには、かなり参考になる
ただ画像表示とかの一番下の土台になってる部分がブラックボックスなのが残念なんだが
あとはStarRubyの公式サイトで配布されてるShadowDangeonとか
>>621 情報ありがとうございます
とりあえず、アドバイスどおりRGSSとShadowDangeonのソース見てみます(StarRubyの公式サイトに有るのにスルーしていたのは深くでした)
またなにかありましたらアドバイスおねがいいたします
働きながらのゲーム製作なのではかどらないとは思いますが、完成したら報告します
デュフフフ
すみません。 Star Ruby公式のShadowDangeonのページが見れないのですが、どなたかわかりますか? てか、Star Ruby公式の作品紹介が2個ともリンク切れになっているような… グーグル先生に聞いてもShadowD"u"ngeonが出てくるし、、、 よろしくお願いいたします。
DXRubyってUTF-8に対応したりせんのだろうか・・・
DXRubyのバージョン上げてみたつもりなんだけど、成功してるのかどうかわかんね インストールされてるDXRubyのバージョン調べる方法ってあったっけ?
StarRubyよりDXRubyの方が流行っているのですか? デュフフフ
DXRubyって新しい機能が追加されたんだね StarRubyのTextureみたいに使えるのかな
>>623 普通に両方サイトなくなったみたい?
>>626 StarRubyは2009年の0.33から更新来ないし、作者がブログでもtwitterでも触れないしで止めたのかなーとか思ったり
でも下のCopyrightは2011だったりしてよくわからん
今一から始めようと思って各ライブラリのサイト巡ったとしたら、明らかに開発が続いてるMiyakoかDXRubyに行ってしまうんじゃないかと
いや俺もStarRuby使ってるんだけど、開発が続いてる形跡がないと
Ruby本体のバージョンアップである日動かなくなるんじゃないかと地味に不安だったり、、、
>>628 情報ありがとうございます
StarRubyの開発が停まっているのは気になりますね
でも、自分がライブラリに期待する昨日は、描画、音楽再生、キー入力の受け取りくらいでそれ以外は極力自作したいと思っています
どのライブラリでも持っていると思われる機能なので、StarRubyがこけても他のライブラリへの移行はそれほど苦労がないのではと期待してます
まあ、今のところRGSSの勉強中(時間がなくてほとんど進んでない)ですので、RGSSの勉強が終わってゲームを組み始めるときにライブラリは再考してみます
デュフフフフ
DXRubyの中の人はtwitterのつぶやきを見るに今でもこのスレ見てると思われる そういう仮定のもと 頑張ってください、応援してます
本屋でMiyakoの書籍があったので、軽く立ち読みしてみました RGSSライクな部分があるみたいですね RGSSは結構褒められているフレームワークな気がするので、とりあえず、一旦計画を白紙に戻して、Miyakoベースでゲーム作ること考えて見ます Miyakoはホームページもしっかりしているし、活動的みたいで好感度高いです デュフフフ
RGSSの一番良いところは事細かくコメントで説明されているところ 自分でプログラムを書くときもいちいちコメントを付けてくと 後々絶対に役に立つ
まだRuby1.8系で開発してる人っているの?
Vox.rb見てるんだけどsetLoopで無限ループさせるための引数って無いのかな 試しに-1でやってみたけど一回再生したら終わったし 引数にありえないくらい大きな数値与えるとか getStatusで停止中だったらまた再生するように書くとかすればいいのだろうか
>>634 自分はこれから開発を志すものですが、1.8系は古いですか?
会社の先輩からRuby1.8の本をもらったけど、1.9の本を買いなおしたほうがいいかな?
それと、ネットでwww.wankuma.com/seminar/20081213osaka25/2.pptを見つけました
これ見ると、StarRubyもMiyakoも捨てがたいですね
Rubyの勉強のこと考えると、シンプルなStar Rubyの方がいいかな?
迷いまくりんぐ
デュフフフフ
>>636 ありがとう、試してみるよ。結果また書きに来る
>>637 文末から考えて
>>632 でMiyakoで〜と書いてた人と同一人物という前提で書くけど
Miyakoは動作環境見る限りRuby1.9.1以降しか対応してないよ
自分は趣味でプログラミングしてるだけで、1.9.1から入ったから1.8は触ったことがないけど
ttp://www.ruby-lang.org/ja/news/2011/10/07/plans-for-1-8-7/ 読んで、1.9でもいいんじゃない?と思ってる
自分が始めた頃は、まだ初心者は1.8でやっとけみたいな流れだったけどさ
本の買い替えについては1.8触ったことがないから、どのくらい違うのか自分にはよくわからん
確かStarRubyにはマップを扱うメソッドもクラスもないから
マップを扱うつもりならそこをTextureクラスとかで自分で何とかしなくちゃならないはず
それが開発の壁にならないならStarRubyはシンプルで良いと思うよ。
昔リファレンス読んだ時にそう思ったんだけど今は違ったらスマン。
>>638 情報ありがとうございます
教えてもらったリンク先見ますと、1.9は1.8に比べて相当進化しているみたいですね
自分はRubyの文法は知っているつもりでしたが、あらためて色々と調べてみると、知識が不足していることがわかりました
とりあえず、1.9系で再度文法から勉強します
書籍は高いので、ネットで1.9系Ruby入門探して勉強してみます
デュフフフ
>>636 動きました。無限ループは不可ということもわかって、色々と助かりました、ありがとうございました
ちょっと前の話だけど、DXRubyの中の人が「Ruby1.9.2になってサンプルSTGが動かなくなってる」 ってtwitterで言ってたけど、そのSTGってるびま向けサンプルゲームの事なのかな? 自分の環境は1.9.2p290+DXRuby1.2.0のはずなんだけど普通に動く・・・
スレ自体をブックマークしてたら鯖移転でいつの間にか置いて行かれていたでござる
643 :
名前は開発中のものです。 :2012/03/18(日) 02:22:35.62 ID:BwnWOEYc
わざわざrubyなんかでゲーム作ってる人ってやっぱり信仰心的なものからなの?
わざわざこんなスレまで出張して必死なのはやっぱりアンチを拗らせて発狂しちゃったの?
64bitでも32bit版のルビーでやれば普通にゲーム用ライブラリを使えるね 何かいいゲームの案ないかな
DXRubyはtwitterで開発者の方含めちらほら見かけるね
C++でサーバーを作って、ネットゲームを作ろうと思う とりあえず簡単に通信はできた みんなはどんなの作ってるの
2DのふつーのRPG
649 :
uy :2012/06/15(金) 20:06:12.12 ID:ZFWks+yb
test
miyakoがさりげなく開発停止になってて悲しい
SDLの方と合わせて色々できたのになぁ
AndroidでRuby/SDLとStarRubyのゲームを動かすアプリを作成中。 といってもSDL+OpenGL+Rubyなわけだけど。近々公開できると思う。 今のところ、Ruby/SDLとStarRubyとMyGameのサンプルはだいたい動いてる。
653 :
652 :2012/08/09(木) 21:47:49.82 ID:AQGAARLC
OpenGL対応とか他の作業に時間がかかりそうなので
とりあえず2Dのみですがあげておきます。
(たぶん)Android 2.2以上でRuby/SDL,Star Ruby,MyGameのゲームが動きます。
SDLRuby Loader for Android
ttp://sdrv.ms/MlCmFF (sdlruby_loaderフォルダの中)
動かないゲームがあったら教えてくれると対応するかも。
Miyakoいれるの忘れてた...orz
え、動作確認してないけど、実際に動くのならこれすごくないか JXDとかOUYAとか、Androidゲーム機でもRubyとSDLでゲーム開発できるってことだよね ちょっと手元のXperiaで動かしてみる ちょうどOpenPandoraに興味持ってて調べはじめてたところだったのに、なんてタイムリーな……
初歩的な質問失礼します。 require "sdl" を実行すると、 コンピュータにmsvcrt-ruby18.dllがないため、プログラムを開始できません。 この問題を解決するには、プログラムを再インストールしてみてください。 とシステムエラーが出ます。SDLは1.9.7環境では利用できないのでしょうか?
>>655 お使いのRuby/SDLはRuby 1.8用のものだと思います。
Ruby 1.9用のRuby/SDLをご用意するから、Rubyを1.8系のものにしてください。
わーい!RDE?とかいうのをダウンロードしたよー! これとSDLでゲーム作り放題だー! ……はぁ
658 :
名前は開発中のものです。 :2012/08/30(木) 01:35:59.08 ID:8ArUl0+9
ruby2.0がかなりすごいらしい
659 :
名前は開発中のものです。 :2012/08/30(木) 21:20:06.91 ID:CedZ241E
どこ情報よー
rubyで作ったゲームをサイト上でプレイできるようにするには どうすれば良いのでしょうか。
バッファからPNGを作って表示。 入力は適当に変換。
Ruby 2.0.0に対応しているかを整理したいね。
ほとんど討ち死にしそう
665 :
名前は開発中のものです。 :2013/08/31(土) NY:AN:NY.AN ID:j2SJF/rF
今日は暑い ビールがうまい 仕事は?
DXRubyでちょっと困ったんだが何がまずいか分からないんだ 教えてください。環境は Windows8 64bit Ruby Installer 2.0.0-p247 DXRuby 1.5.6 dev ruby2.0.0 # test.bmpは 400 x 3984 tile = Image.load_tiles("test.bmp", 25, 249) puts "#{tile[0].width}, #{tile[0].height}" で結果が > 15, 15 これは > 16, 16 であって欲しい。実際に使いたいサイズも 16x16
とりあえず >tile = Image.load_tiles("test.bmp", 25, 249) を >tile = Image.load_tiles("test.bmp", 25, 249, true) にすれば > 16, 16 になって回避できる。 trueをつけてないときに15,15になるのはバグってるっぽい。
668 :
666 :2013/10/10(木) 07:27:01.74 ID:3I9QYxnh
>667 答えてくれてありがとう ところで最後にtrueを付けると何で大丈夫なんでしょうか 理由が分かりそうなページがあればURLが欲しいです 引数を余分に渡すとか思いつかない…
669 :
667 :2013/10/10(木) 19:32:39.28 ID:5vXsKQx4
>666 最新のマニュアルに書いてなかった・・・ 1.3devの頃の暫定マニュアル(readme.txt)には書いてあって、抜粋すると >■5-5.Imageクラス > >Image.load_to_array(filename, x, y, share_switch=false) >Image.load_tiles(filename, x, y, share_switch=false) > > もともと1枚の画像を分割した際、1つのテクスチャを複数のImageが共有する仕様でした。 > これは描画が速くはなりますが、拡大描画した場合に横の色がにじんでしまったり、 >Shaderを使う場合にテクスチャ座標が0〜1でなくなってしまったりして不都合があります。 > share_switchをtrueにするとテクスチャが共有されます。falseにするとすべて別のテクスチャになります。 > 別名load_tilesを定義しました。 4つ目の引数はテクスチャを共有するかどうかのスイッチで、trueにすると以前の動きになる。 1.3dev以降、新しい動作がデフォルトになったけど、それがバグってるらしいということです。
670 :
666 :2013/10/11(金) 07:39:21.74 ID:GodlFawz
>667 なるほど、そういう仕様だったのですね もやもやがすっきりしました 説明ありがとうございました
671 :
名前は開発中のものです。 :2014/02/25(火) 13:27:13.08 ID:2GTv1n+x
Ruby1.9用のDXRubyを使用しています wavもしくはogg vorbisの「開始位置・終了位置を指定したループ再生」をしたいんですがそういうライブラリなり方法なりあれば教えてください wavでloopStartとloopEndを使ったところ、エラーが出てwavではループ位置指定できないと怒られたので
>>871 DxRuby公式のファイル置き場をチェック
うちの環境だとVoxでseek(ミリセカンド)できたよ
>>673 ありがとう vox使ったらそれらしく出来ました
dxrubyで作ったゲームって商用配布できんの?(勿論パックしたexeで
>>675 zlib/libpngライセンスだから商用配布も可だよ。
678 :
名前は開発中のものです。 :2014/03/16(日) 22:52:29.09 ID:ezlB3afF
679 :
名前は開発中のものです。 :2014/05/14(水) 18:22:37.47 ID:jdywOxFf
DXrubyで戦争ゲームのようなもの(ヴァーレントゥーガっぽいやつ)を作っているのですが、 一部分だけを拡大表示する方法(局所的に細かく見る方法)が思い浮かばないので何か良いアイディアはないでしょうか?
画面の一部を拡大したいということなら、絵を直接画面に描かずにRenderTargetに描いて、それを拡大描画するのはどうだろう
dxruby で遊んでたんだけど、 Image#copy_rect で例外も投げずに死ぬことがあったのでここで報告しとく(既知?) 環境は win8.1 + ruby2.0.0(p353) [mingw-32] + dxruby1.4.1 # Enterキーを10回押すと死ぬサンプル # インデントは全角スペースにしてある require 'dxruby' white = [0xff,0xff,0xff]; red = [0xff,0,0] i1 = Image.new(200, 200, white) i2 = Image.new(100, 10, red) w = 100; dw = -10 Window.loop do # ↓これだと黙って落ちる i1.box_fill(0, 0, w, 10, white) # i1.box_fill(0, 0, 200, 200) # ↑これだと問題ない p (w += dw) if Input.key_push?(K_RETURN) i1.copy_rect(0, 0, i2, 0, 0, w, 10) Window.draw(0, 0, i1) # ← w == 0 で死ぬ; w < 0 なら平気 end
ローグライクの自動生成ダンジョンRPGが作りたいのです gemあったけど自分でがんばろうと思う