Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ゲーム開発研修(chapter0.ゲームUX編)【MIXI 23新卒技術研修】

ゲーム開発研修(chapter0.ゲームUX編)【MIXI 23新卒技術研修】

23新卒技術研修で実施したゲーム開発研修の講義資料(chapter0.ゲームUX編)です。
後ほど動画も公開します。

ハンズオン用リポジトリ:https://github.com/mixigroup/2023BeginnerTrainingUnityPublic

<< ゲーム開発研修資料一覧 >>
chapter0.ゲームUX編
https://speakerdeck.com/mixi_engineers/2023-game-development-training-chapter0-ux

chapter1.C#講座編
https://speakerdeck.com/mixi_engineers/2023-game-development-training-chapter1-csharp

chapter2.Unity基礎編
https://speakerdeck.com/mixi_engineers/2023-game-development-training-chapter2-unity

chapter3.課題ゲーム紹介編
https://speakerdeck.com/mixi_engineers/2023-game-development-training-chapter3-problem

chapter3.ハンズオン1編
https://speakerdeck.com/mixi_engineers/2023-game-development-training-chapter3-handson1

chapter4.ハンズオン2編
https://speakerdeck.com/mixi_engineers/2023-game-development-training-chapter4-handson2

出題と解答編
https://speakerdeck.com/mixi_engineers/2023-game-development-training-problem-and-answer

資料の利用について
公開している資料は勉強会や企業の研修などで自由にご利用頂いて大丈夫ですが、以下の形での利用だけご遠慮ください。
・受講者から参加費や授業料などを集める形での利用(会場費や飲食費など勉強会運営に必要な実費を集めるのは問題ありません)
・出典を削除または改変しての利用

MIXI ENGINEERS

May 08, 2023
Tweet

More Decks by MIXI ENGINEERS

Other Decks in Technology

Transcript

  1. ①中学生向けプログラミング学習支援 1. 渋谷区における中学校(公 私立)技術科授業など 2. 渋谷区の部活動に向けた Pythonプログラミングなど 3. 中高生向けエンジニア職業 講話

    4. 全国の中学高等学校からの 企業訪問実施先として、ま たは出向き、プログラミン グ体験とエンジニア職業講 話を随時実施
  2. ②中学生向けPBL授業支援 1. 社会課題・情報学習ができ るオリジナルICT学習教材 でグループ探究するプロ ジェクト型学習(Project - Based - Lerning)授業

    2. 実社会課題の解決をPython 作品制作で探究する課題解 決型学習 (Problem - Based - Lerning)授業 3. など順次展開
  3. ④新卒予定者向け・Unity学習支援 ◦ Unity Engine Challenge by MIXI(2019年〜毎年開 催) ▪ 第4回「Unity

    Engine Challenge by MIXI #4」  10/15に開催(終了) • 大学、大学院、専門学校、高専のため のUnity課題挑戦イベント • (私からは)第1回目から利用している 「スコアボード」と「回答システム」 なるイベントシステムをUnityで作成し 運用 • (私からは)第1回目から「マルチプレ イ課題」および「課題対戦用通信bot」 を提供、第3回目から「Audio課題」を 提供 • 開催当日もチューターや問題解説者と して参加
  4. おしらせ • 書籍紹介 ◦ 技術書典#13 にてMIXIから「mixi tech note #08」無料 配布中 

    • https://techbookfest.org/product/6QFxk7A 275p0z8L4t9tZ9y • 第5章「学校教育ソフトウェアで問題解決」 を田那辺から寄稿 • (要無料アカウント登録) ◦ 過去出版作 #06 / #04 / #03 でもUnityにおける原稿 を書いてます • 上のサイトから入手可能 • mixi tech note #06 /できるよUnity DOT • mixi tech note #04 /Behavior Treeでゲーム AIに取り組んで思う • mixi tech note #03 /Unity で作る競技型イ ベントの回答システム ◦ NEW 技術書展 #14 にて出版予定 「MIXI TECH NOTE #09」 に寄稿しました(5/20開催)
  5. 通常ソフトウェアエンジニアがゲーム開発PJに求めること 1. 未知の発見・技術的課題の解決を重視する 2. パフォーマンス向上を重視する 3. レンダリング(描画)向上を重視する 4. 開発・運営環境、 ビルド環境を重視する

    5. ゲームの素晴らしさを重視する これらを複合的に取り組むことでしょう。 本講義は「ゲームの素晴らしさを重視する」ことを軸にした 開発はどう取り組むかについて解説します。
  6. よくある工程 1. (プランナー)企画が上がる 2. (エンジニア)仮実装する 3. (デザイナー)素材が上がる 4. (エンジニア)素材を組み込む 5.

    (プランナー)仮設定を入力する 6. 〜幾重にもこれを積み上げる〜 7. 内部プレイ会 8. 外部プレイ会
  7. チームが感じてること(いつどこをレビューするのか) 1. (プランナー)企画が上がる 2. (エンジニア)仮実装する 3. (デザイナー)素材が上がる 4. (エンジニア)素材を組み込む 5.

    (プランナー)仮設定を入力する 6. 〜幾重にもこれを積み上げる〜 7. 内部プレイ会 8. 外部プレイ会 …目新しい企画でキャッチーだね …狙ったように動いて期待できるね …いいビジュアルだね …いいビジュアルで狙ったように動くね …パラメータやステージが予定通りだね …未完成箇所があって通しでは見れないな …いつも見てて課題も分かるので自分たちを信じよう …「おもしろい」「おもしろくない」の捉え方がさまざま
  8. どうすればいいのか1 特定パートだけでは「おもしろい」が決定されないが、どのパートからでも「お もしろくない」が誘因されることを理解しましょう(ビット演算 1 AND 0 …0) 1. 機能的だけど操作性や視認性や反応が悪い 2.

    読み込みや前処理でテンポが悪い 3. 通信や実行パフォーマンスなど負荷が大きい 4. スピード感や演出で没入感がない 5. 選択肢や変化が少なく飽きが早い
  9. どうすればいいのか2 一人一人が「おもしろい」に寄与する仕事だと意識して、ゲームとしてのこだわりと愛情を持って仕事をしましょう 1. ゲーム開発にとって依頼通りに作ることはただのスタートライン a. 仕様を発行する側もあくまで未知、変更や破棄も頻繁である 2. クオリティにこだわる仕事ぶりと技能におけるリスペクトは他パートにも伝播する 好循環 a.

    いい仕事には敬意が集まり、いい仕事でしか応えられなくなるでしょう 3. 無理難題や違和感に気づいたのならば問題解決のチャンス a. 難しい要求やなぜか感じる違和感に目を背けなければ技術革新やレベルアップの好機 4. それでも感覚だけではない良し悪しの理由があることを認識する a. インプットを増やすことで技術的知見や既に解決している事例に出会う
  10. おもしろい「ゲームUX」 ゲームがプレイヤーに与えるあらゆる体験。 ゲームUXはユーザビリティとエンゲージアビリティ(ゲーマーズブレインより) 1. ゲームUXは楽しいビデオゲーム体験を指す。UXとは別の定義 2. ユーザビリティは、システムの意図や使用方法が伝えられているか、不要なフラスト レーションがない 3. エンゲージアビリティは、プレイヤーに没頭してプレイを継続してもらえるか、動機

    付けが柱 ゲームUXと他のデジタル製品との重要な違いは、ゲームUX デザイナーがアクションやタスクを簡単 にしようとしないこと。UX チームが他のデジタル製品と同じようにゲームにアプローチした場合、 「Kill All Enemies」ボタンが表示され、ゲームが終了するだろう。(Jakob Nielsen)
  11. ユーザビリティ 1. 国際標準化機構(ISO)による「ISO 9241-11」規格 (wikipediaより 1.1. 学習しやすさ: システムは、ユーザがそれを使ってすぐ作業を始められるよう、簡単に学習できるよ うにしなければならない。 1.2.

    効率性: システムは、一度ユーザがそれについて学習すれば、後は高い生産性を上げられるよう、効 率的な使用を可能にすべきである。 1.3. 記憶しやすさ: システムは、不定期利用のユーザがしばらく使わなくても、再び使うときに覚え直さ ないで使えるよう、覚えやすくしなければならない。 1.4. エラー: システムはエラー発生率を低くし、ユーザがシステム使用中にエラーを起こしにくく、もし エラーが発生しても簡単に回復できるようにしなければならない。また、致命的なエラーが起こっ てはいけない。 1.5. 主観的満足度: システムは、ユーザが個人的に満足できるよう、また好きになるよう楽しく利用でき るようにしなければならない。 2. プラットフォームやコンテンツの慣習を考慮する 2.1. 環境やデバイスの性質が配慮されているか 2.2. 慣習的操作と違わないか
  12. エンゲージアビリティ 1. 没頭できること(おもしろいのゲームデザイン) 1.1. パターンを発見して再現するのが楽しい 1.2. 練習により一連の行動(※チャンク)が上達(※グロック)して無意識的に行動できるよう になると楽しい 1.3. 積み重ねたチャンクがプレイの幅を持たせるから考えることがおもしろい

    1.4. 難易度と能力が適切な状態を継続できると没頭できる(フロー理論) 2. 動機付けが十分であること 2.1. 内発的動機付け、外発的動機付け(ウィルビーイング理論) 2.2. ナラティブ(なぜ人はゲームにハマるのか)
  13. ゲームUXに対してとれる優れた行動指針 3. 簡便で間違いが起きにくいデータ・リソース管理の仕組みの提供 3.1. 設定データ・使用素材にルールがあり過ぎて使いづらくないか 3.1.1. 意図を汲んで要求を吸収する仕組み、用途別に分割したほうがいいか、Component設定 要求はソフトウェア解決... 3.2. リストにおいて同じ情報となる部分が何度も個別設定となってしまわないか

    3.2.1. カテゴリ化してデータ整理、定型データは削減、テンプレート化など... 3.3. どこに間違いがあるか把握しづらくないか 3.3.1. データシート値範囲、データシートキーワード誤字、データシート構造記述、 Component設定漏れや誤り... 3.4. データ入力者にとって楽で分かりやすい方法になっているか 3.4.1. その量を入力フォームやエディタで手入力できるか、グラフエディタで管理できる規模 なのか...
  14. まとめ 1. ゲーム開発工程とありがちな問題 1.1. 問題があるかどうか分かるまでがとにかく「遅い」 1.2. 「おもしろい」の定義とその時間軸もさまざま 1.3. どのパートからでも「おもしろくない」を誘因 1.4.

    一人一人が「おもしろい」に寄与する仕事 2. おもしろい「ゲームUX」 2.1. ゲームUXはユーザビリティとエンゲージアビリティに起因する 2.2. エンゲージアビリティとは、没頭できること・動機付けが十分であること 3. クライアントエンジニアがゲームUXに対してとれる5つの行動指針 3.1. 先行事例やトレンドをエンジニア視点の詳しい機能分析をして知識の提供 3.2. 前向きに仕様意図を汲み機能的補完を提案・提供する 3.3. 簡便で間違いが起きにくいデータ・リソース管理の仕組みの提供 3.4. イテレーションやすくなるツール・デバッグメニューの提供 3.5. ゲームUXに影響を与えうる箇所を理解して特にコストをかける 4. 有意義なナラティブと「らしさ」 4.1. 「ナラティブ」とはどのような経験・ 物語かを表すことば 4.2. 時間の対価にナラティブで何を伝える のか 4.3. 提供したいナラティブを認識して「私 たちらしさ」を見つける