ページ 11

レースゲームの作成について

Posted: 2013年7月30日(火) 00:56
by shiro4ao
なにかゲームを作ろうと思ったのですが
なんとなくレースゲームができたらいいなあとおもいました

そこでレースゲームの大まかな実装手順や知識を確認したいです
3dだとか運転席視点のゲームは大変そうなので
二次元で俯瞰でコース全体が見えており単純な図形の車が
キー入力に合わせて単純なコースを走るものを想定しています

1.マップを作る
 「数学的な意味での関数」の組み合わせで表現?
  RPGのマップのように0,1で判定?
2.車を作る
 三角形を基本に色で分ける
 キー入力に従うアクセルとブレーキ、ステアリングの実装
 他に慣性と遠心力、摩擦力、当たり判定を実装
 毎回描画するごとに車の座標から計算する
 車ごとの特性(エンジン、ブレーキ、グリップ、重量etc)
3.CPU用のAIを実装
 車道から超えないように位置と加速度を確認しつつランダムに操作する?
 リプレイ機能を用いてキー入力を遺伝子座として遺伝アルゴリズムを用いてAIを学習させる?
4.リプレイ機能や順位・速度・ラップタイムといったUIなど

などと考えています
ほかに実現する上で抜けている要素や注意すべき点はありますか?

Re: レースゲームの作成について

Posted: 2013年7月30日(火) 11:06
by softya(ソフト屋)
難しいことを先に考えずに、簡単な部分から実装していくと良いと思います。
あと、マップを作るの部分の意味がよく分かりません。

【補足】
AIに関しては難しいのでオライリーなどの書籍を買われたほうが良いかもしれません。

Re: レースゲームの作成について

Posted: 2013年7月30日(火) 11:40
by shiro4ao
ご回答ありがとうございます
ご指導のとおりまずは簡単な部分から少しずつ実装していければいいなとおもいます

コースから飛び出てしまうと車が停まるようにしたいのですが
そのときどこからがコース内でどこからがコース外なのか区別する方法がいります

例えばコース内とコース外の境目を
(x-320)^2+(y-320)^2=320^2のような画面中心を中心とした半径320の円として決めて
この円から出てしまうとコース外にいると判定して車を止めます
メリットは単純な形状であれば判定や作成の手間が比較的少ない
デメリットはコースが複雑になると多数の式が必要なので手間がかかる

もう一つは640x640の二次元配列でマップのコース内を0、コース外を1として
車が0の場所なら普通に進んで、1なら車が停まるようにする方法
メリットはコースが複雑になっても同じ方法でコースが作れること
デメリットは毎回配列を埋めなければならないので単純な形状の場合は上の方法より手間がかかる

などです。はじめは簡単な図形がいいので、上の方法で作ろうかなと思います

AIはやはり難しいのですね・・・・
まずはプレーヤーの車がちゃんと動作するようにしたいとおもいます

Re: レースゲームの作成について

Posted: 2013年7月30日(火) 12:12
by softya(ソフト屋)
コースを図形で作るのは言うなれば平面ポリゴンです。
結局、モデラーでデータを作成して三角ポリゴンで処理したほうが楽そうです。

Re: レースゲームの作成について

Posted: 2013年7月30日(火) 12:12
by h2so5
shiro4ao さんが書きました: もう一つは640x640の二次元配列でマップのコース内を0、コース外を1として
車が0の場所なら普通に進んで、1なら車が停まるようにする方法
メリットはコースが複雑になっても同じ方法でコースが作れること
デメリットは毎回配列を埋めなければならないので単純な形状の場合は上の方法より手間がかかる
適当なペイントソフトでコースの絵を描いて読み込んでしまえば手間はかからないです。

Re: レースゲームの作成について

Posted: 2013年7月30日(火) 12:23
by softya(ソフト屋)
h2so5 さんが書きました:
shiro4ao さんが書きました: もう一つは640x640の二次元配列でマップのコース内を0、コース外を1として
車が0の場所なら普通に進んで、1なら車が停まるようにする方法
メリットはコースが複雑になっても同じ方法でコースが作れること
デメリットは毎回配列を埋めなければならないので単純な形状の場合は上の方法より手間がかかる
適当なペイントソフトでコースの絵を描いて読み込んでしまえば手間はかからないです。
h2so5 さんのに補足しておくと、ペイント画像から当たり判定データを読み込み時に作成するって事ができます。
重かったら別ツールにするという手もありますので工夫は色々出来ます。
ここで色々考えるのが勉強になるので色々チャレンジしてみて下さい。

Re: レースゲームの作成について

Posted: 2013年7月30日(火) 17:04
by shiro4ao
なるほど~ペイントをつかうアイデアはおもいつきませんでした
今方法なら手軽さと判定のやりやすさが両立出来ますね

いまはちょっと時間がないのでゲーム作成がスタートできないですが
もうすこしして少しずつ作っていこうと思います

ありがとうございます