Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
マップゲーム SDK AROW とその運用を支える AWS の構成 / AROW with AWS
Search
Ryuichi Jinushi
September 19, 2019
Programming
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
マップゲーム SDK AROW とその運用を支える AWS の構成 / AROW with AWS
こちらで LT したスライドです。
https://gamingtechnight.connpass.com/event/141156/
Ryuichi Jinushi
September 19, 2019
More Decks by Ryuichi Jinushi
See All by Ryuichi Jinushi
非エンジニアにも分かる UniRx(ゆにあーるえっくす)/ UniRx for non-engineers
ryuj
1
72
マップゲーム SDK 競合の話 / arow and other map game sdk
ryuj
0
1.1k
少人数の SDK 開発を支えるテストの話 / tests for small group development
ryuj
0
610
位置情報を用いたモバイルゲームが 気軽に作れる 3D リアルマップサービス 「AROW」について (実践編) / how to AROW practice at Gotanda.unity #11
ryuj
0
78
技術書のすゝめ / suggestion of technical book
ryuj
0
93
Other Decks in Programming
See All in Programming
DroidKaigi 2026 「個人開発という実験場: Android エンジニアが手にする4つの自由」
slashnephy
0
230
新人はどこまで自力でやり、どこからAIに頼るべきか/エンジニア育成に向き合う_先輩たちの悩みと知見共有会
toppan_digital_dev
1
610
Claude Codeを組織的に動かして月400PRを実現した話
happy_ryo
0
270
GKE アップグレード前に知っておきたい Blue/Green と PDB の関係
stkk
0
160
AGENTS.md Is Not Enough:Build Skills, Don't Download Them
lx_t
0
110
AHC070解法紹介
eijirou
0
110
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
5
6.4k
Swift愛好会と私(ウホーイ) / Swift Fan Club and Uhooi
uhooi
0
150
デプロイ直後のレイテンシスパイクを調べたら、 Railsの仕様にたどり着いた
nhsykym
0
120
『寄り添うラジオ』をAIで作る 体験価値から逆算した、会話しないUXと品質設計
theoriatec2024
3
160
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
700
選挙速報を多くのユーザーへ 届ける Live Activities 設計
hamayokokuririn
0
130
Featured
See All Featured
Are puppies a ranking factor?
jonoalderson
2
3.9k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
460
WCS-LA-2024
lcolladotor
0
830
Navigating Team Friction
lara
192
16k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
Building the Perfect Custom Keyboard
takai
2
870
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
500
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Six Lessons from altMBA
skipperchong
29
4.5k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
380
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
490
Transcript
Copyright Drecom Co., Ltd. All Rights Reserved. マップゲーム SDK AROW
と その運用を支える AWS の構成 株式会社ドリコム / DRIP 部 / 地主龍一
Copyright Drecom Co., Ltd. All Rights Reserved. だれ? 地主龍一(Ryuichi JINUSHI)
• じぬ / ryuj / @reximology • DRIP 部(新規開発部署) • AROW リードエンジニア 最近 • キングダムハーツ3 • オクトパストラベラー
Copyright Drecom Co., Ltd. All Rights Reserved. アジェンダ • AROW
の概要 • AWS の活用 • SDK デモ • SDK の機能紹介
Copyright Drecom Co., Ltd. All Rights Reserved. 本日の要点 サーバ •
サーバレス構成の実現とその工夫 クライアント • Unity SDK (AROW) でできること
Copyright Drecom Co., Ltd. All Rights Reserved. 位置情報と 3D リアルマップを用いた
アプリ開発プラットフォーム
Copyright Drecom Co., Ltd. All Rights Reserved. AROWとは
Copyright Drecom Co., Ltd. All Rights Reserved. POI(Point of Interest)
ランドマーク POI • 東京タワー • 渋谷 QFRONT • .etc カテゴリ POI • コンビニ • 病院 • .etc point of interest または POI は誰かが便利、あるいは興味のあ る所と思った特定の場所のことである。(wikipedia)
Copyright Drecom Co., Ltd. All Rights Reserved. AROW Open Test
Version https://arow.world/
Copyright Drecom Co., Ltd. All Rights Reserved. AWS の活用
Copyright Drecom Co., Ltd. All Rights Reserved. 開発者サイト
Copyright Drecom Co., Ltd. All Rights Reserved. AWS の用途 開発者サイト
• 開発者登録、認証メール • SDK、マップデータのダウンロード • ライセンストークンの発行 • ニュース一覧 その他 • ライセンス認証 • マップデータ • 機械学習の計算リソース
Copyright Drecom Co., Ltd. All Rights Reserved. AROW を利用する開発フロー
Copyright Drecom Co., Ltd. All Rights Reserved. 利用している技術 • ALB
• CloudFront • Amazon CloudWatch • Amazon SQS • AWS Lambda • AWS Step Functions • Ruby on Rails • Terraform
EC2 (Web) EC2 (Web) EC2 (Web) リクエスト CloudFront ALB ①
/dynamic_contents/* Default S3 ② /api/* W AF W AF DynamoDB SQS Webサーバー関連 RDS S3 ① S3 ③ Lambda① SES
ALB ② ライセンス認証関連 リクエスト Lambda② Lambda② Lambda② DynamoDB Kinesis S3
Copyright Drecom Co., Ltd. All Rights Reserved. ストレージ S3 •
マップデータ(arowmap) • POI データ(json) • Unity SDK(unitypackage) • マップデータ編集ツール(C#)
Copyright Drecom Co., Ltd. All Rights Reserved. サーバレス構成 用途 •
MAU 計算 • ライセンス認証 補足 • 利用データは S3 で保持 • lambda + CloudWatch/SQS • ユーザ関連なのでスケーリングも考慮
Copyright Drecom Co., Ltd. All Rights Reserved. 特徴 • CloudFront
経由で API を利用 • 静的ファイルと API のドメインを共通化
Copyright Drecom Co., Ltd. All Rights Reserved. 評価 メリット •
Cookie の SameSite 属性によるセキュリティ向上 デメリット • API レスポンスがキャッシュされないように注意 • 管理コスト キャッシュされないことは負荷試験等でも確認
Copyright Drecom Co., Ltd. All Rights Reserved. AWS 振り返り 採用理由
• 社内に実績あり • 運用の知見あり メリット • サーバーレスを駆使して JOB サーバーを静的に 設置しない設計にできた • 費用及び管理コストを抑える事ができた デメリット • 機能が多く、ある程度の知見が無いと活用が難しい
Copyright Drecom Co., Ltd. All Rights Reserved. SDK デモ
Copyright Drecom Co., Ltd. All Rights Reserved. 開発者登録
Copyright Drecom Co., Ltd. All Rights Reserved. 初期設定 • Unity
の環境設定(ランタイムバージョン変更) • unitypackage の import • サンプルリソースの生成(エディター拡張) • 詳細はドキュメント
Copyright Drecom Co., Ltd. All Rights Reserved. SDK の機能紹介
Copyright Drecom Co., Ltd. All Rights Reserved. できること 街並みを作れる •
データから建物を生成 • 建物を prefab へ置換 • 道・川・地形を生成 POI でゲーム性として取り入れる • POI を prefab で表現 • POI への接近を検知
Copyright Drecom Co., Ltd. All Rights Reserved. できること • 建物の生成
• POI の活用
Copyright Drecom Co., Ltd. All Rights Reserved. 建物編 • 実測のデータを用いるためビルの形状が多様
• メッシュの動的生成が必要
Copyright Drecom Co., Ltd. All Rights Reserved. 建物編 • 頂点配列からメッシュを生成
• 上中下階それぞれ 別々のテクスチャを設定 • 各面のタイリング幅を統一 • 面ごとに UV を丸め込んで 見切れを回避
Copyright Drecom Co., Ltd. All Rights Reserved. 建物編 旧 現在
• メッシュを分けない ように修正 • UV を積み重ねることで反 転を回避
Copyright Drecom Co., Ltd. All Rights Reserved. 建物編 インテリアマッピング
Copyright Drecom Co., Ltd. All Rights Reserved. prefab 置換 •
道に対してモデルの前方を向けると違和感がなくなる • 建物から最も近い道を探索して Rotation を調整している
Copyright Drecom Co., Ltd. All Rights Reserved. 実装の紹介
Copyright Drecom Co., Ltd. All Rights Reserved. 初期化 var data
= File.ReadAllBytes("xyz.arowmap"); var model = ArowMapObjectModel.LoadByData(data); ArowMapObjectModel • 建物・道・地形などのデータを管理 • .arowmap 関連処理のラッパ
Copyright Drecom Co., Ltd. All Rights Reserved. 建物の生成 var config
= new CreateConfig(); BuildingCreator .Builder(model.BuildingDataModels) .SetConfig(config) .SetOnMeshCreatedCallBack( /* mesh to GameObject callback */ ) .Build(); • config: 描画形式などの設定クラス • creator: 生成処理の実行クラス
Copyright Drecom Co., Ltd. All Rights Reserved. できること • 建物の生成
• POI の活用
Copyright Drecom Co., Ltd. All Rights Reserved. 渋谷 QFRONT を
prefab で表現
Copyright Drecom Co., Ltd. All Rights Reserved. POI by prefab
• ScriptableObject で設定 • POI の種類ごとに設定可能
Copyright Drecom Co., Ltd. All Rights Reserved. POI by prefab
Copyright Drecom Co., Ltd. All Rights Reserved. POI を用いたゲーム性の実現 •
登録した特定 POI への接近を検知 • 活用例 ◦ コンビニに近づいたら買い物 ◦ 病院近くにいる間は回復 ◦ 学校から離れたら敵が出現 • 3種類のコールバック ◦ 範囲内に入る時: OnAreaEnter() ◦ 範囲内にいる時: OnAreaIn() ◦ 範囲内から出る時: OnAreaExit()
Copyright Drecom Co., Ltd. All Rights Reserved. 実装の紹介
Copyright Drecom Co., Ltd. All Rights Reserved. IArowPoiVisitor // ユニティちゃんオブジェクト
var unitychan = GameObject.Find("..."); // IArowPoiVisitor の実装 var visitor = unitychan.AddComponent<PoiVisitorSample>(); • 例:ユーザが操作するユニティちゃんが監視対象 • IArowPoiVisitor の実装クラスをアタッチ このクラスで各種メソッドをオーバーライド
Copyright Drecom Co., Ltd. All Rights Reserved. ArowPoiObserver // visitor
をマップを紐付け var observer = AddComponent<ArowPoiObserver>(); observer.RegisterTarget(unitychan, visitor); observer.RegisterObservePoi( arowMapObjectModel, AROW_FILE_NAME); // PoiObserver に「商業施設」「距離50m」を設定 observer.RegisterNoticeDistance(CATEGORY_NAME, 50); • 監視対象を登録 • マップと検知したい POI を登録 • 接近の閾値となる距離を登録
Copyright Drecom Co., Ltd. All Rights Reserved. まとめ 開発者サイト •
Same Site 属性によるセキュリティ向上 • lambda + SQS でサーバレス構成 Unity SDK • 建物、道、地形の 3D 表現 • prefab による置換も可能 • POI の表現やゲーム的利用も容易
Copyright Drecom Co., Ltd. All Rights Reserved. AROW の情報 Unity
Learning Materials • https://learning.unity3d.jp/2196/ 登壇資料 • https://speakerdeck.com/ryuj/how-to-arow-practice-at-gotanda-dot- unity-number-11 ドキュメント • https://arow.zendesk.com/hc/ja/categories/360001495392-AROWス ターティングガイド • http://reference.arow.world/current/ SNS • https://twitter.com/arow3dmap • https://www.facebook.com/AROW-266389430650623/
Copyright Drecom Co., Ltd. All Rights Reserved. ご清聴ありがとうございました!
Copyright Drecom Co., Ltd. All Rights Reserved. 補足資料
Copyright Drecom Co., Ltd. All Rights Reserved. Map Tools •
SDK に同梱されているスクリプト • arowmap(マップデータ)の編集用 • 必要な POI をマップに付与 ドキュメント https://arow.zendesk.com/hc/ja/sections/360004937132-POI