テニスシミュレーションゲームを考える その3

その後、いろいろ複雑なことを考えて、テストコードを書いてみたりしたんだけど、なんかうまく収束する方向に持っていけない。

基本的なアプローチとして、実際に自分がテニスをやるときに考えていることや、行動していることをパラメータに置き換えながら何とかしようとした場合、あまりにもパラメータとシチュエーションが多くなりすぎて、どうしても発散してしまうようだ。

そこで、そういう実際にプレイ中のその場その場で出てくる要素をパラメータ化するアプローチはあきらめ、実際のプロテニスプレイヤーをどの程度パラメタライズしたら、そのキャラクターというものが十分に表現できるのか、というアプローチで考え直してみた。

今のところ考えているのは、次のようなパラメータ。

  • サーブ(Serve)
  • レシーブ(Recieve)
  • フットワーク(Quickness)
  • フォアハンドストローク(Forehand)
  • バックハンドストローク(Backhand)
  • ネットプレイ(Net)
  • ショットセレクション(Tactics)
  • フィジカルタフネス(Physical)
  • メンタルタフネス(Mental)
  • 安定感(Consistency)
  • ハードコート適性(Hard)
  • クレイコート適性(Cray)
  • グラスコート適性(Grass)

このパラメータで試しに主だったプレイヤーをSABCDEFでランク付けしてみると、

名前 S R Q F B N T P M C H C G
ふぇで S B A S B B S A S S S A S
なだ B B S S A C C S S S A S S
じょこ A A A A A C A B A A S A A
まれ A A S B A B A A B B S B A
ふぇれ B A A B B C C S A A A A B
ろで S C C A C B C B B C A C A
つぉん A B B A C A B B B B A C A
こり C B A A A D A C B C A B B
でんこ B B B B B D B B B C A A D
でるぽ A B B A A C C B A C A A B
そえだ B C C C C C C C C C C D C
かるろ S C C C C A A C B B A D S

なんて感じ。異論は認める。というか、やっているうちにだるくなってきて後半だいぶ適当になっちゃったな。

でも、このくらいあればだいぶ選手の個性を表現できているように思える。あとはこのパラメータを使って、スタティスティクスが出せる程度のシミュレーションができるかどうかだ。

ちなみに俺が出したいスタッツは、ツアーレベルのやつじゃなくて、GSレベルのやつ。具体的には、

  • ファーストサービス確率
  • ファーストサーブポイント獲得率
  • セカンドサーブポイント獲得率
  • サービスエース数
  • ダブルフォルト数
  • ネットプレイ成功率
  • ウィナー数
  • アンフォーストエラー数
  • ブレイク数/ブレイクポイント数

あたり。あと、

  • プレイヤーごとの対戦成績
  • コートサーフェイスごとの成績

なんてあたりも生涯成績として表示できるようにしたい。というか、基本は数値シミュレーションなんで、その程度の細かい情報が出てこないと面白くない。

なんか話が逸れつつあるけど、ひとまずこんな感じのパラメータ表現で、どうやって細かいスタッツが出せる程度のシミュレーションを行うか。そのシミュレーション結果がリアルなスタッツと同じ感じになるように調整できるか。ってあたりをサンプルコードを書きながら調整していきたい。

まずは数値計算上試合が成立するところまでサンプルを作ってみよう。

関連する投稿:

    None Found