Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
VRゲーム開発を支えた自動ビルドと自動プレイ
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
nkjzm
January 13, 2021
Technology
2.2k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
VRゲーム開発を支えた自動ビルドと自動プレイ
nkjzm
January 13, 2021
More Decks by nkjzm
See All by nkjzm
個人iOSアプリ開発で使っているClaude Code Hooksの紹介
nkjzm
0
620
アバター配信アプリ『Vフレット』 でVRM 1.0対応をしてみる
nkjzm
1
350
VRMアバターでギターの弾き語りがしたい!! 『Vフレット』の開発で考えたこと
nkjzm
0
580
『ALTDEUS: Beyond Chronos』で物語に没入できる操作感を実現するマルチプラットフォーム対応の道のり / The path to multi-platform support for immersive storytelling in ALTDEUS: Beyond Chronos
nkjzm
0
390
『ALTDEUS: Beyond Chronos』におけるマルチプラットフォーム向けコントローラーの対応 / Support for multi-platform controllers in "ALTDEUS: Beyond Chronos
nkjzm
0
470
Unityで使える汎用的な ハンバーガーメニューの実装 / UniHamburger
nkjzm
3
1.6k
20時間超の物語をVRで!『ALTDEUS: Beyond Chronos』の制作を支えた”Uranus”の制作過程と機能紹介 [CEDEC2021] / Introduction of ALTDEUS' VR ADV tool "Uranus", CEDEC2021
nkjzm
1
2.6k
withコロナに見るXR業界のイマ! [CEDEC2021] / XR NOW CEDEC2021
nkjzm
3
1.9k
VRプロダクト開発ラウンドテーブル2021
nkjzm
0
1.6k
Other Decks in Technology
See All in Technology
Master Dataグループ紹介資料
sansan33
PRO
1
4.8k
plamo-3-translateの開発
pfn
PRO
0
270
toio・myCobotでフィジカルAIっぽいことを行うための検討(とりあえず調査) / フィジカルAI LT(IoTLTによる開催)
you
PRO
0
280
変化の早いClaude Codeを 書籍に落とし込む
oikon48
6
1.2k
【CEDEC2026】『GRANBLUE FANTASY: Relink - Endless Ragnarok』のバトル制作事例 ~最高のキャラゲーを目指して~
cygames
PRO
0
190
[MIRU26] To What Extent Does MLLM-as-a-Judge Exhibit Cross-Model Preference Bias?
keio_smilab
PRO
0
200
PLaMoを毎日の開発で使い育てていく
pfn
PRO
0
180
LLMリーダーボードアップデートに向けたAgentic Math_SWEのトレースについて
nejumi
0
210
名古屋の市バスGTFS-JPデータ×スガキヤ 最寄りバス停検索をAmazon ElastiCache Serverless for Valkeyで最適化する
usanchuu
1
260
オートロックマンションなのに、各部屋は施錠なし!? 攻撃者が組織内ネットワークで大暴れする理由 / The Front Door Is Locked, but the Rooms Are Wide Open: Why Attackers Move Freely Inside Enterprise Networks
nttcom
0
1.5k
もう一度考える SRE チームの作り方・育て方 / Rethinking SRE #1: Building and Growing SRE Teams
rrreeeyyy
5
970
Forza Horizon 6 のテレメトリ機能で 自動運転に使えそうな学習データを集める話
henjin0
0
120
Featured
See All Featured
First, design no harm
axbom
PRO
2
1.2k
Optimising Largest Contentful Paint
csswizardry
37
3.9k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
430
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
240
Claude Code のすすめ
schroneko
67
230k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
370
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
350
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
230
A designer walks into a library…
pauljervisheath
211
24k
Paper Plane
katiecoart
PRO
2
52k
Transcript
None
なかじ 略歴 → メルカリ → 現在 書籍 技術評論社『 エンジニア養成読本』共著 作品
『 』『至近距離ガール 』 日本バーチャルリアリティ学会認定 上級 技術者 専門学校の先生( エンジニア専攻) エンジニア系勉強会のオーガナイザー 『 』のパーソナリティ ~0:30
• ◦ 想定時間20時間のVRゲーム ◦ Oculus Quest/Rift/他 ◦ ADV + インタラクション
• 開発中のCIの仕組みを紹介 ◦ 自動ビルドと自動プレイ • (Unityの話はあまりないかも…) ~1:00
None
• GitHubにpushするとJenkinsのジョブ(処理の単位)が動く ◦ ジョブが動くと自動的にビルドとテストが実行 ▪ プラットフォーム毎 ▪ 設定毎(debud/ staging /
release) • ビルド失敗→ ビルドログをSlackに通知 • ビルド成功→ NASと各プラットフォームにアップロード ➡ Pushした数分後にVRHMD実機で動作確認が可能に! ~1:30
社内の物理マシン ~2:00
• Jenkinsを採用 ◦ Pros ▪ 物理マシンなのでトラブル調査がしやすい ▪ バッチ書きやすい (ADXのOBB化 /
エラーログ転送 / アップロードツール) ▪ NASへのアクセスが容易 ◦ Cons ▪ Slackからコマンド叩くなどが面倒 ~3:00
• 定期的にPollingして実行 • CLIでUnityのメソッドを呼べる ◦ ビルドとテストを実行 ◦ • 結果に応じて後続ジョブが実行 •
Slackに通知する(右図) ~4:00
• ジョブ毎のビルド設定機能 ◦ ScriptableObjectで実現 ◦ Platform / Symbols/ Build Options,
etc • エディタ上でも設定の切り替え等が可能 ~5:00
• 後続ジョブを実行してバッチ処理を叩く ◦ Parameterized Triggerプラグインで引数を渡す • Oculusだとコマンドラインツールが提供されている ~5:30
None
• バッチでNAS上にある最新ビルドを定期的に自動起動 ◦ 3倍速で自動進行してクリアまで進めてくれる • プレイログ/クリアログをSlackに通知 • プレイの様子をOBSでストリーミング配信 ◦ 配信サービスの規約的にOKであるか確証がないので念のため伏せる
◦ Slackで「配信くれ」というとURL教えてくれる ~6:30 ➡ 常に進行不能等の不具合が、自動的に早期に検知できる
• バッチでNAS上にある最新ビルドを定期的に自動起動 ◦ 3倍速で自動進行してクリアまで進めてくれる • プレイログ/クリアログをSlackに通知 • プレイの様子をOBSでストリーミング配信 ◦ 配信サービスの規約的にOKであるか確証がないので念のため伏せる
◦ Slackで「配信くれ」というとURL教えてくれる ~6:30 ➡ 常に進行不能等の不具合が、自動的に早期に検知できる Oculus Rift 自動プレイの様子
• バッチをループ • 一定時間毎に プロセス起動と終了 ビルドジョブの完了を トリガーにしたかったが 権限的にexeの実行が うまくいかなかった ~7:30
~0:30
• インタラクションの種類毎にDEFINE切って スクリプト経由で腕を動かす力技 • オークマネコ氏が書いてくれた ~0:30
• Oculus Riftは 動かさずに放置すると スリープしてしまう →スマホのアラームで 時々振動させて防ぐ ~0:30
None
• ◦ 修正→確認のサイクルが頻繁なテスト期間は特に有益 • ◦ コミット -> エラー通知がくる -> 配信で情報を確認
◦ 最後までプレイできる状態が担保されて精神的に良い ~0:30
エンジニアなかじ ~0:30
ご清澄いただき ありがとうございました