レースゲームのアクセルについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ガルディ

レースゲームのアクセルについて

#1

投稿記事 by ガルディ » 17年前

今レースゲームの制作をしていて、どうしていいのかわからなくなってしまったので、この掲示板を利用させてもらってます。

その質問の内容というのが
レースゲームじゃなくてもリアルのレースでもアクセルから足を離しても、何秒(?)何分(?)間くらいは走っていますよね?
それをプログラムでかかないとかなり不自然なレースゲームになってしまいます。
いろいろ思考錯誤をしたりして解決しようとしてるのですが、何故か最終的にパッド・キーボードから手を離すと止まってしまいます。
どういった演算処理(?)をすればいいのでしょうか。
是非教えてください

tk-xleader

Re:レースゲームのアクセルについて

#2

投稿記事 by tk-xleader » 17年前

止まるまでの時間は、速度の2乗と物体の質量に比例しますので…

単位を決定し、スピード×スピード×質量を計算して、単位経過と共に速度をどんどん減らしていきます。

というのはどうでしょうか?

やそ

Re:レースゲームのアクセルについて

#3

投稿記事 by やそ » 17年前

>何故か最終的にパッド・キーボードから手を離すと止まってしまいます。
そのように処理を書いているから・・・何だと思いますよ^^;

この辺の物理法則について分かりやすく解説されているのは・・・
教習所の教本やホームページでしょうね。
空走距離や制動距離を調べれば分かると思います。

後は自分の納得の行くように処理を書く!コレだけです。

がんばってください。

toyo

Re:レースゲームのアクセルについて

#4

投稿記事 by toyo » 17年前

単純に考えると

アクセルを踏んだら正の加速度に acce = 10;
離したら負の加速度に acce = -1;
ブレーキで負の加速度を追加 acce -= 10;
フレーム処理毎に速度を変化 velo += acce * tekitounakeisuu;

数字は適当なので実際に動かしながら調整

でもこういうのって実際に作ると思った挙動をしてくれないんですよね

tk-xleader

Re:レースゲームのアクセルについて

#5

投稿記事 by tk-xleader » 17年前

整数値の加速度で良いんなら、enum型を使うと、ミスが減ると思います。(enumが強ければもっといいんですが…)

やそ

Re:レースゲームのアクセルについて

#6

投稿記事 by やそ » 17年前

>でもこういうのって実際に作ると思った挙動をしてくれないんですよね
でも、そういう所を繰り返しプログラム&検証(デバッグ)するのもゲーム製作の楽しみ方(苦行?)のひとつだと思いますよ^^

完全に物理法則を当てはめる必要も無いので、それっぽい挙動だったり、「お、これいいじゃん」と思ったらそれでOK。
自分なりの作り方、演出などが出来れば一人前っすよ^^
それで分からなくなったらまたここで聞けばベテラン勢がヒントをくれる!
いい環境ですな^^

管理人

Re:レースゲームのアクセルについて

#7

投稿記事 by 管理人 » 17年前

物理演算をするようなプログラムなら完璧な物理の公式にあてはめないといけませんけど、
ゲームは案外そんな必要ないです。

・・というのも、アクションゲーム、例えばストリートファイター(ふるっ)とかのジャンプって完全に物理的におかしいですよね。
でもそれで楽しいゲームとして成り立つ。
ゲーム性がよくなったり、見栄えがしたりするのは、物理的に正確である事ではないんだと思います。

正確にとか言い出したらタイヤと路面との摩擦から空気抵抗を含めた流体力学の話にまで発展するので不可能だと思います。

リッジレーサーやグランツーみたいなゲームになるとそれなりのこだわりがあるのかもしれませんが、
自作ゲームの範囲でしたら、やってみておかしくない程度の計算式を試行錯誤で調整すればそれでいいんじゃないでしょうか?

ただボタンを離して止まってしまうのは、そのようにプログラムを書いたならしょうがないでしょう・・としかいいようがないです・・。

閉鎖

“C言語何でも質問掲示板” へ戻る