kuront’s blog

主にUE4でのゲーム制作やってます。

【UE4】ゴルフゲーム製作 その2


今日もゴルフゲームの製作をすすめていく。

主に取り組むのは、

 

・ショットのタイミングゲージを作成する

・各ホールのスコアの表を作成する

ゴルフクラブの種類を増やす

 

ショットのタイミングゲージはパワーゲージの下にもう一つProgressBarを追加して、

BP_playerに持たせた変数BarShotTimingでバインドする。BarShotTimingはショットのパワーを確定した後に、タイムラインで値を変化させる。後は各々の状態をbool型の変数で管理する。ここではショットパワー判定時を表すIsCharge、ショットのタイミング判定時のIsAiming,それからパタークラブを選んでるかどうか判断するIsPatterで管理する。

パタークラブを選んでる場合は、タイミング判定を行わないようにしている(常にまっすぐ飛ぶ)。

 

f:id:kuront:20210702174335p:plain

f:id:kuront:20210702174835p:plain

ショットアクション時の処理

 

あとは実際に確定したBarShotTimingの値を使って、まっすぐ飛ぶか、角度を-1.0~+1.0ばらつかせたりの処理分けを行う。

 

f:id:kuront:20210702175623p:plain

ショットのパワーとタイミングに応じてボールを飛ばす。ちなみにこれは通常時の処理で、ラフとバンカー時はそれぞれ別で数値を決めている。



これでショットのタイミングゲージの処理が実装できた。

次はスコア表を作成する。

スコア表はウィジェットブループリントのTileViewの機能を使って実装することにした。

 

f:id:kuront:20210706200117p:plain

 

ウィジェットに2段のグリッド付きの画像を用意し、ホール数とスコアを表示するためのTileViewをそれぞれ用意し、スコアに関してはゲーム中に動的にスコア用で別で用意したウィジェットを表示させる。

 

f:id:kuront:20210706200618p:plain

TileViewにスコア用のTextだけ用意したこのウィジェットを入れる

 

これをホール終わりに表示させればスコア表は完成である。

 

 

 もうひとつ、今用意している通常ショット用のゴルフクラブと、パター用のクラブだけではゲーム的に面白くないので、高いショットを飛ばせる2番クラブを用意した。

f:id:kuront:20210706201757p:plain

2番クラブのショットシーン

これを実装するのはそんなに時間はかからなかった。2番ショット用に飛距離と高さを調整するだけである。

 

今回はここまで。

【UE4】ゴルフゲーム製作

今作っているFPSのゲームとは別でゴルフゲームを作ってみた。


f:id:kuront:20210623054855p:plain

カメラを切り替えて上空からステージを見渡せる。

 

f:id:kuront:20210623054924p:plain

パタークラブに切り替えられる。

f:id:kuront:20210623054935p:plain

池ポチャシーン

 

動画だとこんな感じ。

 

youtu.be

f:id:kuront:20210623055011p:plain

既にぐちゃぐちゃなイベントグラフ

 このプレイヤーのブループリントを開くたびに精神ダメージを受ける。まぁ関数かせずにほぼほぼイベントグラフでまとめてるからだが。

 

今作ってるゲームの息抜きで作ろうとしたら、当初思ってたのより製作に難しい技術が必要で時間がかかった。カメラの切り替えの仕方、ゴルフクラブのスイングの挙動(動画を見ていただければ分かるが、時々スイングの向きがおかしくなる)、プレイ中のUIの製作、ボールの挙動(特に減速の処理)バンカー、ラフ突入時のボールの減速やバンカー、ラフからのショットの挙動を制御するのがなかなか難しい。特にゴルフクラブのスイングの挙動についてはかなり時間を割いて改善しようとしたがなかなか完成しない。

とはいえ、このゲームを製作したことによって得ることが出来た技術も多かった。このゲームについては、もともと簡単に作る予定だったので9ホール作ったらアプリとして公開する予定です。

FPSゲーム制作日記 その7 -ステージ制作4

ついにステージ制作が最終ステージ(の予定)のステージ5までさしかかった。

 

 

youtu.be

 

ステージ4はいろいろギミックも盛り込んだので制作時間がかなりかかった。

15時間くらいはかかったかな。

 

ステージ5にはボスキャラっぽいのも登場させてみた。ボスの処理作るのが大変だった・・・。ボスに関連する壁とかスポーン位置の処理を別のアクターで管理させないといけないのでどこになんの処理を置いていたのか分からなくなってくる・・・。

動画中には映ってないが、ステージ5の後半部分ももう少しで出来上がる。

後は全部作った後にゲームバランスの調整もしないといけないな・・・。

 

FPSゲーム制作日記 その6 -ステージ制作3

ステージ3までステージが出来上がったのでステージ4の制作に取り掛かる。

ステージ2とステージ3は割とありきたりなステージになってしまった感があったのでステージ4は少し雰囲気が出るようにしたい。

 

というわけで作ったのが下の動画のステージです。

 

 

 

youtu.be

 

ステージ2も制作に時間がかかったが、ステージ4はもっとかかりそうだ。

動画で映っていた分岐の左側の道はまだ出来上がってないので、出来たらまた動画でステージを見せようと思います。

FPSゲーム制作日記 その5 -ステージ制作2

FPSゲームのステージの制作がそれなりに進んだ。

 

youtu.be

 

ステージ3は常にジャンプし続けないといけないからモバイルのタッチ操作だと難しいかもしれない・・・。出来なくはないが何回もトライしないといけない。そのうち調整しよう。

 UE4のブループリント扱いにも少しづつ慣れてきたので、もう少し複雑な処理のギミックも作っていきたい。

FPSゲーム制作日記 その4 -ステージ制作

 ゲームの仕様があらかた固まり、ギミックの準備もそれなりに出来たのでステージ制作に取り掛かる。

 最初は銃の性能が非常に低いので、銃の強化アイテムを多めに配置する。

 

youtu.be

 

火力アップアイテムを取ると飛距離が伸びていく。

youtu.be

 

 こんな感じでゲームバランスを取りながらステージを作っていく。

 

 で一通り制作したステージがこちらです。

 

youtu.be

 

大まかなステージの説明をすると、ステージの中央をゲートが遮っていて、一定のスコアを獲得していないと通ることが出来ないようになっていて、スコアを獲得するためにゲート前のキューブを消していき、同時にプレイヤーの強化アイテムを集めていくようになっています。ゲートを超えた後も色々仕掛けがありますが、プレイヤー強化していないと進めないようにしています。まぁこの先開発を進めて行く途中で細部を変更していく必要はあると思いますが。

 

 ステージ2以降も製作中なので、作ったらまた記事にしようと思います。

FPSゲーム制作日記 その3 -ゲームの仕様2

 今日も前回の続きでゲームの仕様について書いてみます。

前回はゲーム中に入手できるアイテムについて書きましたが、今回はステージ中に登場するギミックについて書きたいと思います。

 

f:id:kuront:20210605162412p:plain



 上の画像の番号付きのキューブは順番に消すことによってアイテム、もしくはスコアを得ることができます。間違えた順番で撃つとやり直しです。

f:id:kuront:20210605163315p:plain 

 

上記の青いボタンを銃で撃つと消えていた床が現れます。銃の射程が十分でないと届きません。

f:id:kuront:20210605165731p:plain

 

 上記の木の板は銃で撃つと倒すことができ、向こう側に渡れるようになります。ただし、こちらも十分な威力がないと倒すことができません。

f:id:kuront:20210605174440p:plain

 

 上記の赤い弾に当たるとダメージを受けます。HPが0になるとステージ1からやり直しになってしまう為、プレイヤーはこれらの罠を極力かわしながら進む必要があります。

 

 他のギミックも随時追加予定です。