日本語 / English

阿部 幸司 : 3D ビリヤードゲームの開発

創作ゼミで制作したビリヤードゲームを元にDirectXを使って表示系を三次元化し、コンピュータの思考ルーチンを改良しました。

資料


コンセプト

  • 人間-人間, 人間-Comp, Comp-Compの対戦を可能にする
  • リアルにするために3Dで表示を行う
  • ポケットを狙いやすくするために視点を変えられるようにする
  • 開発環境
    • Microsoft Visual Studio (Visual C++)
    • DirectX
    • Metasequoia (表示用素材の作成)

動画

    9ボールのルールでコンピュータと対戦した様子です。初めにバンキングを行って先攻、後攻を決めます。球を1つずつ打って、止まった位置が手前に近い方が勝ちです。この動画ではコンピュータに先攻を取られています。


スクリーンショット


    人間がショットの方向を決めているところです。キュー(棒)の先に出ている赤、青の線は手玉の進路を示しています。手玉を当てるべきボールには三角錐のマーカーが表示されています。

    相手がミスをすると手玉を置き直して打つことができます。水色のエリアがボールを置ける範囲です。好きな場所にボールを移動させて決定キーを押すと配置が完了して打てるようになります。
    こちらがミスをした場合は、コンピュータが最適な置き場所を見つけて勝手に配置を行います。

    水色の範囲内でも、別なボールと重なる位置にはもちろん置けないので、このように手玉が上に乗った表示になります。この時は置く操作をしても反応しません。

ダウンロード

  • ファイルをダウンロードして展開し、Releaseフォルダの中にあるBilliard.exeを実行するとゲームをプレイできます。


  • キーボードかゲームパッドで操作できます。操作方法は場面によって変わりますが、画面右側にキーの説明が出ます。

    キーボード(共通)6ボタンのパッド8ボタン以上のパッド
    形状
    上下左右方向キー方向キー方向キー
    決定Spaceキーボタン3ボタン3
    キャンセルBackSpaceキーボタン2ボタン2
    ズームインZボタン4ボタン6
    ズームアウトXボタン5ボタン7
    角度の微調整
    (with左右)
    Shiftキーボタン0ボタン4
    ボールの移動
    (with上下左右)
    Sボタン1ボタン5
    終了Escキー
    キーボードで操作しているときに、右のShiftキーを押しっぱなしにしていると別のウインドウが立ち上がることがあります。これは「コントロールパネル」からユーザー補助のオプションを選び、フィルタ キー機能の設定で「ショートカットキーを使う」のチェックを外すと表示されなくなります。

リンク

卒業研究 (2008)

創作ゼミナール (2007)