バンタンゲームアカデミー Unity ネットワーク実習を行ってきました。自分のまとめです。
Fun・Done・Learn 形式でまとめてみます。→ Fun・Done・Learn が気になる方は、こちらよかったです DX を加速する「ふりかえり」:KPT と Fun Done Learn の活用法
Fun 楽しかったこと
#バンタンゲームアカデミー でネットワーク基礎という短期集中授業を今年度担当中です!#Unity から地道に HTTP で #GitHub CodeSpaces で作ったサーバにつないで送受信の両方からやりとりをみて学んでいきます! pic.twitter.com/IFh05f85Ae
— Tanaka Seigo (@1ft_seabass) August 4, 2023
8 月から 9 月に短期集中授業で Unity での ネットワーク実習を行いました。自分も Web 技術を学んでいくときに役に立った、通信の送受信の両側からデータの流れを把握することを、今回は GitHub CodeSpaces で作ったサーバにつないで送受信の両方からやりとりをみて学ぶ授業です。
今回は 2 年生は午後・ 3 年生は午前と同じカリキュラムで行いましたが、いろいろとつながる楽しさを伝えることができました。
#バンタンゲームアカデミー で8月9月と特別授業してきたネットワーク基礎の授業もいよいよ最後の成果発表!昨日は展示しつつブラッシュアップしてました。
成果発表ではスライド出しつつプレゼンいただきます。私はコミュニティーイベントの司会ばりにファシリテーション(仕切り)しますよ! #Unity pic.twitter.com/BKeCUN7Cqd— Tanaka Seigo (@1ft_seabass) September 14, 2023
LINE Notify や ChatGPT への接続もカリキュラムに組み込み、最後の成果発表会では外部とつながって自分のコンテンツがより面白くなるような事例がいっぱい出てきて楽しかったです。
また、昨年に行った API 特別授業からのオファーというのが今回の授業の流れなので、単発の登壇ごとではなく授業としてナレッジを伝える仕組みに仕上げられてうれしかったです!
Done やりきったこと
わかりやすい成果物としては、こちらの授業資料です。
https://1ft-seabass.github.io/vantan-2023-unity-network-tseigo/
Honkit + GitHub Pages を利用して作っていますが、このあたりはだいぶナレッジが整って、学ぶ体験としてはよいものにできたと思っております。
その他、やり切ったこととしては Slack のコミュニケーションでした上記の資料にすべて載せる形で、成果発表会の中身や、さまざまなソースコードなど集約できたことは運営上もやりやすかったです。
Learn 学んだこと
学んだことはいろいろありましたが、一番の学びは Unity C# が得意な制作者にとっては、GitHub Codespaces 側で Node.js (JavaScript) で挙動が自由に変えられるとしても新しく言語を覚える形になってしまい、そこまではなかなかアクションが起きない。ところです。
そんな空気感を感じていたので、成果発表会までの間に、C# 側から直接アクセスできるような Airtable の仕組みをお知らせしたり、追加のナレッジを伝えるように努めました。
出来上がった時の様子。セキュリティ的には難はあるものの、サッと作るプロトタイピング的には大事な要素なので、内々の発表というところではアリという流れにしました。もちろん、このように注意点は話しつつです。
もしかすると、Node.js を無理に推さず GitHub Codespaces で建てた Node-RED を使うようなローコードのとっつきやすさや、データの流れが見えやすいことを優先する教え方もあり得そうだなと感じました。
とはいえ、こういったネットワークの情報とかかわる制作は、いまのゲーム制作の現場であれば身近にありそうですし、今回の授業で体験したり伝えたことは、初見でびっくりしないでやってみるようなマインドセット醸成ができました。
その他には Airtable が無料でいろいろやれるところが推しだったんですが、授業中にプランの大変更で無料で使う枠がすごく少なくなってしまいました、今回は制作への影響はギリギリ大丈夫でしたが、もし次回がある場合は、ちゃんと Google スプレッドシートの API キーを発行するなどして運用するアプローチもよさそうです。
その他の学びとしては
- Unity でのデータのやりとりでは JSON パースや作成は馴染みが薄いので重点的にやるとよさそう
- サンプルプロジェクトにスクリプトをたくさん用意する形にしたが、説明の流れ的にはソースコードは資料に乗せたほうがよさそう
- GitHub Codespaces 初挑戦だったが Free ユーザーでの使用時間リミット切れは、この授業の規模感では大丈夫そう
- 成果発表会で、成果を聞いたあとの好評は 5 分でなく 10 分くらいあってもよさそう
- Google ドライブへの API データアクセスはしっかり検証しないと思わぬアクセス制約やデータリミットに引っかかるので慎重に
- 成果発表会で大きく作る前に、小さい仕組みにネットワークを組み込ませる流れもやると Unity での慣れが生まれやすそう
- ChatGPT の 3D コンテンツへの組み込みは色々と発想が湧きやすそうなのでよかった
などなど、ありました。もしまた機会があれば、こういった学びを授業に活かしていきたいです。