開発フェーズによって必要とされる能力は異なる
https://gyazo.com/5c20d6739e1460eb5c5e087f3a97af83
ゆらめく岩屋
ゲーム開発においては大きく3つのフェーズがあり、それぞれゲームプログラマーとして必要とされる能力は異なる
mockフェーズ
試行錯誤を高速で回せる、とにかくスピード
捨てる前提のプロトタイプなので、後のことを考えなくて良い
1つのことに固執しない柔軟性
捨てる前提を受け入れる
自分が提案した案がクソだと言われて却下されることを認められる
本開発フェーズ
運用を見据えた設計力
ここで開発したものが運用されるので、中長期的にみてバグが起きない、スピードが出る、品質特性を満たせる設計を行えること
スケジュールに対するトレードオフを取れること
開発スケジュールは重要な指標になっているので、取捨選択ができる、優先度付けができる能力が必要になる
スケジュールのためには、ある程度1つのことに固執することも必要
ず〜っと柔軟性をとっていては、ふにゃふにゃの芯が無いゲームになる
方向性はmockフェーズのときに決めているはずなので、本開発フェーズでは mockフェーズのメンタルマップとは違うことを認識する
運用フェーズ
ユーザ目線に立つ共感力
実際に使用して、お金を払うユーザが存在するので、その人のことを考えられる共感力
安定性
バグを出さない、不具合出さない、障害を出さない安定性がかなり大切
アドリブ力、対応力、適応力
本開発フェーズでどれだけ頑張ったとしても運用になって分かることは多いので、そこでの対応力は求められる
イケてる設計やモダンな技術はここでは足かせになりやすい。現実のユーザーを見ること
このフェーズごとに必要な能力が異なることを認識せずに、ずっと同じメンタルモデルでいると 老害化する mockフェーズなのに運用フェーズのような超慎重な設計、実装をしてスピードを殺す
運用フェーズなのに mockフェーズのような行き当たりばったりの実装をして障害を起こす
ある瞬間に活躍した人が偉くなって、ずっと指揮を取るようになるとおかしくなるケース
今のフェーズでは何が必要とされるのか?を知る メタ認識能力と、それを習得する学習スキルの2輪が大事