株式会社サムザップのオオバ(@ohbashunsuke)です。
Unityでゲームを作っているときに感じる違和感。
な〜んかうまくいっていないような気がすることありませんか。
- メンバーはそろっている
- 仕様も決まっている
- 機能は量産体制に入っている
特に気になるのはUI系の不具合が多いこと。
機能が作られる度に不具合件数が増加。
「これからさらに機能は増えていくけど、
大丈夫かしら?」
と懸念を感じているあなた。
それ、大丈夫じゃないです!!
でもそこに気づいたあなたはスゴイ
もしかするとUIのルールが整わないうちに、
全軍前進しているのかも知れません。
UIのルールとは「UIレギュレーション」とも呼ばれます。
UIデザイナーとエンジニアが共通言語として
理解し合う必要があるくらい重要。
つまりUIレギュレーションがないと
お互い会話さえできない状態なのです。
この記事では、
なぜUIレギュレーションが必要なのかを解説します。
「わたしはUIデザイナーじゃないから関係ない」
と思っているそこのあなた、
ちょっと待ってください。
UIレギュレーションは、
UIデザイナーだけの問題ではありません。
エンジニア、プランナーの相互理解は必須。
確かにこの記事のメインターゲットはUIデザイナーです。
ただしエンジニア、プランナーといった
ゲームに関わるメンバーにも聞いてほしいことなのです。
ぼくのUI開発歴は12年。
過去どのプロジェクトにおいても
UIレギュレーションがクオリティを
決めていたように思います。
今回、職種関係なく伝わるよう、
全体的にわかりやすく解説しています。
ぜひ読んでみてください。
UIレギュレーションの重要性を理解して
安全な開発をしていきましょう。
結論 : UIレギュレーションのないプロジェクトは失敗する
結論を簡単にまとめます。
- UIレギュレーションが仕様変更に強くする
- UIレギュレーションがチーム内の技術力格差を緩和する
- チーム全体でUIレギュレーションを作り上げる
- UIレギュレーションは大器晩成で後の開発を高速化する
UIレギュレーションは、
ゲーム開発の中での重要度は高いです。
この認識をチーム内で持てているかが大事。
ただしUIレギュレーションが整うまで、それなりに時間はかかります。
そのせいで開発進捗が悪いように感じることも。
そこでの我慢が後の開発スピードに対する投資になるわけです。
1つ確実に分かっていることは、
UIレギュレーションがないとプロジェクトは失敗するということ。
できれば安全に開発を進めたいですよね。
その秘訣であるUIレギュレーションの理解が大事。
ぜひとも、この記事を通して、
UIレギュレーションの重要性に気づいてもらえたらと思います。
では詳細の解説に入ります。
UIレギュレーションとはゲーム全体のUIルール
UIレギュレーションとは、
ひとことで表すと、「ゲーム全体のUIルール」です。
例えば、以下のような要素がUIレギュレーションです。
- OKボタン、キャンセルボタンなどの共通ボタン
- 共通ダイアログデザイン
- 各画面の共通タイトルデザイン
- 各画面共通のリストデザイン
- 各画面共通の配置ルール
- ゲーム全体通して共通で使用する色
など。
つまりUIレギュレーションとは
「共通」で使用するデザインルールのことです。
UIデザインの修正が入った場合の被害が大きく変わる
デザインに修正が入ることってよくありますよね。
UIレギュレーションのあるなしで、
影響度は大きく違います。
UIレギュレーションがある場合
UIレギュレーション範囲の修正、
つまり共通デザインの修正であれば、
共通化されたデザインの修正で完了します。
Unity側もUIレギュレーションに沿った機能開発をしているはずなので、
共通デザインの修正で実装も完了。
テストの工数も低く、
仕様変更の影響度を低くおさえられます。
UIレギュレーションがない場合
共通デザインの修正かどうか分からないため、
修正箇所が見つかる度に修正していく作戦しかありません。
プログラミング側も複数同じような機能を開発している可能性があるため、
しらみつぶしに修正します。
結果的にUI系の不具合が量産されるわけです。
このようにUIレギュレーションのあるなしで、
仕様変更に対する防御力は大きく変わります。
UIレギュレーションを整えることが、
安全なUI開発の第一歩と言えます。
誰でも80点取れますか?
チーム開発で重要なのは、
メンバーの技術レベルの差に関係なく最低80点は取れることです。
つまり、技術力の低いメンバーがいても
そこそこのクオリティを維持できる環境が大事だということ。
みなさま経験あると思うのですが、
チームメンバーは各々スキルに差がありますよね。
得手不得手が違いますし経験差もあります。
【超大事】 考えるをなくす環境へ
重要なのは、「考える」「迷う」をなくすこと。
ここ、すごく大事なポイントです。
スキルや経験の差がでるのは、
「考える」「迷う」ときの結果の質。
やはりスキルと経験を持ったメンバーの
「考えた」結果の方が、レベルは高いです。
つまり、だれがやっても同じ単純作業レベルに落とし込めれば勝ち。
繰り返しの単純作業に差は出づらいですよね。
そのための、UIレギュレーションです。
UIレギュレーションによって
UI開発は単純作業化されます。
これこそが製品のレベルを
ググッと上げるのです。
UIレギュレーションを充実させて、
迷いをなくし、だれでも80点のクオリティにできる
平和な世界を作ってみませんか。
UIレギュレーションを阻む刺客
UIレギュレーションの重要性について解説してきました。
この記事の読者間では共通認識が取れたかと思います。
本章ではUIレギュレーションの作成を阻む
障害について解説します。
UIレギュレーション作成には時間が必要
UIレギュレーションの作成には時間を要します。
- レギュレーションの整理
- 画面に落とし込んだときの修正、改修
- エンジニアとの連携
- 将来性の担保
など。
UIデザイナーを始め、エンジニアも
がっつりUIレギュレーション整備に入ります。
ここでの課題は、
ゲーム自体のアウトプットに進捗がなくなることです。
プロデューサーやディレクター、プランナー視点から見れば、
ゲームの開発が進んでいないように見えてしまいます。
「ルールは大事だけれども、スケジュールが。。。
みたいな話は起こりがち。
オススメの戦略は、
ルールが決まるまで開発メンバーを増やさないこと。
メンバーが増えると、
どうしても人件費がかかってきて、
スケジュールの優先度は上がります。
(※そもそも最初からスケジュールが短いパターンもありますが)
開発効率の視点でも、
UIレギュレーションが決まる前に
メンバーを追加しても効率は上がりません。
この辺りの認識をそろえておく必要があります。
とにかく人を追加すれば納期に間に合わせられるわけではありません。
UIレギュレーション、開発ルールの整備がもっとも重要です。
ルール整備に時間をかけ、
単純作業で量産する戦略が最も効率が良いと考えています。
つまり開発に関わる全員が、
UIレギュレーションの重要性を理解してもらうように対話しましょう。
この共通認識さえあれば、
UIレギュレーションを阻む障害はなくなります。
UIレギュレーションはUIデザイナーの仕事ではない
UIデザイナーだけで
UIレギュレーションを作ると破綻します。
UI担当のエンジニアと連携して初めて精度は上がります。
もちろんプランナーの作るゲーム仕様ありき。
というのもUIデザイナーだけでガチガチにレギュレーションを作っても
その後のプログラミング工程で、矛盾や実現できないものが発覚します。
先行して作るのは、
UIデザイナーで間違いありません。
しかしエンジニアにレビュー依頼、相談しながら作ると
無駄な手戻りがなく、
効率的にUIレギュレーションは作れます。
Notionなどのドキュメントツールをつかって、
職種間の共有資料として展開しながら
UIレギュレーションを作っていくことをオススメします。
UIレギュレーションを破壊する仕様変更との付き合い方
UIレギュレーションの大敵の仕様変更。
仕様変更によってせっかく作り上げた
UIレギュレーションが壊されることはよくあります。
壊れることが分かったときにどうするか。
- 矛盾をかかえて前進する
- 一度立ち止まってUIレギュレーションを修復する
ここまで読み進めているみなさまは、
どちらが正解か一発でわかると思います。
後者「一度立ち止まってUIレギュレーションを修復する」が正解です。
UIレギュレーションに対する影響度が限定的であれば、
そのまま進めつつ、あとから少しずつ修復するでも良いと思います。
仕様変更時によくあるのは、
とりあえず目に見える部分を何とかしようとすること。
UIレギュレーションを整えずに
やみくもに修正するのは危険。
さらなる修正が発生する可能性が高まります。
もちろん、お客さんに途中経過を提出しないといけない!
といった緊急時であれば、突貫で作業するのはあり。
ただ、その後UIレギュレーションを
整えることを忘れぬよう。。。
まとめ : 失敗するゲーム開発にはUIレギュレーションがない
記事の内容を簡単にまとめます。
- UIレギュレーションとはUI開発ルールと同義
- ルールのない環境は「考える」作業が発生
- 「考える」とは効率低下と質の差を生む
- UIレギュレーションが整うまで開発メンバーを増やしすぎない
- UIレギュレーションはUIデザイナーとエンジニア協業で完成する
こんな感じです。
UIレギュレーションの重要性は
一部のメンバーには存在していますが、
チーム全体の共通認識でないことは多いです。
UIはプログラミングと同様で
積み上げていく過程が必要。
計算された積み木を積み上げて
仕様にフィットするためには時間がかかるのです。
チーム開発でクオリティを上げるためのUIレギュレーション。
ぜひとも今あるUIレギュレーションの状態を
確認してみてはいかがでしょうか。
整っていないなら整えることをオススメします。
整っているなら、遠慮は不要、全軍前進です。
本記事は、サイバーエージェント Developersアドベントカレンダー 2021の8日目の記事でした。
明日の執筆者はmiiitomiさんです。