[UE4][ue4jam2018]制作進行の反省

概要

ue4jamで作ったミニゲームの、制作進行についての反省。

三行まとめ

・短期間だからとにかく手を動かしまくるぞ

・やりたいこと半分もできなかった

・むしろ期間が短いほど落ち着いて進行管理しないとヤバい

前提

・お題発表から締め切りまで一週間(平日含む)

・「やくもの」がたくさんあるゴルフのミニゲームを企画(詳細はこちら)

やった事

・超ざっくりスケジュール

・一日目:企画、動かせるサムシングつくる

・二日目:ギミック試作

・三日目:仮ステージでゲームになってるか確認する

・四日目:ギミック増やす

・五日目:ステージ最低3つつくる

・六日目:音入れる

・七日目:バグとったり提出の仕方調べたりする。時間余ったらステージ増やす

・あとは手うごかしまくればなんとかなるやろ!

実際の進捗

・一日目

・企画考えた

・物理計算の入れ方を検討したり実装したりした

・二日目

Landscapeと質点物理でボールが動く奴作った

・三日目

Blenderでホールのモデル作って詰まったりした

草ギミック入れた

・草ギミックの実装をマテリアルで頑張ろうとして深夜までかかっている。そして諦めた

・C++で書いた物理処理がCrashするのを調査したが原因がまだわかっていない

・このへんで草ギミックだけで何とかしようと決めた

・四日目

Realityゲージ入れた

ステージの作り方を決めた

・ボールが時々変な動きするのを調査した。原因は接地判定の雑さだったので地形側で対応

・Crash調査続行し解決。原因はC++実装部の未初期化変数

・五日目

ステージを3個つくった

・タイトル、リザルト、ステージ遷移の準備をした

・六日目

タイトルとリザルト作った

・HE-MANリスペクト音声を入れたりして遊んでた。

SE鳴らす仕組み考えた

・SE、BGM素材探した

・七日目

SEとBGMつけて、ステージを3つ追加

・バグ取り

・提出

良かった点

・なんとか体裁は整った

・ここでいう体裁の定義:タイトルとプレイとリザルトがあり、それらがループする

・音を後回しにしたのは正解だった

・音を先にやってたら、たぶん音量とかにこだわりだして終わってなかっただろう。

・「やる事」リストに記述する内容を、手順レベルにまで分解した

・日をまたいだ時や、超焦っているときでも、とにかく書いてあることをやれば終わる

やる気が出なくても、とにかく書いてあることをやれば終わる

・疲れてる日も大丈夫!

・何も考えなくても、書いてあることだけやればいい!

・しあわせ!

・ただし、これは予定が遅れて「ほんとにおわるかな?」と慌てだしてから実施した。

悪かった点

・予定の作業粒度にばらつきがあった

・特に「ギミック試作」は単位として大きすぎ

・物理計算

・質点物理

・ゲームモードへの組み込み

・Landscapeと物理マテリアル

・物理マテリアルの設定屋取得の調査

・物理計算への受け渡し

・ギミック1つつくる

・入力受付

・物理計算への受け渡し

・草アニメーション

・重い!バグ取りも考えたら一日じゃ終わらない!

・チャレンジングすぎ

・物理システム自作にトライって7日jamでやることじゃない!

・7日でゲーム作ること自体が自分にとってはチャレンジングなんだから、

その構成部品は確実なものにするべきだった

・細かいところにこだわりすぎ(遅れの原因)

・草の挙動にそんなに凝ってる場合じゃないよ!

・もっと期間を意識して!

この興味深い分類法でいう所のドM率を下げなければ終わらない…

今後こうしたい

・期間に応じた作業粒度設定を行う

・「最初から綿密に計画立てても、どうせ面白い思い付きとかトラブルで崩れる」という事実はある

・しかし、短期間JAMにおいては、粒度設定の塩梅をやや詳細寄りにする必要があるのではないか

・例えば二日JAMだったりすると、雑な設定では100%終わらないだろう

WBS技法というらしい

・期間に応じた目標設定をする

・第10回ぷちコンは一か月という期間の長さもあり、勉強しながら作ることができた

・また、制作の遅れについて休日に取り返すような調整をすることもできた

・一週間ジャムだとなかなかチャレンジが難しい

・お題のクリアとゲームの完成だけで十分すぎるほどだ

・体裁が整った後のブラッシュアップ部分にチャレンジを設定するのが良さそう?

・期間の設定が無いものは?自主製作など

・期間を設定する

・寿命、または認知機能の維持限界よりも手前に設定する事

・「やる気がなくても終わるシステム」は引き続き実施、改善し続けたい

・「とりあえず手が付けられる」レベルへの粒度分解

・今回は全部テキストで管理したが、支援ツールをもっと利用する

・現在gitリポジトリとしてしか使っていないAzure DevOpsのBoardとか

以上