触手の動きのアルゴリズム教えてください (326レス)
触手の動きのアルゴリズム教えてください http://mevius.5ch.net/test/read.cgi/gamedev/1021401881/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
50: 名前は開発中のものです。 [sage] 02/05/19 20:02 ID:??? こういうレトロゲームを無駄に3D化系って意外とインパクトあるな。 前にこの板のどっかで見たブロック崩しもだけど。 http://mevius.5ch.net/test/read.cgi/gamedev/1021401881/50
51: 名前は開発中のものです。 [sage] 02/05/19 20:19 ID:??? たけしの挑戦状3D よろしく! http://mevius.5ch.net/test/read.cgi/gamedev/1021401881/51
52: 名前は開発中のものです。 [sage] 02/05/20 01:11 ID:??? とりあえず 触手系…親から子へ移動値を継承 蛇系…親から子へ座標値を継承 てok? http://mevius.5ch.net/test/read.cgi/gamedev/1021401881/52
53: 15 [sage] 02/05/20 01:31 ID:??? みんなひどいこと言うな…。VB房をいじめないで下さい。 >>17 循環バッファ?わかんない。 ただ自分で考えたときは15に書いたような違いになったの。 >>18 >>>15にはぜひ自分で考えた触手の動きを発表してもらいたいものだ。 作ったこと無い。 >いやオプやレーザーでも可。きっと微笑ましいものに違いない。 レベルの高いあなた達から見たら微笑ましいよ。 レーザーなんかLINE命令だもん。 作った頃はWindowsAPIも知らなかったから、 イメージとタイマー使ってカクカク動かしてた。 >>21 大学で習ったんだよ。なぜVBかっていうと、 多分Cとかは学生には理解できないと思われてたんだろう。 実際、その大学で一番プログラムが出来たのが、 このスレでヘタレ扱いされてる俺だし。 課題でゲーム作っただけで「すげぇ!」とか言われるレベルだった。 http://mevius.5ch.net/test/read.cgi/gamedev/1021401881/53
54: 15 [sage] 02/05/20 02:40 ID:??? 53の訂正 × 学生には理解できない ○ うちの大学の学生には理解できない 情報処理系の大学でない上に、学生のやる気もあまりないんで。 http://mevius.5ch.net/test/read.cgi/gamedev/1021401881/54
55: 名前は開発中のものです。 [sage] 02/05/20 12:20 ID:??? >>53 >循環バッファ バッファに値をぽこぽこ追加していくと、いつかバッファの容量が足りなくなるけど、 そのときに頭に戻って重ね書きしてしまう構造のバッファのことを 循環しているから「循環バッファ」と呼んでるんだと思うよ。 こうすればいくらでもデータが追加できる。 ただし、あんまり古いデータは重ね書きされて消えてしまっている。 http://mevius.5ch.net/test/read.cgi/gamedev/1021401881/55
56: 名前は開発中のものです。 [sage] 02/05/20 16:26 ID:??? >>54 大学なんてそんなもん。 情報処理系でもプログラム書ける人間が1割いればいいほうなんじゃん? http://mevius.5ch.net/test/read.cgi/gamedev/1021401881/56
57: 15 [sage] 02/05/20 23:27 ID:??? オプションのソースが見つかった。 今見ると自分でも何だかわかんない。 >>55 循環バッファってこういうやつかな? If u = 0 Then e(3) = d(2) d(2) = c(1) c(1) = b(0) b(0) = a(5) u = u + 1 適当な変数名…。 http://mevius.5ch.net/test/read.cgi/gamedev/1021401881/57
58: 55 [sage] 02/05/21 00:09 ID:??? >>57 == 15 機能としてはそれで良いはず。 ただ >>18 が循環バッファといったのはこれとは違う実装のことだと思います。 あなたがやったのは、バッファにデータを追加したときに、全バッファないのデータを 1つスライドさせていると思うのですが、 >>18 が言ったのは、多分、データを1つ追加するときに、記録する位置が1つずつ移動していく タイプのもののことだと思います。こうして移動していくと、記録位置が いつかバッファを飛び出してしまいますが、そうしたら、記録位置を先頭に戻してやります。 こうして永遠にぐるぐる周る(循環する)構造を指して循環バッファと呼んだのだと思います。 バッファこの構造にしておけば、バッファサイズを大きくしても重くならないので 長く記憶することができます。ただし、古いデータを参照するときにも 書きこみ位置(最新のデータの位置)が変化していることと、バッファの末端と先頭が 論理的に連続していることに注意しなければなりません。 ちなみに >>18 も「?」を付けていたように、この「循環バッファ」という呼び名が 正しいかどうかは分かりません。 申し訳ないですが、VBは解からないので、ソースは提示できません。 ですから、あなたの提示したソースも誤解している恐れがあります。 Cで良ければ、こちらとしては助かるのですが。 まぁ、組んでる人が使いやすい言語が一番なので がんばってみてください。 http://mevius.5ch.net/test/read.cgi/gamedev/1021401881/58
59: 名前は開発中のものです。 [sage] 02/05/21 00:38 ID:??? ふつーはリングバッファって呼ぶな http://mevius.5ch.net/test/read.cgi/gamedev/1021401881/59
60: 名前は開発中のものです。 [sage] 02/05/21 00:40 ID:??? おれはリングバッファって呼んでるけど? http://mevius.5ch.net/test/read.cgi/gamedev/1021401881/60
61: 15 [sage] 02/05/21 01:01 ID:??? >>58 詳しい解説ありがとうございます。 どこかで聞いたような話だと思って、最近買った 『プログラムはなぜ動くのか』矢沢久雄著 を読んでみたら… >>59 >>60 リングバッファのことでした。 http://mevius.5ch.net/test/read.cgi/gamedev/1021401881/61
62: 名前は開発中のものです。 [] 02/05/21 03:37 ID:XHSDIsJI int xytbl[100][2]; 毎ループ、データをずらすかポインタをインクリメントするかして 新しい座標をセットして、個々のパーツが参照するのは 4個か5個おきのデータ、、、ていうような処理でいいんでしょか。 無駄な領域を多く取りすぎるので、もっといい方法知ってる人 教えてくれ。 http://mevius.5ch.net/test/read.cgi/gamedev/1021401881/62
63: 名前は開発中のものです。 [sage] 02/05/21 04:24 ID:??? 日本語をしゃべれ http://mevius.5ch.net/test/read.cgi/gamedev/1021401881/63
64: 名前は開発中のものです。 [sage] 02/05/21 08:50 ID:??? まずそれで上手くいくかどうかやってみれ! http://mevius.5ch.net/test/read.cgi/gamedev/1021401881/64
65: 名前は開発中のものです。 [] 02/05/21 12:10 ID:nBRpKvSA 触手の話から「オプションから勉強し直そう」スレになっとるがな。 http://mevius.5ch.net/test/read.cgi/gamedev/1021401881/65
66: 名前は開発中のものです。 [sage] 02/05/21 13:17 ID:??? オプションがバッファにして持ってる座標値を、 それぞれ角度に変えたら、触手になるかな? http://mevius.5ch.net/test/read.cgi/gamedev/1021401881/66
67: 名前は開発中のものです。 [sage] 02/05/21 15:44 ID:??? >>62 俺もそんなようなのしか思いつかないけど グラディウスの場合、自機がスピードアップ(ダウン)すると オプションの間隔が広がる(狭まる)でしょ? その時にスピードアップ前に5個おきに参照していたのがスピードアップ後は 6個おきに参照とかなるじゃないですか。すると自機から遠いオプションは スピードチェンジ時よりも古い座標を参照する事になってしまうんですな。 ここでそうならないような補正をかけてるんだと思うけどその処理の違いが グラ1、2とかサラマンダのオプションの動きの違いになってるんでしょうね。 http://mevius.5ch.net/test/read.cgi/gamedev/1021401881/67
68: 名前は開発中のものです。 [sage] 02/05/21 16:11 ID:??? 初代グラは単純なリングバッファとはかなり違う処理じゃないかな? スピードは一定で上下スクロールの無い場所でも オプションが自機の軌跡をきっちりたどっているわけではないみたいだから。 http://mevius.5ch.net/test/read.cgi/gamedev/1021401881/68
69: 名前は開発中のものです。 [sage] 02/05/21 16:51 ID:??? >>67 自機がスピードアップしたら 単位時間あたりの移動値もふえるわけだから 参照間隔そのままでも 移動値が増えればオプションの間隔は広がるよ。 http://mevius.5ch.net/test/read.cgi/gamedev/1021401881/69
70: 名前は開発中のものです。 [sage] 02/05/21 17:33 ID:??? そーいや,オプション4個目ってスピードによって反対方向へ行ったりするね… http://mevius.5ch.net/test/read.cgi/gamedev/1021401881/70
71: [sage] 02/05/21 23:32 ID:??? >>67 スピードアップした時に間隔が広がるのは、69が言うような理由のせいであって、 意図的にそうしたわけじゃないって開発者が言っていた。 >>70 開発者の話では、OPが自機を最短距離で追うようなプログラムになっているのが原因だそうだ。 つまり、自機が下のほうにあって、OPの4つ目が上のほうにあるような状況のとき、 画面の上と下は繋がっているから、OPの4つ目にとっては上に動いたほうが、最短距離で移動できる。 http://mevius.5ch.net/test/read.cgi/gamedev/1021401881/71
72: [sage] 02/05/22 02:02 ID:??? FC版ファンタジーゾーンのグラブンガーの腕 AC版サラマンダのゴーレムの触手 ACグラ2の2面の触手 SFC版グラ3植物面のボスの茎(って言うのか?あの部分は) これらはプログラムに共通している部分があるような気がする。 どれも動きがカクカクしているから。 何かパーツ毎に計算しているというより、 触手が通る曲線を計算しておいて、その上にパーツをのっけている感じ。 ↓仮にこれが曲線だとして ―――――――――――――― ↓その上にパーツを配置している。 ∋―○―○―○―○―○―○― 違います? http://mevius.5ch.net/test/read.cgi/gamedev/1021401881/72
73: 名前は開発中のものです。 [sage] 02/05/22 02:50 ID:??? dakara sono kyokusen no keisanhouhou wo oshietekure to iu sureddo da http://mevius.5ch.net/test/read.cgi/gamedev/1021401881/73
74: 名前は開発中のものです。 [sage] 02/05/22 03:32 ID:??? >>72 FANTASY ZONE 4面 ttp://isweb16.infoseek.co.jp/play/lur/fantasyzone/fantasy4.htm 新声社「GAMEST」 1990年分のグラIII 関連記事 ttp://www.geocities.jp/targest1989/gamest1990.htm レビュー第2回(グラディウスII) ttp://www.ne.jp/asahi/cc-sakura/akkun/bekkan/gura2.html レビュー第6回(グラディウス3) ttp://www.ne.jp/asahi/cc-sakura/akkun/bekkan/gura3.html レビュー第4回(フェリオス) ttp://www.ne.jp/asahi/cc-sakura/akkun/bekkan/ferios.html 水晶玉っぽいアイテム(ポム)を取得すると自機の後ろに連なっていく縦スクロールシューティングは何て言う名前だったか…。 http://mevius.5ch.net/test/read.cgi/gamedev/1021401881/74
75: 名前は開発中のものです。 [sage] 02/05/22 03:40 ID:??? >>74 ジェミニウィング? http://mevius.5ch.net/test/read.cgi/gamedev/1021401881/75
76: 名前は開発中のものです。 [sage] 02/05/22 03:44 ID:??? >>72 上のは画面写真があるWebね。 |これらはプログラムに共通している部分があるような気がする。 |どれも動きがカクカクしているから。 |何かパーツ毎に計算しているというより、 |触手が通る曲線を計算しておいて、その上にパーツをのっけている感じ。 いや、当時のハード(FC版)から考えて、そんな計算コストが掛かる方法はとっていないはず。当時はシューティングで小数点を扱ったリアルタイム演算は鬼門だったから、三角関数のテーブル作って256方向(64かも)の座標計算だと思われ。 >>73 触手をより触手らしく動かすアルゴリズムじゃなかったのか…。 曲線からの位置取得ならベジェ(スプラインでもよく)曲線描ければ簡単に取得できるけど…画面を2〜3往復とかする豪快な触手ならともかく、数個の関節でベジェ使うのは大げさでしょ。 http://mevius.5ch.net/test/read.cgi/gamedev/1021401881/76
77: 名前は開発中のものです。 [sage] 02/05/22 03:54 ID:??? >>75 (・∀・)ビンゴ!! 即答できるキミは絶対若くないハァハァ。 ttp://www1.kcn.ne.jp/~gx770/arcade/geminiinst.jpg ttp://www2s.biglobe.ne.jp/~pera/gamerv/review67.html 画面写真はミツカラズ。 http://mevius.5ch.net/test/read.cgi/gamedev/1021401881/77
78: サインとかコサインとか [sage] 02/05/22 04:13 ID:??? だめだこりゃ 三角関数って何だろうと思って調べてみたけど、ワケワカラン。 俺は触手を語れるレベルじゃなかった。 http://mevius.5ch.net/test/read.cgi/gamedev/1021401881/78
79: 名前は開発中のものです。 [a] 02/05/22 11:16 ID:??? >>78それ、やばすぎ。(´・ω・`)ショボー 最初はゲームで波とか円運動させる為のものぐらいに覚えとけば良いんじゃない? 使い方を理解してからサイン・コサインとはなんぞや?を学んでも遅くないぞ。 #あくまでもゲーム製作においては、だが。 http://mevius.5ch.net/test/read.cgi/gamedev/1021401881/79
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 247 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.008s