1 名前:名前は開発中のものです。 mailto:sage [2009/04/23(木) 08:11:08 ID:iAS0afeL] 無料Windows用2Dゲーム作成ツール"Game Maker"について、色々と語り合うスレッドです。 ●本家(英語) ttp://www.gamemaker.nl/ ●GameMaker Japan - 非公式情報サイト(日本語) ttp://gamemaker.main.jp/(現在一時閉鎖中) 前スレ 【2D】ゲーム作成ツールGameMaker part3【マンセー】 ttp://pc11.2ch.net/test/read.cgi/gamedev/1210437707/
852 名前:名前は開発中のものです。 mailto:sage [2010/07/01(木) 21:52:39 ID:RG53nBFr] >>851 ありがとうございます
853 名前:名前は開発中のものです。 mailto:sage [2010/07/03(土) 12:24:32 ID:xej2WSqR] 未レジストのGM5で迷路みたいな複雑な道をAIに通らせる このようなアプローチは可能でしょうか
854 名前:名前は開発中のものです。 mailto:sage [2010/07/03(土) 17:57:32 ID:LChSDnyO] 広さにもよるけど可能
855 名前:853 mailto:sage [2010/07/03(土) 18:31:38 ID:xej2WSqR] >>854 mp_potential_stepとmp_potential_settingsを使うのでしょうか ルームの広さは大体600×600くらいです
856 名前:名前は開発中のものです。 mailto:sage [2010/07/03(土) 20:41:39 ID:LChSDnyO] 何をしたいかによるよ 例えばTower Defense系のように最短経路を辿らせたいとか トルネコみたいなローグ系な動きとか 迷路のほうはともかくAIに何をさせたいか分からないと説明に困るぞ
857 名前:名前は開発中のものです。 mailto:sage [2010/07/03(土) 21:34:57 ID:9sSVyJeo] 英語でぐぐれ
858 名前:名前は開発中のものです。 mailto:sage [2010/07/03(土) 21:35:54 ID:9sSVyJeo] 誤爆
859 名前:853 mailto:sage [2010/07/04(日) 09:41:34 ID:R47f51en] >>856 そうですね・・・ Tower Defenceみたいに最短経路を辿らせてみたいのですが 説明忘れてましたorz
860 名前:名前は開発中のものです。 mailto:sage [2010/07/04(日) 11:49:06 ID:fTuJE3/P] TDなら塗りつぶし法がいいと思う 迷路の形状が決まった時点で、出口から通路をスコアつきで塗りつぶしていけば 敵はそのスコアが小さくなるようにたどっていけば最短になる mp_potential_stepとmp_potential_settingsの組み合わせはTDには向いていない 根本的に最短を通るわけではないし かなりいい加減によけていくのでおそらく狭い通路みたいなところだとうまくないと思う 2Dの見下ろし型のゲームで単純な障害物をよけるような場面が適しているんじゃないかと
861 名前:853 mailto:sage [2010/07/04(日) 13:05:11 ID:R47f51en] >>860 塗りつぶし法ですか ちょっと調べてきます 有難うございました
862 名前:853 mailto:sage [2010/07/04(日) 14:11:38 ID:R47f51en] >>860 >迷路の形状が決まった時点で、出口から通路をスコアつきで塗りつぶしていけば 調べてもなかなかよくわかりませんでした サンプルとかあると幸いです
863 名前:名前は開発中のものです。 mailto:sage [2010/07/04(日) 14:58:54 ID:fTuJE3/P] ん〜例えば、Sをスタート、Gをゴールとして下の図を塗りつぶすと ずれているかも知れないけど右のようになるでしょう あとは数字が少なくなるように移動させるだけ □□□□ 3456 □■S □ → 2■65 □G ■□ 10■4 □□□□ 2123 GM5は古いしサンプル期待するのは難しいかもしれない 経路探索の名前はともかくアルゴリズムの本を見れば大抵のものには これ系のものは載っていると思う
864 名前:名前は開発中のものです。 mailto:sage [2010/07/04(日) 21:49:22 ID:R47f51en] >>863 ヒントを有難う これを参考に頑張ってみます
865 名前:名前は開発中のものです。 [2010/07/13(火) 18:47:11 ID:K3o0YDHH] 戦闘機のシューティングを作っているんですが… 自機スプライトの縦と横の長さが違い、回転するのでroomの中に常に収めるコードが うまく書けません。 正方形のスプライトなら if (x < sprite_width/2) x = sprite_width/2 とかで出来るんですが…(原点=中心) lengthdirとか使ってもうまくいきません いい方法ありませんか?
866 名前:名前は開発中のものです。 mailto:sage [2010/07/13(火) 19:14:30 ID:/NxeAPUS] >>865 仮にスプライトの縦の方が横より長いとして 自機が縦向きで画面の端にくっついているとしよう。 その状態で自機が回転して横向きになったら、ぐぐーっと端から離れないといけないの? 縦と横の最大値をとって、その分だけ固定で離した方が簡単だし自然じゃない? ちなみにスプライトの幅÷2をw、高さ÷2をhとおくと一番遠い端までの距離はこうなる。 a = degtorad(image_angle); b = arctan(h/w); x = sqrt(sqr(w) + sqr(h)) * max(abs(cos(a + b)), abs(cos(a - b)));
867 名前:名前は開発中のものです。 mailto:sage [2010/07/13(火) 19:22:14 ID:/NxeAPUS] 補足すると sqrt(sqr(w) + sqr(h)) が対角線の長さなので 固定で距離をとる場合はこの値にすればいい。 もし角度によって距離を変える場合、縦の距離は上の式のcosをsinに変えれば出る。
868 名前:名前は開発中のものです。 [2010/07/13(火) 21:37:38 ID:K3o0YDHH] 出来ました! ありがとうございました
869 名前:名前は開発中のものです。 mailto:sage [2010/07/17(土) 12:18:00 ID:gER7nrJ5] TDS系のゲームで高速移動する銃弾を作りたいのですが collision_line(x,y,x+hspeed,y+vspeed,壁オブジェクト,1,0) だとSpeedが10や13ぐらいなら壁をすり抜けずにすむのですが、Speedを60とかにすると うまいこと行きません。 何かいい方法はないでしょうか? Gamemakerのバージョンは6、未レジストです
870 名前:名前は開発中のものです。 mailto:sage [2010/07/17(土) 20:48:18 ID:7i0jj3Bm] collision_lineをどう使ってて、何がうまくいかないのかわからないと何とも よくある間違いはcollision_lineの結果をtrueやfalseと比較することだけど そこは大丈夫か?
871 名前:名前は開発中のものです。 mailto:sage [2010/07/18(日) 14:00:31 ID:4F6YppA5] >>870 大丈夫 だと思います どうやら俺の作り方がまずかったみたい。 Step Event: execute code: if(collision_line(x,y,x+hspeed,y+vspeed,kabe,1,0)){sound_play(chakudan);instance_destroy();} と設定すると着弾処理自体はしっかりと行ってくれるみたいです ですが、弾道のトレースを行うと壁を貫通しているんです うp:www1.axfc.net/uploader/Sc/so/135056 形式は.gm6です
872 名前:名前は開発中のものです。 mailto:sage [2010/07/18(日) 14:07:27 ID:XkeNVelG] そりゃそうよ xとyが更新されるのはStepイベントの後、Collisionなどが実行される手前 (ヘルプでEventのところを見ると詳しく書いてある) ・Stepイベントでcollision_lineでチェック→この時点ではまだ貫通してない ・その後、xとyにhspeedとvspeedが足される ・Drawイベントでx,yから直線を描画 1ステップ未来の弾道を見てるから、貫通してるように見えるだけ。
873 名前:名前は開発中のものです。 mailto:sage [2010/07/18(日) 15:14:06 ID:4F6YppA5] >>872 なるほど いろいろと調べながら頑張ります。 ありがとうございます
874 名前:名前は開発中のものです。 mailto:sage [2010/07/18(日) 17:51:47 ID:XkeNVelG] 言い忘れてたけど、draw_line(xprevious, yprevious, x, y) にすれば見た目どおりになる。 End stepイベントでcollision_line(xprevious, yprevious, x, y, ..) でチェックしてもいいけど (その場合Stepイベントでは駄目) 弾速が速い場合、今度は弾が壁の手前で消えるように見えるという問題が出るはず。 それが気になるようだったら、move_contact_solidを使って着弾点まで移動させればいい。
875 名前:名前は開発中のものです。 mailto:sage [2010/07/19(月) 13:12:37 ID:bqKfWWqP] GM7未レジスト版だけどこれも参考になるかも? ttp://gmc.yoyogames.com/index.php?showtopic=320670
876 名前:名前は開発中のものです。 mailto:sage [2010/07/19(月) 17:01:55 ID:PLPwIk6X] collision_line の返り値みてあれって思ったけど 6だとtrue/falseが返ってくるのか。wikiにもそんなことが書いてあったし 7以降だとちゃんとidが返ってくるのにね true/falseの返り値だとかなり使いにくいと思う
877 名前:名前は開発中のものです。 mailto:sage [2010/07/19(月) 17:23:01 ID:WcNhtTfY] いや、6でもインスタンスIDか-4(noone)を返すよ。 > All these functions return either the id of one of the instances that collide, > or they return a negative value when there is no collision. ここの説明は5から8までずっと変わっていない。 ただ、全体読まずに関数の説明だけ見てtrue/falseだと早とちりする人は多い。
878 名前:名前は開発中のものです。 mailto:sage [2010/07/19(月) 17:35:40 ID:WcNhtTfY] ちなみにGMでは、0より大きい値は真、0かそれ以下の値は偽と解釈される。 if (A) は if (A > 0)、 if (!A) は if (A <= 0) と同じ意味。 >871のif文が期待どおり動くのはそういう理由。 これを if (collision_line(...) == true) と直接true/falseと比較してしまうと動かなくなる。
879 名前:名前は開発中のものです。 mailto:sage [2010/07/19(月) 17:35:54 ID:PLPwIk6X] なら単純に ttp://gamemaker.wikicomplete.info/gml:collision-line ここの説明が間違ってるのか
880 名前:名前は開発中のものです。 mailto:sage [2010/07/19(月) 19:06:25 ID:WcNhtTfY] うn collision_pointの方の説明は合ってるのにね 他にも「bbox_*はProでしか使えない」とかところどころ間違ってる
881 名前:873 mailto:sage [2010/07/25(日) 20:00:59 ID:1/i3AWzX] >>874-878 おおお! 俺がPC使っていない間に… みんなありがとう! >874 move_contact_solidか・・・使ってみたらめり込みが改善されました。 >875 サンプル有難うございます! これを参考に頑張ります。 >878 そんな仕様があったなんて知らなかった・・・
882 名前:名前は開発中のものです。 mailto:sage [2010/08/03(火) 20:30:08 ID:cKSw/IY1] GM5.3Aで半加算処理って出来ないものなんでしょうか・・・
883 名前:名前は開発中のものです。 [2010/08/17(火) 09:24:30 ID:OKMjBkLc] 早く多言語対応してくれー
884 名前:名前は開発中のものです。 mailto:sage [2010/08/17(火) 13:43:12 ID:4/akdMWt] >>
885 名前:名前は開発中のものです。 mailto:sage [2010/08/17(火) 13:46:28 ID:4/akdMWt] 途中で送ってしまったorz >>883 禿同。
886 名前:名前は開発中のものです。 [2010/08/30(月) 12:44:47 ID:4I8KA9ny] 透過PNG使いてぇけど、GM8だと日本語がまったく使えなくなるからなぁ
887 名前:名前は開発中のものです。 mailto:sage [2010/09/02(木) 07:47:32 ID:GMFPofTi] GMで商用ソフトウェアを作っていたんだが、一つだけどうしても潰れないバグがある… 有償でGM(7pro)に本当に詳しい人を募集したら、集まるものだろうか? 自分はプログラムは素人だけど、GMLを2年くらい触ってる。
888 名前:名前は開発中のものです。 mailto:sage [2010/09/02(木) 19:43:56 ID:DnjUZssB] 商用ってどんなの? 同人ゲームとか?あえてソフトウェアと呼ぶという事はツールとかかな?
889 名前:名前は開発中のものです。 mailto:sage [2010/09/02(木) 21:17:32 ID:0WLIvYuZ] 幻想少女大戦?
890 名前:名前は開発中のものです。 mailto:sage [2010/09/03(金) 10:10:05 ID:MNeR9scq] >>888 そう、同人ゲーム。 興味がある人がいれば連絡用のメアドを晒そうと思うので、 詳しいことはそちらで改めて。 >>889 べ、別にメモリリークとか言ってないんだからね!
891 名前:名前は開発中のものです。 mailto:sage [2010/09/07(火) 21:58:20 ID:4Oy4y2r6] >>890 興味ありますなあ、教えてもらう側として
892 名前:名前は開発中のものです。 mailto:sage [2010/09/19(日) 22:23:46 ID:rmqa1/V5] 日本語対応まだー