はじめに
私は数年間ゲーム会社で働いています。
主にUnityやUE4での開発経験がありますので、
今回は開発中にあった気をつけることや、あるある話をメモしておこうと思います。
命名
これはコードであっても使用するリソースであってもですが、
最初に命名したものは絶対後からマネされます。
継承したり複製されそうなものはしっかりした名前をつけていないと、
- 命名した英語の意味が誤っている
- 命名規則が間違っている
といったことが起きます。
後から変えるのは面倒なので最初が大事です。
プロジェクトが始まったときにある程度各セクションごとにしっかり決めれるとベストです。
(コードのお話は他の方の素晴らしい記事があるので割愛します)
アセット
エンジンなどを使用するとアセットを扱うことになると思います。
適していない命名をしてしまうと
- 使う人が役割をアセット名から推測できない
- 大文字、小文字、アンダースコアなどの付け方が不統一になる
- 保存先が適していない
といったケースが発生します。
また、アセットまでのパスが長すぎると問題になったりしますので注意です。
パラメーター
呼び方は色々ありますが、
ここではキャラクターの攻撃力を決めるデータなどのことを指します。
このデータを識別するIDや値が間違っているとゲームが正常に動かないことがあります。
特に多いのが誤字と多重に定義されることによるヒューマンエラーです。
データのインポート前にIDの誤字や多重定義などをチェックする仕組みを用意しておくと不具合が減って助かります。
また、アプリ側からデータが見つからないときのエラーメッセージも早期発見に繋がります。
エラーメッセージ
プロジェクトによっては全然あまり読んでないことがあります。
内容を分かりやすく、問題を気づきやすくすると効果が高かったです。
また、プログラマーは何を対処すれば直るかを意識して書いておくと、
そのエラーに対する質問が減って助かります。
(IDに誤りがあるので、◯◯というデータを修正してください など)
- クリティカルなものは画面に表示する
- ログを色で識別する
- 見る人が使う言語(日本語)で書く
- 問題となってるリソースを書く
など試してみてはどうでしょうか。
チュートリアル
最近のゲームは最初にゲームのチュートリアルが表示されたり、
進行中に機能を説明してくれたりします。
この機能は後から作られることが多く、
不親切な実装をされているとチュートリアル実装の担当者が泣くことになります…。
- 割り込み処理ができない
- チュートリアル用操作ができない
- 最初の無料ガチャが引けない
など。
どうしても難しいところではありますが、
チュートリアルを出す場所は早めに設計できるとベストです。
キーアサイン
コントローラーでの操作の割当です。
開発中にコロコロ変わりますので、
担当者が調整しやすいように設計してあるとベストです。
また、担当者はキーアサインが変わったときは全体告知しないと開発の進行に影響します。
- 移動の仕方がわからない
- チェックしたい技が出ない
- デバッグメニューの出し方が分からない
などの報告が多発します。
テスト・デバッグ
なにか問題があったときに、
プログラマー以外の人はブレークポイントを置いて数値を見る…といったことはできません。
チームの人がデバッグしやすい環境を整えてあげれるとGoodです。
- パラメーターの表示
- 処理負荷や使用メモリの表示
- 操作の自動化
- バグ報告のフロー整備
など。
デバッガーの方に必要なものをヒアリングするのもいいと思います。
バージョン管理
ある意味一番大事なことです。
チーム全体でしっかり習熟しておかないと開発に大きく影響します。
- 競合のマージ
- アップしたデータの取り消し
- データのロック
などがつまづきやすいポイントだと思います。
また、マニュアルの作成・更新は定期的に行ったほうがいいと思います。
まとめ
ここで紹介させていただいた例は一部でしたが、
ゲーム開発以外の開発者にとってもあるある話だったのではないでしょうか。
開発では意識して気をつけないと後で大きな問題に繋がることもあります。
この記事が1ミリでも誰かのためになれたら幸いです。
こうしたら効率よく開発できたなどのご意見ありましたら、
ご共有いただけますと嬉しいです