1人でゲームが作れるように修行します。2 (487レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
319: 2011/09/15(木)06:32 ID:I5TXtYrP(1/6) AAS
「4.選手をまず1人表示し、動かせるようにする」
選手の3Dモデルデータが必要となるが、とりあえず雪だるまか、こけしか、冷蔵庫で代用することにし、
ここで本質的に重要なのは操作方法の決定とパラメータ調整ではないかと思う。
しかも、単に選手の2次元移動とはいいつつも、実際にはカメラの方向によってプレイヤーが混乱しない
ような工夫が必要なため、快適なプレイ環境を実現する操作方法というのは、実に奥が深いと思われる。
ここの作りこみ次第で、ゲームの面白さが左右されるはず。
しかしとりあえず暫定的なものにしておいて先の段階へ進みたいのであれば、
省4
321: 2011/09/15(木)07:07 ID:I5TXtYrP(2/6) AAS
「5.選手とボールの接触判定をし、マウスクリックの代わりに選手が蹴るようにする」
先の段階で放置しておいた選手とボールの作用条件について実装する。
選手もボールもともに運動する物体であることから、まずは、
段階2の(3)および(5)で得られるボールの位置および速度を、
判定対象選手のローカル座標系における相対位置、相対速度に変換する。
その上で下記の順に判定、処理を行う
(1) ボールの相対位置が選手に十分近い(距離<ボール半径+体格半径)かつ
省11
322: 2011/09/15(木)07:32 ID:I5TXtYrP(3/6) AAS
>>320
ボールをトラップするも、ドリブルも、パスもシュートも、本質的には
「選手がボールをコントロールできる相対位置・速度条件にいるとき、どのようなコントロールの意思を示すか」
によって、ボールに新しい運動速度を与えるという処理に統一できる。
つまり、選手はボールに対しては速度にしか干渉できないように制限している。
これによって、もし多数の選手が団子状になったとしても、どう転がるかわからなけれど
試合自体は進行可能になると思う。
省2
323: 2011/09/15(木)21:25 ID:I5TXtYrP(4/6) AAS
「6.CPU選手をまずは1人登場させ、動くようにする」
4で書き忘れたけれど選手クラスの定義には、
・現在位置(x,yz)
・向いている方向
・移動速度
・チームの識別符号
など、描画やボールへの干渉判定に必要な状態変数を持たせる。
省15
324: 2011/09/15(木)22:00 ID:I5TXtYrP(5/6) AAS
「7.ポジション別にCPU選手のAIを調整する」
ここまでくると脳内プログラミングでは難しくなってくるが敢えて思考実験を続けてみる。
6での拡張で、個々の選手に対して、
・ボールをコントロールできない状態なら、目的地と方向を指示する
・ボールをコントロールできる状態なら、ボールのキック方向と強さを指示する
の2パターンだけ考えればよくなった。
目的地については、チームで戦うときは必ずしもボールに向かう必要はなく、
省11
325(1): 2011/09/15(木)22:21 ID:I5TXtYrP(6/6) AAS
このあと>>252では仕上げに入っているけれど、補足すべき要素としては、
A.選手同士の接触判定と解決処理
B.最後にボールに触れた選手によるスローイン、ゴール・コーナーキックの判別
C.オフサイドの判定
D.AI実装のための評価関数の充実
などが必要じゃないかと思う。
「8.タイム、スコア、勝敗、タイトル画面などの装飾要素を実装する」については、
省4
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.020s