[過去ログ] Ruby でなんかゲームつくる (121レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1
(57): 2008/03/10(月)18:25 ID:aUiEtfD9(1/5) AAS
Ruby でなんかゲームをつくろうと思います。
開発環境は Windows XP、Ruby 1.8.6 (MyGame) です。
ゲームの制作は基本的に一人でやるつもりです。
また、1 はあまりゲームを作った経験がありません。
今までに作ったことがあるのは
ブロック崩しとかテトリスとかライフゲームくらいです。
なので面白いものができる保証はありません。
省1
2: 1 2008/03/10(月)18:29 ID:aUiEtfD9(2/5) AAS
さて、スレを立ててはみたけど何を作るかは全然決まってないという…。
まずはまとめサイトの形を整えようっと。
4: 1 2008/03/10(月)20:03 ID:aUiEtfD9(3/5) AAS
おわ。
>>3 はそっちに移動しなさいってことか。
たしかにゲーム制作の報告なら向こうのスレでやる方がよさそう。

Ruby でゲーム作ってる人ってあんまりいないみたいだから
こういうスレがあってもいいかなと思って立てたんだけど
それなら Ruby でのゲーム開発について話すとか
そういうことを目的にしないとダメですよね。
5: 1 2008/03/10(月)20:51 ID:aUiEtfD9(4/5) AAS
とりあえずスレをつぶすかどうかはまだ様子見でゲーム作りはじめた。
リアルタイムストラテジーが目標。
目標が高すぎるような気がするので色々けずった方がよさそうだ…。
キャラクター1人がクリックした箇所まで移動するっていう一番基本的なとことはできた。
MyGame のアニメーションの使い方も理解できた。たぶん。

次なんだろ…。落ちてるアイテムを拾えるようにしてみようかな。
6: 1 2008/03/10(月)23:27 ID:aUiEtfD9(5/5) AAS
落ちてるアイテム拾えるようになった。
8: 1 2008/03/11(火)01:12 ID:/2t3XFNt(1) AAS
配布は exe 形式で、と思っていましたが
Ruby/SDL が動作する環境であれば UNIX などでも問題なく動くと思います。
サイロスさんのっていうのは Miyako のことですよね。きっと。
MyGame は Miyako よりずっとシンプルだと思います。
といってもおれもまだ使いはじめたばかりなのでこれは率直な感想です。
とりあえずできるところまで MyGame でやってみようと考えています。

そういえば MyGame の名前が出てるのにリンクがないのに気付いたので貼っておこう。
省1
9: 1 2008/03/11(火)22:12 ID:rEIlR0C+(1/3) AAS
操作は基本的にマウスでする。
キーボード操作もそのうち追加するかもしれない。

複数のキャラを範囲選択できるようにした。
左ボタンを押してドラッグすると範囲選択できる。
そんで選択したキャラには吹き出しのアイコンが出るようにした。
11: 1 2008/03/11(火)22:37 ID:rEIlR0C+(2/3) AAS
そっか。
制作過程のリンクを貼っておけばいいんだ。
ということで今日から貼っていこうと思います。
あんまりここ見てる人いないと思うけど
>>7>>10 のような方もいるみたいだしそれを励みに地道に続けていきます。

今日が2日目
外部リンク[html]:www7.atwiki.jp
13: 1 2008/03/11(火)22:58 ID:rEIlR0C+(3/3) AAS
>>12
はい。ありがとうございます。

リアルタイムストラテジーだと漠然としてたので
ロードモナークを目標にすることにしました。

ロードモナークオンライン
外部リンク[html]:www.falcom.co.jp

研究がてらちょっと久しぶりに遊んでみようかな。
省3
15: 1 2008/03/12(水)00:31 ID:AGqK01tD(1) AAS
おっ、おお!
そうか tk ですか。
ちょっと見てみますね。
ありがとうございます。

実はマップエディタも MyGame(Ruyb/SDL) で作ろうとしてました。
っていうか作りはじめてました。ほんの少しですが。
当たり前のことかもしれないですが、MyGame はそういう用途には全然向いてませんでした。
16: 1 2008/03/12(水)14:57 ID:8yMzBc95(1/8) AAS
教えてもらった Tk のページ見てみました。
ソースもちょっとだけ読んだ。
あとそのままじゃ動かなかったから ActiveTcl 入れた。

参考ページ
外部リンク[html]:www4.ocn.ne.jp

tk84.dll が必要らしいので、ActiveTcl は 8.4.* の中で一番新しい 8.4.18 を入れた。
でもマップエディタのサンプルがうまく動かない。
省3
17: 1 2008/03/12(水)15:00 ID:8yMzBc95(2/8) AAS
>>14
ってことなのでせっかく紹介してもらったのに申し訳ないっす!
19: 1 2008/03/12(水)16:07 ID:8yMzBc95(3/8) AAS
マップエディタの仕様を大ざっぱに決めた。

左クリックでチップを選択したり置いたりする。
右クリックは基本はスポイト。
でもキーボードから機能切りかえができるようにするかも。
例えば D を押したら消しゴムになるとか。

実装はチップを選択するところまでできた。
外部リンク:www7.atwiki.jp
20: 1 2008/03/12(水)20:04 ID:8yMzBc95(4/8) AAS
マップにチップを置けるようになった。
でも重い!
原因として思い当たるところがあるので何とかしたい。
23: 1 2008/03/12(水)21:58 ID:8yMzBc95(5/8) AAS
お。住人が増えてる?
こんばんは >>21 >>22

今 MyGame のソース読んでますがほんとに機能はしぼられてますよね。
MyGame では画像の一部を切り出すメソッドが用意されてないので
MyGame の Image クラスを少し拡張しようかと思ってます。
マップエディタを作るのに画像の切り出しをアニメーション機能で代用させたら
メモリをすごい喰ってしまうようになって困りました(´・ω・`)
省2
24: 1 2008/03/12(水)22:29 ID:8yMzBc95(6/8) AAS
とりあえずすごいアドホックな拡張ができた。
おかしなところが出てこなければいいのだけど…。
25: 1 2008/03/12(水)22:45 ID:8yMzBc95(7/8) AAS
キャッシュにも対応させた。
たぶんこれでいける。

module MyGame
class PartialImage < Image
def initialize(filename, x, y, w, h, *options)
super(filename, *options)
key = "filename-#{x}-#{y}-#{w}-#{h}"
省9
26: 1 2008/03/12(水)22:48 ID:8yMzBc95(8/8) AAS
うわダメだ!
key がおかしい。
filename は #{filename} の間違いだ。
27: 1 2008/03/13(木)17:43 ID:pil7M4Ux(1/5) AAS
やっぱりキャッシュちゃんと取れてなかった。
何回ミスってるんだ…。
今度こそ。

module MyGame
class PartialImage < Image
def initialize(filename, x, y, w, h, *options)
super(filename, *options)
省12
28: 1 2008/03/13(木)18:03 ID:pil7M4Ux(2/5) AAS
拡張はうまく機能しているみたい。
アニメーションで代用していたところを
PartialImage を使って書き直したらメモリ使用量が半分以下になった。
それでも 20MB。多い…?
あとチップを置いてるときに CPU 使用率が 90% くらいいく。
たくさんのチップイメージを render してるせいなのかも。

今度は画像の一部分を書きかえる拡張がいりそうだ。
31: 1 2008/03/13(木)22:39 ID:pil7M4Ux(3/5) AAS
>>29 >>30
ん?
何を言ってるのかよく分かりません。

マップエディタを作ってたら細かいデザインなどが気になりだした。
後回しでいいようなものなのに…。
優先度を考えながらやるようにしなきゃ。
34: 1 2008/03/13(木)23:39 ID:pil7M4Ux(4/5) AAS
>>33
そうなんですか。
消えないようにがんばりたいです。

4日目
外部リンク[html]:www7.atwiki.jp
スクリーンショット
外部リンク:www7.atwiki.jp
35: 1 2008/03/13(木)23:57 ID:pil7M4Ux(5/5) AAS
CPU 使用率を 20% あたりにまで落とせた
マップのナンバーの表示をプリミティブな描画とフォントの描画で
毎フレーム更新してたのが問題だったみたい。
今は自前で用意した画像になってる。
36: 1 2008/03/14(金)21:17 ID:VGyM9tn7(1/4) AAS
マップをロードしたときの描画がうまくいかないよー。
更新が反映されてない。
なにがいけないんだろ。
37: 1 2008/03/14(金)22:35 ID:VGyM9tn7(2/4) AAS
やっとなんでうまくいかないのか分かった。
MyGame::Image#load は新しいサーフェスを作るときに
自動的にキャッシュを取っていて
以降同じファイルを load する場合は前回作ったキャッシュを参照する。
そう、キャッシュなんだ…。
39: 1 2008/03/14(金)23:23 ID:VGyM9tn7(3/4) AAS
やっと必要最低限の機能をもったマップエディタができました。
セーブがおかしいなぁと思ったら単純な計算ミスだった… orz

>>38
Windows XP SP2
Celeron M 360, 1400MHz
メモリ 512MB
VRAM 64MB
41: 1 2008/03/14(金)23:38 ID:VGyM9tn7(4/4) AAS
>>40
そんな恥ずかしいこといえません!

5日目
外部リンク[html]:www7.atwiki.jp
スクリーンショット
外部リンク:www7.atwiki.jp
43: 1 2008/03/15(土)18:45 ID:tdr+3viM(1/9) AAS
>>42
どうもありがとう!
44: 1 2008/03/15(土)18:58 ID:tdr+3viM(2/9) AAS
スポイトの修正をしたり、消しゴム機能を実装してる間に
マップエディタの操作方法は
マウスとキーボードの両方でやりたいと思うようになった。

左手はフォームポジションで右手はマウス。
マウスの左クリックは "チップを置く" で固定で
右クリックの機能をキーボード入力で切りかえる。

右クリックに割りあてる機能は多くても 4 つまでにしたい。
省11
45: 1 2008/03/15(土)18:59 ID:tdr+3viM(3/9) AAS
あ、書き忘れてた。
マウスの真ん中クリックはペースト専用にしようかと思ってる。
46: 1 2008/03/15(土)20:27 ID:tdr+3viM(4/9) AAS
構想第一案は実装してみたら微妙だった。

モード切りかえが微妙。
スポイトだと思って右クリックしたら消しゴムだったとかの誤爆が多い。
一応視覚的に確認できるようなインターフェースにしたけどそれでも微妙だった。

こうなったら特定のキーを入力している間だけモードが切りかわるようにしようと思う。
あと、消しゴムとかは、右より左の方が使いやすかったので
モードが切りかわるのは左にしようと思う。
省1
49: 1 2008/03/15(土)22:35 ID:tdr+3viM(5/9) AAS
>>47
おれの環境では動きました。
ちゃんとテトリスでした!

でも同封されてる dll が足りないです。
>>48 さんがエラーになっちゃったのはそのためでしょう。

Ruby/SDL の dll を全て同封すれば動くようになると思います。
MyGame の本体から dll ディレクトリを丸ごともってきちゃうのがお勧めです。
省2
50: 1 2008/03/15(土)22:38 ID:tdr+3viM(6/9) AAS
ちなみに、dll は全部で 15 個です。
全部あわせて 4MB くらいあります。
必要ないのは削れるかもしれないですが
全部入れてしまうのが無難だと思います。
51: 1 2008/03/15(土)22:59 ID:tdr+3viM(7/9) AAS
キーを入力しているときにマウスの左ボタンのモードが変わるようにした。
塗りつぶしモードも実装した。
53
(1): 1 2008/03/15(土)23:06 ID:tdr+3viM(8/9) AAS
>>52
ですよね。
圧縮してもけっこうでっかい…。
dll と fonts は変わることないと思うので
それだけパス通しておいてもらえたらお互い楽かもですね。
55: 1 2008/03/15(土)23:26 ID:tdr+3viM(9/9) AAS
>>54
そうだと信じたい!

6日目
外部リンク[html]:www7.atwiki.jp
スクショ
外部リンク:www7.atwiki.jp

なんかコピー機能は別になくてもいいような気がしてきた。
省4
60: 1 2008/03/18(火)13:32 ID:97NwfFBD(1/3) AAS
>>56->>59
おー。紹介ありがとうございます!
Star Ruby は試してみたことがあります。
ほんのちょっと触っただけですが。
テトリスのソースがあるのも知ってました。
MyGame での開発が行き詰まったら使ってみようかなぁ。

とかいって更新が2日空いてるわな…。
省3
61: 1 2008/03/18(火)22:47 ID:97NwfFBD(2/3) AAS
マップエディターはひとまず完成ということで
ソースと exe を同封した zip ファイルをアップしました。
外部リンク[html]:www.dotup.org

興味のある方は試しに動かしてみて下さい。
もし動かなかったらごめんなさい(´・ω・`)
その場合はコメントで教えて頂けると助かります。
62: 1 2008/03/18(火)22:48 ID:97NwfFBD(3/3) AAS
あ、あ、パスワードは mygame です!
64: 1 2008/03/19(水)21:44 ID:+SG0OgVj(1) AAS
>>63
確認して頂いてどうもありがとうございます。
dll ファイルはディレクトリの中に入れていたはダメなようですね。
勘違いしていました。

exe と同じパスに移動させてアップロードし直しました。
外部リンク[html]:www.dotup.org
70
(1): 1 2008/04/03(木)21:17 ID:RtS02P+R(1) AAS
>>67
>>68
>>69
すみません。います。
でも開発は全然進んでいません。
他のことばかりしていました。(´・ω・`)

TDD(BDD) のことが気になって
省3
72: 1 2008/04/04(金)22:47 ID:+qX13weU(1) AAS
>>70
はい。分かりました。
73: 1 2008/04/08(火)17:28 ID:u8Tm9ze0(1/2) AAS
今まで1つのファイルに全部書きこんでいたけど
今日確認してみたら1000行くらいになってたので
関連するクラスごとにファイルを分けることにした。
ついでにモジュールにもしてみた。すっきりした。
74: 1 2008/04/08(火)17:30 ID:u8Tm9ze0(2/2) AAS
いつのまにかお隣りさん的なスレが立ってますね。

【Ruby/SDL他】Rubyでゲーム制作・総合スレッド
2chスレ:gamedev
76: 1 2008/04/10(木)19:54 ID:3q1I2muF(1) AAS
>>75
それは面白いですね(・∀・)
77: 1 2008/04/14(月)22:11 ID:rYEMXViq(1) AAS
このまま過疎っていってしまうんだろうか。
何でもいいからレスしていくことにしよう。
最近 Starruby が気になってる。
78: 1 2008/04/15(火)22:49 ID:3tODdakK(1/2) AAS
大きな画像から小さな画像を切り出す処理は
MyGame よりも StarRuby の方が使い勝手がいい気がする。
79: 1 2008/04/15(火)23:10 ID:3tODdakK(2/2) AAS
StarRuby のサンプルコードを読みながら
StarRuby の中の人と戯れるなどした。
80: 1 2008/04/20(日)22:59 ID:+4RSE+dQ(1) AAS
StarRuby の falling_blocks ってサンプルは
MVC でできてていいなと思った。見習いたい。
82: 1 2008/04/22(火)19:14 ID:9rhZO4ty(1) AAS
>>81
StarRuby がいいかもしんない。
84: 1 2008/04/30(水)21:31 ID:2q9bP0Tg(1) AAS
>>83
はい。落ち込むこともあるけど、元気です。
87: 1 2008/05/15(木)21:16 ID:0HKsR/Rh(1) AAS
チップセットの各チップが歩行可能か否かを設定するための
簡単なツールを作った。
MyGame じゃなくて StarRuby で。
88: 1 2008/05/25(日)16:47 ID:qC3ViASp(1) AAS
ダンジョンの中をうろうろ動き回る AI を作った。
歩行可能なタイルをランダムに1つを選んで
そこまでの最短経路を A* で探索して移動する。
AI はこの探索、移動のサイクルを延々と繰り返す。
AI たちがわらわら動き回る様は見ていて面白い。

でも1つ問題がある。
A* 探索を開始してから答えを得るまでには少し時間がかかるので
省6
91: 1 2008/05/25(日)21:46 ID:u/AqeOfy(1) AAS
>>89
>>90
ありがとうございます。
スレッドとコルーチンかぁ。調べてみよう。

ちなみに、件のプログラムは MVC で組んでいて
AI の次の移動先を Model で計算しておいて
View が Model の計算結果を見てその位置に描画、っていう感じになっています。
省3
93: 1 2008/05/26(月)01:10 ID:YPl5ZkW3(1) AAS
>>92
ありがとうございます。
ワーカースレッドというものをはじめて知りました。
参考先をちょっと見てみましたがよさそうですね。
明日以降また見てみます。
94: 1 2008/05/26(月)19:03 ID:HmVOAoHn(1) AAS
下記を参考にしてワークパイルを実装してみた。
ワークパイルはワーカースレッドみたいなものだろうと思っている。
イメージは掴めたし大体は意図した通りに動いている。

外部リンク:blog.s21g.com

でもまだ完全じゃない。
A* 探索の結果として得られるのは
ある地点 Start からある地点 Gall までの最短経路。
省9
95: 1 2008/05/27(火)21:19 ID:tgyjkVJl(1) AAS
バグ取れた。
ワークパイルは問題なかった。
問題は A* 探索がマルチスレッドに対応できてなかったことだった。
何はともあれ解決できてよかった!
97: 1 2008/05/28(水)21:44 ID:8HjKeYrg(1) AAS
>>96
うーむ…。
たしかにデバッグは大変そうですね。
探索を中断・再開かぁ。
とりあえずは今のままで開発を進めていって
「デバッグ大変だー」ってなったときに考えようと思います。
A* 探索は今のままであまり問題ないような気がするので。
省4
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.030s