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
Nakaji Kohki
January 13, 2021
Technology
2
1.9k
VRゲーム開発を支えた自動ビルドと自動プレイ
Nakaji Kohki
January 13, 2021
Tweet
Share
More Decks by Nakaji Kohki
See All by Nakaji Kohki
アバター配信アプリ『Vフレット』 でVRM 1.0対応をしてみる
nkjzm
1
210
VRMアバターでギターの弾き語りがしたい!! 『Vフレット』の開発で考えたこと
nkjzm
0
470
『ALTDEUS: Beyond Chronos』で物語に没入できる操作感を実現するマルチプラットフォーム対応の道のり / The path to multi-platform support for immersive storytelling in ALTDEUS: Beyond Chronos
nkjzm
0
340
『ALTDEUS: Beyond Chronos』におけるマルチプラットフォーム向けコントローラーの対応 / Support for multi-platform controllers in "ALTDEUS: Beyond Chronos
nkjzm
0
410
Unityで使える汎用的な ハンバーガーメニューの実装 / UniHamburger
nkjzm
3
1.3k
20時間超の物語をVRで!『ALTDEUS: Beyond Chronos』の制作を支えた”Uranus”の制作過程と機能紹介 [CEDEC2021] / Introduction of ALTDEUS' VR ADV tool "Uranus", CEDEC2021
nkjzm
1
2.4k
withコロナに見るXR業界のイマ! [CEDEC2021] / XR NOW CEDEC2021
nkjzm
3
1.8k
VRプロダクト開発ラウンドテーブル2021
nkjzm
0
1.4k
Unityでチャットに使えるモバイルキーボードの実現
nkjzm
2
5.4k
Other Decks in Technology
See All in Technology
20250708オープンエンドな探索と知識発見
sakana_ai
PRO
4
1k
Four Keysから始める信頼性の改善 - SRE NEXT 2025
ozakikota
0
420
サービスを止めるな! DDoS攻撃へのスマートな備えと最前線の事例
coconala_engineer
1
180
今だから言えるセキュリティLT_Wordpress5.7.2未満を一斉アップデートせよ
cuebic9bic
2
170
20250718_ITSurf_“Bet AI”を支える文化とコストマネジメント
helosshi
0
100
ポストコロナ時代の SaaS におけるコスト削減の意義
izzii
1
470
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
13k
Snowflake Intelligenceという名のAI Agentが切り開くデータ活用の未来とその実現に必要なこと@SnowVillage『Data Management #1 Summit 2025 Recap!!』
ryo_suzuki
1
160
SREの次のキャリアの道しるべ 〜SREがマネジメントレイヤーに挑戦して、 気づいたこととTips〜
coconala_engineer
1
4.4k
セキュアなAI活用のためのLiteLLMの可能性
tk3fftk
1
340
データ戦略部門 紹介資料
sansan33
PRO
1
3.3k
[SRE NEXT] ARR150億円_エンジニア140名_27チーム_17プロダクトから始めるSLO.pdf
satos
5
3k
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
A Modern Web Designer's Workflow
chriscoyier
695
190k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
The World Runs on Bad Software
bkeepers
PRO
70
11k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
54k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
The Invisible Side of Design
smashingmag
301
51k
GraphQLとの向き合い方2022年版
quramy
49
14k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
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
ご清澄いただき ありがとうございました