阿部 幸司 : 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)
|
|