271 Views
March 28, 25
スライド概要
2025/03/06に開催されたイベント、「ぷちTechCon for Unity」 で発表したスライドです。
イベント概要:https://dena.connpass.com/event/339748/
温泉に入れるモバイルハッカソン「SPAJAM」に新卒エンジニア5人で参加した際の体験について紹介します。
Unity as a Library を選定した経緯やハッカソン参加で得た学びなどについてまとめました。
DeNA が社会の技術向上に貢献するため、業務で得た知見を積極的に外部に発信する、DeNA 公式のアカウントです。DeNA エンジニアの登壇資料をお届けします。
新卒Unityエンジニアの モバイルハッカソン体験記 〜温泉を添えて〜 © DeNA Co., Ltd. 1
目次 1 背景 2 つくったもの 3 作業 〜アイデア編〜 4 作業 〜実装編〜 5 ふり返り © DeNA Co., Ltd. 2
背景 © DeNA Co., Ltd. 3
1 - モバイルハッカソン「SPAJAM」とは 「温泉でハッカソン」をテーマに行われる モバイルハッカソン - 当日発表されるテーマに沿ったモバイルアプリ を土日2日間で開発する - 予選はリアルとオンライン、本選は 箱根 の 温泉地で開催される © DeNA Co., Ltd. https://spajam.jp/ 4
シリコンバレーへの道のり 1 予選 本選 シリコン バレー 全国各地で合計6回 予選を勝ち抜いた9チーム 本選の最優秀チーム © DeNA Co., Ltd. 5
つくったもの © DeNA Co., Ltd. 6
2 本選の概要 - 今回のテーマは「ととのう」 - ぼくたちは「バランスをととのえ、チームワークをととのえる」 というコンセプトでゲームを作成 © DeNA Co., Ltd. 7
つくったものの概要 勇者の盤を操作し、秘宝を手にいれろ! ○ ○ ○ ○ 4人で集まって 、スマホを4つ用意 みんなでスマホを並べて 、ゲームの準備 4人で協力して、勇者の盤を傾けて 操作しよう そうして勇者の盤の権能を利用し、秘宝を手に入れろ!
デモンストレーション動画
作業 〜アイデア編〜 © DeNA Co., Ltd. 10
3 「ととのう」に圧倒される 「ととのう」ってなんだ!? © DeNA Co., Ltd. 11
3 © DeNA Co., Ltd. 迷走 (温泉に入ったりもした) 12
3 着地 - やっぱりモバイルならではの機能を使いたいよね! - センサー使いたい! - スマホの傾きで バランスを整える みたいなのどう? - みんなのスマホを持ち寄って通信する感じにしたい! 試しに下敷きとストラップで遊んでみたら面白かったのでこの路線で決定! © DeNA Co., Ltd. 13
作業 〜実装編〜 © DeNA Co., Ltd. 14
4 © DeNA Co., Ltd. 画面遷移 15
技術選定 4 ● ● ベースはiOSでやろう! ○ チーム内に強力なiOSエンジニアがいた ○ P2P通信の実装を予選で経験していた 3D表現の部分ではUnityを取り入れよう! → ベースはSwift, Unity部分は Unity as a Library を利用することに決定 © DeNA Co., Ltd. 16
4 Unity as a Library Unity as a Libraryとは? Unityで開発した機能をネイティブアプリに組み込むことができる技術 → モバイルエンジニアとUnityエンジニアが入り混じっていた我々に適していた! 参考 © DeNA Co., Ltd. Unity as a Library Unityを組み込んだiOSアプリにおける、UXも考慮した開発 unity-swiftui (参考にさせていただいたサンプルコード) 17
描画範囲の決定 4 - 位置に応じて部屋に入る順番を固定し、その順番によってどこを描画するか決定 各スマホは同じシーンの別部分を描画 (穴の位置は固定) 1番目スマホの映像 © DeNA Co., Ltd. 2番目スマホの映像 18
ボール位置の同期 4 ボール位置はホスト機の傾きを共有し、 各自で 計算 - どんどんズレたのでこれは反省点 - 位置の計算はホストのみで実行して定期的に同期したい - © DeNA Co., Ltd. 値の共有の部分で時間がかかった 19
ふり返り © DeNA Co., Ltd. 20
5 学び 1. 実装する前に楽しさを検証する大切さ - 楽しさに確信を持てた - 完成図の共通認識ができた → より道を楽しむことの価値 2. Unity as a Library とハッカソンの相性 ハッカソンでは技術的な背景が違うメンバーが集まることも多い... Unityエンジニアとモバイルエンジニアの共同作業がやりやすい! © DeNA Co., Ltd. 21
5 参考 - SPAJAM: https://spajam.jp/ - unity-swiftui: https://github.com/bdeweygit/unity-swiftui © DeNA Co., Ltd. 22