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
610
アバター配信アプリ『Vフレット』 でVRM 1.0対応をしてみる
nkjzm
1
350
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
470
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.6k
Other Decks in Technology
See All in Technology
AIレビューはどこまで任せられるのか?自動化と人が背負うレビューの境界
sansantech
PRO
2
720
DMM.com 購入改善推進チーム におけるCodeRabbitを用いた レビューフロー改善の一例
ysknsid25
2
620
「ちゃんとやっている」は独りよがりだった ― 不安に寄り添うインシデント対応へ / Towards incident response that addresses anxieties
chmikata
1
5k
穢れた技術選定について
watany
3
310
オブザーバビリティ、本当に活用できてる? 〜API連携×生成AIで成熟度を自動評価〜
dmmsre
1
3k
Compose 新機能総まとめ / What's New in Jetpack Compose
yanzm
0
160
しくみを学んで使いこなそう GitHub Copilot app
torumakabe
2
230
ローカルLLMとLINE Botの組み合わせ その3 / LINE DC Generative AI Meetup #8
you
PRO
0
130
kintone の AI コワーカーを、 Anthropic にエージェントを"ホストさせて"作った話 #devkinmeetup
sugimomoto
0
100
LLM/Agent評価:トップ営業の発言を「正解」にする 〜暗黙的正解による評価を営業資産に変える〜
takkuhiro
1
210
最適な自走を最小限の支援で — M&Aで拡大する組織で少人数SREが挑んだ1年 / SRE NEXT 2026
genda
0
1.1k
SREとQA 二人三脚で進めるSLO運用/sre-qa-slo
sugitak
0
450
Featured
See All Featured
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
170
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
30 Presentation Tips
portentint
PRO
1
350
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
Product Roadmaps are Hard
iamctodd
55
12k
How to Think Like a Performance Engineer
csswizardry
28
2.7k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.1k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
62
44k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
420
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.6k
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
ご清澄いただき ありがとうございました