あのぷちゲームジャムを二度三度

また超小規模ゲームジャムのお誘いを受けて、参加してまいりました。

今回は前回より1人多く、3人での開発となりました。

私は今回もゲームのメイン部分の作成を担当しました。

 

youtu.be

ゲーム内容は材料を組み合わせてコロッケを作り、より高得点のコロッケを作れるよう上手く取捨選択してハイスコアを目指すゲームです。

そんな中で詰まった点をまた纏めておこうと思います。

 

ゲームインスタンスの作成

詰まったというか作り直す部分が発生したので面倒くさかったと言う話。

今回はハイスコアを目指すタイプのゲームだったため、得点計算の部分を試験的に書こうと思うと、レベルブループリントに書いてしまう…

そうなるとUI表示であったり、レベルを跨いで変数を渡す時点で手詰まりになってしまったので、大人しくゲームインスタンスに書き直しました。

方法はシンプルでしたがノードの数の多い得点計算方法だったので、単純にコピペするにもヒューマンエラーを起こしそうな状況でした。

 

○今回のゲーム(スコアアタック系)でゲームインスタンスに記述したほうが良いもの

  • 主にUI表示に使用する変数
  • スコア

 

次はスムーズに進めたいですね。

  

■共同で作業する時にDevelopフォルダを各々メインの作業ディレクトリにしない

以前にも触れたと思いますがマージ作業を行う際にUSBを介して行いました。

プロジェクトファイルを共有し、自分の作業、保存するディレクトリを用意して、コンフリクトがおこならいように対処しました。

Content>develop フォルダを見つけてしまい、そこにローカルの作業を行うようにいたしました。

しかし、いざチームで用意したアセットをレベルに持ち込もうとしたりすると

参照できない…具体的には検索しても候補に上がらないと言った事態になり調査を進めました。

 

 すると案の定。

docs.unrealengine.com

 

使う前に説明書読めって話でした。

 

■その他、正攻法な対処ができなかったもの

○Time Remainingによるキャラクターのアニメーション制御

全体モーションフレームの残りx秒でステートの切替を行う、といった内容でアニメーションブループリント(アニメーションBP)が組まれていましたが、

フラグを落として実行した際に、アニメーションが待機状態に戻らない…

と言った状態に陥りました。

参加メンバーの方からその手法では失敗するけど原因が分からないといった記事を見たと言う情報を頂きました。(某Epicなおかずさんの記事、もしくは呟きだったとかなんとか…)

結局、PlayAnimationノードを使って直に呼び出す、アニメーションフレームは一律でしたのでそのカウントまで進んだら待機アニメーションをPlayAnimationで再生!

と言う、聞く人が聞くとグーパンされても仕方ないやり方で通しました。

 

~~ まとめ ~~

今回はどうしようもなく困らされたって状況は殆どなかったので、

そこまで新しい事にチャレンジしたわけでも無かったかもしれません。

 

とは言え、UIとゲームインスタンスに関しては前も引っかかったはずなので、

成長が見えないなこいつって感じですね。

牛歩ですがじっくり行きます。