2年後期「3Dテニスゲーム」作った!

OVERVIEW

2年間の集大成!これにすべてをぶつけました!

YEAR 2021

[作った経緯]

2年生の年明け前に一通り3Dの基礎勉強も終わり就職作品も作らなきゃいけなく

なり何を作ろうか悩んでいました。私は一年生の頃何をやったのかを振り返って

いた時、Pongを作っていたのを思いだしたのと「白猫テニス」で遊んでいたことも

あり、「そうだ!シンプルで遊びやすく、面白いテニスゲームを作ろう!」

思いました!またその頃満遍なくゲームは作れていたのですが技術力が

足りないと感じていたので技術者としてもプログラマとしても

ステップアップしたいと思っていたので難しいといわれるスポーツゲームに

挑戦することにしました!制作環境はDirectXTKです!

[大変だったこと]

大変だったことは大きく2つありました。

ひとつはボールの軌道に物理計算や数学の知識が必要だったことです!

私は数学や物理学に苦手意識を持っていました。高校の頃は2年生までは理系で

進んでいましたが数学が苦手で文転してしまうほどでした。しかし今回のテニスゲーム

では絶対に作りたいと思っていたので私は高校の頃使っていた数学の教科書やサイトを

読み漁り、また1から勉強しました。少し時間はかかりましたが努力のおかげで

弾の軌道をうまく実装することが出来ました!しかし公式やしっかりとした計算

なのでゲームらしい動きにはならず面白みが無くなっていました。

なので少しずつ数値を変えていきゲームらしい動きを実装することが出来ました!

この時ゲームで使われている物理って偽物なんだなって気が付くことが出来ました!

この時出来ていたゲームがこんな感じでした。

コートは縦長で周りも殺風景で少し寂しい感じでただボールの軌道がうまくいっている

そんな状態でした。この時大きくスケージュールを遅らせていたので挫折しそうになって

いました。私はこのままではいけないと思い一度ソースコードを見直すことにしました。


ここからが2つ目なのですが私の特徴で設計を考える前に作ってしまう

というものがありました。そのせいでコードの可読性が下がっていることが

多かったです。私は自分を変えたかったのでプロジェクトを1からまた作り直し

オブジェクト指向を意識し、インターフェースクラスも作りより設計に重きを置き

慎重に制作していきました。これによりやる気がすごく出てゲーム面をもう少し頑張って

みようと思うことができました!

[本当の楽しさとは]

それから意見を集めるために沢山の友達や先生、業界で実際に働いている方遊んでもらい

ました。しかし微妙だったり難しいといわれることが多かったです。

何がダメなのかわからなかったので実際に「マリオテニス ACE」を購入し遊んで

みました。すると今まで私は点を取るのが楽しいと思っていたのですが

ちがう!ラリーをするのが楽しいんだ!


と気が付くことが出来ました!なので私はまずコートを大きくしラリーが続くようにした

り、ボールのふり幅を調整したり敵AIを細かく調整してラリーを楽しみつつ点をとれる

そんなゲームに仕上げました!その結果このようになりました。

UI周りやカメラも調整し、ラリーが始まるといつもの画面に戻るように動きを

入れました!それからまた遊んでもらいましたが、面白い!何回でも遊べる!

と意見をもらいとても嬉しかったです!しかしまだ安っぽさが出ていたので観客や

地面のテクスチャを変えたりして最終的にこうなりました!

だいぶ見た目がよくなったと思います!観客は点が入った時に動くようにし

ゲームらしさを追加しました!個人的にすごく満足のいくところまで作れたと思います!

[感想]

今回テニスゲームを作ったことは自分の中でもだいぶ満足のいくものでしたし、自信

にもつながりました。当初はスポーツゲームは作るのは難しいからやめておいた

方がいいよと言われていましたがそれを押し切ってでも作れたことは今後何か壁に

当たった時でも乗り越える自信にもなったと思います!これで終わりではなく

テニスゲームは今後も少しずつ遊んでもらいより良いものにしていきたいです!

長くなりましたがここまで読んでいただき

ありがとうございました!