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

ゲーム開発研修(chapter3.ハンズオン1編)【MIXI 23新卒技術研修】

ゲーム開発研修(chapter3.ハンズオン1編)【MIXI 23新卒技術研修】

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

ハンズオン用リポジトリ:https://github.com/mixigroup/2023BeginnerTrainingUnityPublic
※この資料の範囲であるchapter3のコードは公開していないので、ハンズオンを実際に試していただくことはできません。

<< ゲーム開発研修資料一覧 >>
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. 2 藤井 瞭 akira fujii 株式会社 MIXI 開発本部CTO室クライアン トグループ 所属 •

    22新卒 • クライアントエンジニア • プログラミング学習カリキュラムと教材 ソフトウェアの開発
  2. 1. Unityで他のprojectを開いていたら閉じておく 2. feature/chapter3.edugames-athletic ブランチに切り替え (git fetch) 3. Unityプロジェクト chapter3.edugames-athletic

    を開く 4. bootstrap シーンを開く 5. Gameウィンドウのタブを右クリック →「Warn if No Cameras Rendering」をオフ 6. Playできたら進捗確認くんで挙手 事前準備
  3. このパートの あらすじ 1. 前のパートでプレイしたアクションゲームへの機能追加を通じ、ゲーム開発のテクニックを学ぶ実 践的なパートです。 2. ハンズオンは前後半の 2回あり、それぞれ異なるテーマを学びます。 3. これはグループごとで相談連携して進めるグループワークです

    4. 分担作業はしてもしなくても OK、進みがいい人は経験の少ないメンバーを支えてください 5. 今回は別々の制作進捗でも通信プレイできるように、フィールドやオブジェクト、コントローラー classは基本的そのままに、 今日の学習を踏まえて、ローカル判定部分と要所のデータ通信連携を 作っていきます 6. ① まずはシングルモードで自分の成果を試していきましょう 7. ② ある程度できたら実際にメンバーで繋いで確認しましょう(エディタのままで OK、あえて buildを作ると通信もローカルで試せます) 8. ③ 概ね出来たらメンバーで要素を確認しながら思いっきりプレイしてみましょう(プレイヤーが 楽しめるように配慮して作るということ!)(作り手が楽しむということ!)
  4. 【出題】 アイテム回収 (20min) 別紙「【Part1】出題シート action game development with Unity」p1 ゴール:「i」キーを押したら前方のアイテムを拾えるようにする

    • feature/chapter3.edugames-athleticから作業ブランチを切って開始 • できたらチームで1つプルリクを出してください(baseは上記ブランチに!) • 資料に@todo コメントがある部分を自分で考えて実装しましょう • 「i」キーを押すとItemTest()が呼ばれる部分は実装済み。 • デバッグには各item stageを使うとよいでしょう。
  5. • オブジェクトの検索 ◦ オブジェクト名 (部分一致)、コンポーネント名 (完全一致)、ラベルで絞り込み ◦ Hierarchy Windowで「Rigidbody」と検索すればプレイヤーキャラが絞れる •

    Inspector Window で変数の値をチェック ◦ プロパティをランタイムで確認・編集が可能 ▪ より多くの情報を得るには「 ...」 > Debug 切り替え ◦ 回復アイテムで本当に hpが増えたか確認できる 便利な デバッグ方法
  6. 別紙「【Part1】出題シート action game development with Unity」p1 ゴール:拾った「回復アイテム」をアイテムバッグから使えるようにする • アイテム回収ができた人はその続きから実装しましょう ◦

    終わったらチームで1つプルリクを出してください • @todo は自分で考えて実装しましょう • 資料の太字部分は、「classに追加」 or 「関数に追記」の指示に従って写しましょう • 出来たらConsole Windowのログをチェックしてみましょう。 【出題】 回復アイテム の使用 (20min)
  7. • コルーチンとは ◦ 非同期処理のための仕組み ◦ 処理の途中で様々なタイミングを待機できる。フレームの終わり/指定秒数etc… ◦ https://docs.unity3d.com/Manual/Coroutines.html • Unityでのコルーチン実装例、5秒待機してログ出力

    ◦ MonoBehaviourを継承したクラスに書く ◦ コルーチンの返り値はIEnumerator (C#の反復処理の仕組みをUnityコルーチンが利用している) ◦ 開始はStartCoroutine()、停止はStopCoroutine() 【Intro】 手錠アイテム の実装 Coroutine IEnumerator Wait5Sec() { Debug.Log("コルーチン開始"); yield return new WaitForSeconds(5f); Debug.Log("5秒経過、コルーチン終了 "); } mycoroutine = StartCoroutine(Wait5Sec()) StopCoroutine(mycoroutine) コルーチンの実装 コルーチンの開始 コルーチンの停止
  8. 【出題】 手錠アイテム の使用 (40min) 別紙「【Part1】出題シート action game development with Unity」p2-3

    ゴール:アイテム「手錠」を使って他のプレイヤーを拘束する • アイテム回収ができた人はその続きから実装しましょう ◦ できたらチームで1つプルリクを出してください • @todo は自分で考えて実装しましょう • 資料の太字部分は、「classに追加」 or 「関数に追記」の指示に従って写しましょう • 「n秒経ったら手錠が解除される」を実現するために、コルーチンを使ってみましょう