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
VRゲーム開発を支えた自動ビルドと自動プレイ
nkjzm
January 13, 2021
More Decks by nkjzm
See All by nkjzm
個人iOSアプリ開発で使っているClaude Code Hooksの紹介
nkjzm
0
570
アバター配信アプリ『Vフレット』 でVRM 1.0対応をしてみる
nkjzm
1
330
VRMアバターでギターの弾き語りがしたい!! 『Vフレット』の開発で考えたこと
nkjzm
0
570
『ALTDEUS: Beyond Chronos』で物語に没入できる操作感を実現するマルチプラットフォーム対応の道のり / The path to multi-platform support for immersive storytelling in ALTDEUS: Beyond Chronos
nkjzm
0
380
『ALTDEUS: Beyond Chronos』におけるマルチプラットフォーム向けコントローラーの対応 / Support for multi-platform controllers in "ALTDEUS: Beyond Chronos
nkjzm
0
460
Unityで使える汎用的な ハンバーガーメニューの実装 / UniHamburger
nkjzm
3
1.5k
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.5k
Other Decks in Technology
See All in Technology
さきさん文庫の書籍ができるまで
sakiengineer
0
320
Javaコミュニティをもっと楽しむための9箇条
takasyou
0
740
Fabric-cicd によるAzure DevOps デプロイ
ryomaru0825
0
160
ITエンジニアを取り巻く環境とキャリアパス / A career path for Japanese IT engineers
takatama
4
1.8k
AI時代から振り返るTerraform drift運用の歴史 / AI Age Reflections on the History of Terraform Drift Operations
aeonpeople
0
610
AI Adaptable なテストを整える工夫 / Ways to Make Your Tests AI-Adaptable
bitkey
PRO
2
180
脅威をエンジニアリングの糧にして:恐怖を乗り越えた先にあったもの / Turn threats into fuel for engineering: what lay beyond overcoming fear
nrslib
1
360
速さだけじゃない! VoidZero ツールが移行先に選ばれる理由
mizdra
PRO
6
700
Anthropic AIネイティブ・スタートアップ構築のプレイブック を理解する
nagatsu
0
230
Databricks 月刊サービスアップデート 2026年05月号
tyosi1212
0
120
はじめてのDatadog
kairim0
0
240
『家族アルバム みてね』における インシデント対応との向き合い方 / Approach incident response in Family Album
kohbis
2
280
Featured
See All Featured
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
180
Amusing Abliteration
ianozsvald
1
190
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
240
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
200
How to build a perfect <img>
jonoalderson
1
5.5k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
How to Think Like a Performance Engineer
csswizardry
28
2.6k
[SF Ruby Conf 2025] Rails X
palkan
2
1.1k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.7k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.5k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
22k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
290
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
ご清澄いただき ありがとうございました