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
ゲームタイトル開発側と サーバー基盤の連携事例の紹介
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
COLOPL Inc.
September 28, 2023
Technology
1.8k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ゲームタイトル開発側と サーバー基盤の連携事例の紹介
COLOPL Inc.
September 28, 2023
More Decks by COLOPL Inc.
See All by COLOPL Inc.
Claude Code 再入門 会話の渡し方の4つの道具 - Claude Codeスキル・ハーネス社内勉強会
colopl
0
430
Copilot / Claude Code 両方で使えるスキル・ハーネスの紹介 - Claude Codeスキル・ハーネス社内勉強会
colopl
0
570
実務で動くAIエージェントを作ろう!MCP×Mastraをライブコーディングで実践
colopl
0
490
Cloud Runでコロプラが挑む 生成AI×ゲーム『神魔狩りのツクヨミ』の裏側
colopl
0
2.7k
PHPStan をできる限り高速化してみる
colopl
1
1.4k
コロプラ最新作インフラ構成について
colopl
0
390
Cloud Spanner 導入で実現した快適な開発と運用について
colopl
1
2.5k
コロプラのオンボーディングを採用から語りたい
colopl
7
2.9k
怖くない!ゼロから始めるPHPソースコードコンパイル入門
colopl
1
1k
Other Decks in Technology
See All in Technology
Kiro Meetup #8 Kiro アップデート (2026/3/21〜2026/9/24)
katzueno
1
200
Harness Engineering on Rails
joelq
0
460
ScotSecure West 2026 - Glasgow
raybugg
0
160
あけおめLINE 傾向とその対策
nasa9084
0
320
「ピッケル本」日本語版は4.0(第6版)が出版されるべき / pickaxe4-nagoyark05
kakutani
2
290
beyond jj: config & tools ecosystem
indirect
0
6k
リアーキテクチャ後の障害ゼロを目指したShadow Testingの取り組み
nihonbuson
PRO
1
180
SREへの勘違いに気づいた後の話
tomodakengo
0
150
AIエージェントの自己改善をどう設計するか / How to Design Self-Improvement for AI Agents
22mi
27
17k
顧客に向き合う開発組織へ。リアーキテクチャとフィーチャーチーム化で挑む組織改革
safie
0
2.4k
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
12k
【技術的負債conf】事業成長に伴う技術的負債の説明責任とAIによるモニタリング、認知的負債について
i35_267
4
2.1k
Featured
See All Featured
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1.1k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
770
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
67
58k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
Producing Creativity
orderedlist
PRO
348
41k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
680
Build your cross-platform service in a week with App Engine
jlugia
234
19k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
550
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.9k
The untapped power of vector embeddings
frankvandijk
2
1.9k
Transcript
ゲームタイトル開発側と サーバー基盤の連携事例の紹介 薮智仁
2 経歴 1. 2019年:新卒入社 2. 運用ゲームタイトル2年 3. 新規ゲームタイトルローンチ + 運用移行
4. 新規ゲームタイトル開発2年 ← Now ! 氏名 : 職種 : 所属 : 薮 智仁 サーバーサイドエンジニア 技術基盤本部 第3バックエンドエンジニア部 マネージャー補佐 自己紹介
3 お話しすること ゲームタイトル開発側とサーバー基盤の 過去の相談や連携事例を3つご紹介
4 〜 ① Slack 相談編 〜
5 ① Slack 相談編 〜とあるゲームタイトルのエンジニア Slack チャンネルにて〜
6 ① Slack 相談編 〜とあるゲームタイトルのエンジニア Slack チャンネルにて〜
7 ① Slack 相談編 〜とあるゲームタイトルのエンジニア Slack チャンネルにて〜
8 Slack ならではの 気軽な流れでサーバー基盤チームに相談できる! ① Slack 相談編
9 〜 ②コントリビュート編 〜
10 ②コントリビュート編 〜GitLab の issue にて提案してコントリビュート〜
11 ②コントリビュート編 〜GitLab の issue にて提案してコントリビュート〜
12 ②コントリビュート編 問題:Model::push() の標準実装がループで Model::save() を呼んでおりN+1クエリになっていた $user->push(); // INSERT INTO
UserItem (userId, itemId, amount) VALUES ('user1', 1, 2); // INSERT INTO UserItem (userId, itemId, amount) VALUES ('user1', 2, 5); // UPDATE UserItem SET amount = 10 WHERE userId = 'user1' AND itemId = 3; // UPDATE UserItem SET amount = 10 WHERE userId = 'user1' AND itemId = 4;
13 ②コントリビュート編 問題:Model::push() の標準実装がループで Model::save() を呼んでおりN+1クエリになっていた $user->push(); // INSERT INTO
UserItem (userId, itemId, amount) VALUES ('user1', 1, 2); // INSERT INTO UserItem (userId, itemId, amount) VALUES ('user1', 2, 5); // UPDATE UserItem SET amount = 10 WHERE userId = 'user1' AND itemId = 3; // UPDATE UserItem SET amount = 10 WHERE userId = 'user1' AND itemId = 4; 対応:複数モデルを一括で保存するよう Model::push() の中身をオーバーライド $user->push(); // INSERT INTO UserItem (userId, itemId, amount) VALUES ('user1', 1, 2), ('user1', 2, 5); // UPDATE UserItem SET amount = 10 WHERE userId = 'user1' AND itemId IN (3, 4);
14 ②コントリビュート編 問題:Model::push() の標準実装がループで Model::save() を呼んでおりN+1クエリになっていた $user->push(); // INSERT INTO
UserItem (userId, itemId, amount) VALUES ('user1', 1, 2); // INSERT INTO UserItem (userId, itemId, amount) VALUES ('user1', 2, 5); // UPDATE UserItem SET amount = 10 WHERE userId = 'user1' AND itemId = 3; // UPDATE UserItem SET amount = 10 WHERE userId = 'user1' AND itemId = 4; 対応:複数モデルを一括で保存するよう Model::push() の中身をオーバーライド $user->push(); // INSERT INTO UserItem (userId, itemId, amount) VALUES ('user1', 1, 2), ('user1', 2, 5); // UPDATE UserItem SET amount = 10 WHERE userId = 'user1' AND itemId IN (3, 4); ゲームタイトルのコードはそのままでDB負荷を軽減! 🥳
15 OSSへのコントリビュートより ハードルが低いので練習として最適! ②コントリビュート編
16 〜 ③他タイトルとの議論編 〜
17 ③他タイトルとの議論編
18 ③他タイトルとの議論編 他ゲームタイトルのエンジニアからも意見が!
19 ③他タイトルとの議論編 意見も反映した上でマージリクエストを作ってみる テストコードの実装 + メンテがかなり楽に! 🥳
20 まとめ ゲームタイトル開発側とサーバー基盤で 連携することにより ゲームの開発効率を向上していっています!