SlideShare a Scribd company logo
1 of 56
Download to read offline
オンラインゲームの仕組みと⼯工夫
@imai_̲factory
はじめに
•  さいきんゲーム関連の仕事をすることが
多くなったのでオンラインゲームについ
て調べてみた。
•  の、内容を社内勉強会で発表したスライ
ド。
Citations
•  きっかけはこのセガの節政さんのCEDEC
の発表。
– http://www.4gamer.net/games/105/
G010549/20100905002/
– オンラインゲームを4つのタイプにカテゴラ
イズしつつ、それぞれの実装コンセプトを紹
介してくれている。
オンラインゲームの種類
•  完全同期型/キー⼊入⼒力力同期⽅方式
–  格ゲーなど
•  完全同期型/コマンド⼊入⼒力力同期⽅方式
–  RTS(Age  of  Empiresとか)
•  ⾮非同期型/サーバー集中処理理型
–  FPSなど(QuakeとかCounterStrikeとか)
•  ⾮非同期型/クライアント分散処理理型
–  PSU
完全同期型/キー⼊入⼒力力同期⽅方式
•  格ゲーなど
F1	
   F2	
   F3	
   F4	
   F5	
   F6	
  
PlayerA	
  
PlayerB	
  
完全同期型/キー⼊入⼒力力同期⽅方式
•  格ゲーなど
F1	
   F2	
   F3	
   F4	
   F5	
   F6	
  
キー	
  
PlayerA	
  
PlayerB	
  
完全同期型/キー⼊入⼒力力同期⽅方式
•  格ゲーなど
F1	
   F2	
   F3	
   F4	
   F5	
   F6	
  
キー	
  
PlayerA	
  
PlayerB	
  
キー	
  
完全同期型/キー⼊入⼒力力同期⽅方式
•  格ゲーなど
F1	
   F2	
   F3	
   F4	
   F5	
   F6	
  
キー	
  
PlayerA	
  
PlayerB	
  
キー	
  
双方のデータが届いてからレンダーして次のフレームの処理へ	
  
レンダー	
  
完全同期型/キー⼊入⼒力力同期⽅方式
PlayerA	
  
PlayerB	
  
キー	
  
F1/T1	
   F2/T2	
   F3/T3	
   F4/T4	
   F5/T5	
   F6/T6	
  
•  格ゲーなど
ユーザーがお互いを待ち合わせする必要があるので、レイテンシの⾼高い
ユーザーに⾜足を引っ張られる。なので⼤大きくスケールさせるのは難しい
キー	
  
レンダー	
  
•  あとはこの繰り返し。
•  60fpsの場合、1フレームは16.6666...ms
完全同期型/コマンド⼊入⼒力力同期⽅方式
•  RTSやターンベースのゲーム
さきほどと同様、お互いを待ち合う必要があるが、格ゲーなどと較べて1フレー
ムや1ターンに掛けられる時間が長いケースが多い。特にターンベースなら数
十秒や数分ということも。	
  
PlayerA	
  
PlayerB	
  
コマンド	
  
F1/T1	
   F2/T2	
   F3/T3	
   F4/T4	
   F5/T5	
   F6/T6	
  
⾮非同期型/サーバー集中処理理型
•  FPSなど
PlayerA	
  
PlayerB	
  
F1	
   F2	
   F3	
   F4	
   F5	
   F6	
  
Server	
  
F1	
   F2	
   F3	
   F4	
   F5	
   F6	
  
F1	
   F2	
   F3	
   F4	
   F5	
   F6	
  
⾮非同期型/サーバー集中処理理型
•  FPSなど
PlayerA	
  
PlayerB	
  
F1	
   F2	
   F3	
   F4	
   F5	
   F6	
  
Server	
  
F1	
   F2	
   F3	
   F4	
   F5	
   F6	
  
F1	
  
State	
  
F2	
   F3	
   F4	
   F5	
   F6	
  
State	
  
render	
  
render	
  
Snapshot	
  
まずはサーバーからPlayerに世界の状態のSnapshotが配布
されて、それをもとにそれぞれのプレイヤーマシンで画⾯面レンダリング
⾮非同期型/サーバー集中処理理型
•  FPSなど
PlayerA	
  
PlayerB	
  
F1	
   F2	
   F3	
   F4	
   F5	
   F6	
  
Server	
  
F1	
   F2	
   F3	
   F4	
   F5	
   F6	
  
F1	
  
State	
  
F2	
   F3	
   F4	
   F5	
   F6	
  
State	
  
render	
  
render	
  
Snapshot	
  
State	
  
State	
  
render	
  
render	
  
Snapshot	
  
サーバーは⾃自分のペースで次のフレームの世界のスナップショットを作り、
同じように配る
⾮非同期型/サーバー集中処理理型
•  FPSなど
PlayerA	
  
PlayerB	
  
F1	
   F2	
   F3	
   F4	
   F5	
   F6	
  
Server	
  
F1	
   F2	
   F3	
   F4	
   F5	
   F6	
  
F1	
  
State	
  
F2	
   F3	
   F4	
   F5	
   F6	
  
State	
  
render	
  
render	
  
Snapshot	
  
State	
  
State	
  
render	
  
render	
  
Snapshot	
  
Command	
  
Command	
  
同時にプレイヤーも活動を始める。プレイヤーからはコマンドがサーバーに
送られてくる。
⾮非同期型/サーバー集中処理理型
•  FPSなど
PlayerA	
  
PlayerB	
  
F1	
   F2	
   F3	
   F4	
   F5	
   F6	
  
Server	
  
F1	
   F2	
   F3	
   F4	
   F5	
   F6	
  
F1	
  
State	
  
F2	
   F3	
   F4	
   F5	
   F6	
  
State	
  
render	
  
render	
  
Snapshot	
  
State	
  
State	
  
render	
  
render	
  
Snapshot	
  
Command	
  
Command	
  
State	
  
render	
  
render	
  
Snapshot	
  
各プレイヤーのF2で送信されたコマンドは、サーバー上のF3のフレームで
処理理(当たり判定やアイテム取得判定)され、世界のスナップショットに反映され
ふたたびプレイヤーに配られる
⾮非同期型/サーバー集中処理理型
•  FPSなど
PlayerA	
  
PlayerB	
  
F1	
   F2	
   F3	
   F4	
   F5	
   F6	
  
Server	
  
F1	
   F2	
   F3	
   F4	
   F5	
   F6	
  
F1	
  
State	
  
F2	
   F3	
   F4	
   F5	
   F6	
  
State	
  
render	
  
render	
  
Snapshot	
  
State	
  
State	
  
render	
  
render	
  
Snapshot	
  
Command	
  
Command	
  
State	
  
render	
  
render	
  
Snapshot	
  
State	
  
render	
  
render	
  
Snapshot	
  
State	
  
render	
  
render	
  
Snapshot	
  
Command	
  
Command	
  
Command	
  
Command	
  
Command	
  
Command	
  
あとはその繰り返し
⾮非同期型/サーバー集中処理理型
•  FPSなど
PlayerA	
  
PlayerB	
  
F1	
   F2	
   F3	
   F4	
   F5	
   F6	
  
Server	
  
F1	
   F2	
   F3	
   F4	
   F5	
   F6	
  
F1	
  
State	
  
F2	
   F3	
   F4	
   F5	
   F6	
  
State	
  
render	
  
render	
  
Snapshot	
  
State	
  
State	
  
render	
  
render	
  
Snapshot	
  
Command	
  
Command	
  
State	
  
render	
  
render	
  
Snapshot	
  
State	
  
render	
  
render	
  
Snapshot	
  
State	
  
render	
  
render	
  
Snapshot	
  
Command	
  
Command	
  
Command	
  
Command	
  
Command	
  
Command	
  
•  Client、Serverはそれぞれ独立したクロックで動作する	
•  Clientはコマンド送信と画面描画のみを管理し、当たり判定などはサーバー側で行う。	
  
•  なので自分の発行したコマンドの結果はサーバーからの返事をまって見た目上の世界に適用
される。
⾮非同期型/サーバー集中処理理型
•  FPSなど
PlayerA	
  
PlayerB	
  
F1	
   F2	
   F3	
   F4	
   F5	
   F6	
  
Server	
  
F1	
   F2	
   F3	
   F4	
   F5	
   F6	
  
F1	
  
State	
  
F2	
   F3	
   F4	
   F5	
   F6	
  
State	
  
render	
  
render	
  
Snapshot	
  
State	
  
render	
  
Snapshot	
  
Command	
  
render	
  
Snapshot	
  
render	
  
Snapshot	
  
render	
  
Snapshot	
  
Command	
   Command	
   Command	
  
•  実際には下記のようにレイテンシの高いユーザーがいることが多い。	
  
•  そういったユーザーのから見た世界は、サーバーよりも遅れている。(ラグ)	
State	
  
render	
  
State	
  
render	
  
State	
  
render	
  
State	
  
render	
  
Command	
   Command	
   Command	
   Command	
  
•  PSU
PlayerA	
  
PlayerB	
  
F1	
   F2	
   F3	
   F4	
   F5	
   F6	
  
Server	
  
F1	
   F2	
   F3	
   F4	
   F5	
   F6	
  
F1	
  
State	
  
F2	
   F3	
   F4	
   F5	
   F6	
  
State	
  
render	
  
render	
  
Snapshot	
  
State	
  
State	
  
render	
  
render	
  
Snapshot	
  
Command	
  
Command	
  
State	
  
render	
  
render	
  
Snapshot	
  
State	
  
render	
  
render	
  
Snapshot	
  
State	
  
render	
  
render	
  
Snapshot	
  
Command	
  
Command	
  
Command	
  
Command	
  
Command	
  
Command	
  
•  Client、Serverはそれぞれ独立したクロックで動作する	
•  Client側でダメージやアイテム取得を判断して、Server側でValida@on	
  
•  サーバー側を待つ処理がより少ないので快適度があがる	
  
⾮非同期型/クライアント分散処理理型
参考 hAp://www.mmorpg.com/gamelist.cfm/game/215/view/forums/thread/104863/PSU-­‐netcode.html	
  
オンラインゲームとネットワーク
•  基本的にオンラインゲームではフレームやターンなど、そのゲーム
の単位時間ごとに各ユーザーの情報をスナップショットとして同期
している。
•  理理論論上、60fpsのゲームなら秒間60回の情報同期をすることに!
(実際にはこれを減らす様々な⼯工夫があることもわかった)
•  考えてみれば確かに当然なのだが、Web屋の⾃自分にとっては結構衝
撃的。
•  ということで、オンラインゲームはネットワークの品質や性能に⼤大
きく依存している。
オンラインゲームとレイテンシ
•  ⾮非同期型のゲームでは、クライアントは
お互いの待ち合わせを⾏行行わない
•  そのためサーバーとの通信レイテンシが
⼤大きいと⾃自分よりも世界のほうが速く進
んでしまう
•  結果として、右の絵のように、画⾯面上に
過去の世界の状態が表⽰示されてしまう
•  ⾒見見た⽬目上の位置に発砲しても実際の位置
は違うので当たらない
https://github.com/rase-‐‑‒/socket.io-‐‑‒workshop-‐‑‒full
レイテンシについての実際の調査
•  Unreal  Tournament  2003
– 3%  packet  loss  and  140ms  latency  at  
maximum
– 75ms以上だとユーザーがラギーに感じる
– 100msを超えると遊びづらくなる
T.	
  Beigbeder,	
  R.	
  Coughlan,	
  C.	
  Lusher,	
  J.	
  PlunkeA,	
  E.	
  Agu,	
  and	
  M.	
  Claypool,	
  “The	
  effects	
  of	
  loss	
  and	
  latency	
  on	
  user	
  performance	
  in	
  
unreal	
  tournament	
  2003,”	
  in	
  Proceedings	
  of	
  the	
  3rd	
  ACM	
  SIGCOMM	
  Workshop	
  on	
  Network	
  and	
  System	
  Support	
  for	
  Games,	
  ACM,	
  
Portland,	
  Ore,	
  USA,	
  2004.	
  
•  FIFA  soccer
– 150msを超えるとゲームが成り⽴立立たない
– 実際の平均レイテンシは118ms
レイテンシについての実際の調査
M.	
  Dick,	
  O.	
  Wellnitz,	
  and	
  L.	
  Wolf,	
  “Analysis	
  of	
  factors	
  affec@ng	
  players’	
  performance	
  and	
  percep@on	
  in	
  mul@player	
  games,”	
  in	
  
Proceedings	
  of	
  the	
  4th	
  ACM	
  SIGCOMM	
  Workshop	
  on	
  Network	
  and	
  System	
  Support	
  for	
  Games,	
  ACM,	
  Hawthorne,	
  NY,	
  USA,	
  2005.	
  	
  
	
  
•  Warcraft  III
– 平均RTTで100ms
– 500msくらいまでならゲーム可能
– 800msを超えるとゲームが成り⽴立立たない
レイテンシについての実際の調査
N.	
  Sheldon,	
  E.	
  Girard,	
  S.	
  Borg,	
  M.	
  Claypool,	
  and	
  E.	
  Agu,	
  “The	
  effect	
  of	
  latency	
  on	
  user	
  
performance	
  in	
  Warcrab	
  III,”	
  in	
  Proceedings	
  of	
  the	
  2nd	
  Workshop	
  on	
  Network	
  and	
  System	
  
Support	
  for	
  Games,	
  ACM,	
  Redwood	
  City,	
  Calif,	
  USA,	
  2003.	
  
•  A  racing  game
–  レイテンシが50msを超えるとラップタイムが落落ち
始める
–  だが上級者なら150msくらいまで影響を受けない
–  50ms以下のレイテンシはユーザーに気づかれない
–  200msを超えると明らかにラギーに感じる
–  500msになるとゲームが成り⽴立立たない
レイテンシについての実際の調査
L.	
  Pantel	
  and	
  L.	
  C.	
  Wolf,	
  “On	
  the	
  impact	
  of	
  delay	
  on	
  real-­‐@me	
  mul@player	
  games,”	
  in	
  Proceedings	
  of	
  the	
  12th	
  
Interna@onal	
  Workshop	
  on	
  Network	
  and	
  Opera@ng	
  Systems	
  Support	
  for	
  Digital	
  Audio	
  and	
  Video,	
  ACM,	
  
Miami,	
  Fla,	
  USA,	
  2002.	
  
•  Shen  Zhou  Online(MMORPG)
– 150ms以下のレイテンシにおける平均プレイ
時間は4時間  
– 250msだと平均1時間
レイテンシについての実際の調査
	
  
K.-­‐T.	
  Chen,	
  P.	
  Huang,	
  and	
  C.-­‐L.	
  Lei,	
  “How	
  sensi@ve	
  are	
  online	
  gamers	
  to	
  
network	
  quality?”	
  Communica@ons	
  of	
  the	
  ACM,	
  vol.	
  49,	
  no.	
  11,	
  pp.	
  
34–38,	
  2006.	
  
•  Half-‐‑‒Life(FPS)
– 50msを超えると結構つらい
レイテンシについての実際の調査
T.	
  Henderson	
  and	
  S.	
  Bhah,	
  “Networked	
  games—a	
  QoS-­‐	
  sensi@ve	
  applica@on	
  for	
  QoS-­‐insensi@ve	
  users?”	
  in	
  
Proceedings	
  of	
  the	
  ACM	
  SIGCOMM	
  Workshop	
  on	
  Revisi@ng	
  IP	
  QoS:	
  What	
  Have	
  We	
  Learned,	
  Why	
  Do	
  We	
  
Care?	
  pp.	
  141–147,	
  ACM,	
  Karlsruhe,	
  Germany,	
  2003.	
  
•  Madden  NFL  Football
– 500msくらいまでならユーザーは気づかない
– 750msになるとラギーだと思われ始める
レイテンシについての実際の調査
J.	
  Nichols	
  and	
  M.	
  Claypool,	
  “The	
  effects	
  of	
  latency	
  on	
  online	
  Madden	
  NFL	
  football,”	
  in	
  Proceedings	
  of	
  the	
  
14th	
  Interna@onal	
  Workshop	
  on	
  Network	
  and	
  Opera@ng	
  System	
  Support	
  for	
  Digital	
  Audio	
  and	
  Video,	
  pp.	
  
146–151,	
  ACM,	
  Cork,	
  Ireland,	
  2004.	
  
ここで⾒見見てきたように、ゲームのジャンル
や特性によって許容可能なレイテンシやラ
グは全く異異なる。
レイテンシについての実際の調査
レイテンシとパケットロス
•  もちろんレイテンシだけでなくパケットロス率率率も重要な要素。
•  しかし、レイテンシにシビアなゲームではTCPではなくUDP
が利利⽤用されることが多い。
•  TCPによる再送されたパケットが届いても既に古くて使い物
にならないため。
•  このあと解説するQUAKEでは、UDPを使いつつ、過去32フ
レーム分のデータを毎回送ることでパケットロスへの耐性を
上げている。
QUAKE
QUAKEについて
QUAKEがオープンソースになっていることを思い出し
たので調べてみた。コードを読む根性はなかったので、
QUAKE  3  SOURCE  CODE  REVIEW:  ARCHITECTURE
を参考に下記をまとめた。マジ感謝。
•  アーキテクチャと動作フロー
•  ネットワークについての⼯工夫
•  予測
Architecture  Overview
Client	
  A	
  
Client	
  B	
  
Server	
  
Command	
  
Command	
  
Game	
  status	
  for	
  A	
  
Game	
  status	
  for	
  B	
  
アーキテクチャ
サーバーはクライアントに毎フレーム下記の情報を送る
•  他のプレイヤーの位置と加速度度
•  再⽣生すべき⾳音声やエフェクト
•  これらをまとめてスナップショット(ゲーム世界のある瞬間
のスナップショット)と呼ぶ
クライアントも毎フレーム下記の情報をサーバーに送る
•  タイムスタンプ
•  ⾒見見ている⽅方向(ピッチ、ヨー、ロール)
•  押されているボタン
•  装備している武器のコード
•  加速度度
サーバーからクライアントに送信されるス
ナップショットのイメージ
{
time:  T
players:  [
{  player:  B,  position:  {..},  velocity:  {...},  
    life:...,},
{  player:  C,  position...},
...  
],
...
}
動作フロー
サーバーサイドの動作フロー
•  クライアントからコマンドを受け付けゲームエンジンに渡す
•  50msごとにフレームの描画命令令をゲームエンジンに発⾏行行。
•  そのフレームの情報をクライアントに送信する
クライアントサイドの動作フロー
•  アクティブなフレームの描画命令令を発⾏行行
•  サーバーからあたらしいスナップショットが届いていないかを確
認。届いていたらそのスナップショットを最新のものとして次に
処理理するように設定。
•  クライアントは最新のスナップショット、ローカルプレイヤーの
コマンド、そこから導きだされる必要な未来予測をもとに画⾯面を
描画。
動作フロー
Server	
  
Net	
  
Channel	
  
Render	
  
Engine	
  
Controller	
   Predic@on	
  
Net	
  
Channel	
  
Client	
  
Render!	
  
Snapshot	
   Snapshot	
  
Predic@on	
  from	
  
snapshot	
  
Command	
  
動作フロー
•  サーバーのスナップショット送信は50msごと
•  そのあいだの動きはクライアント側で予測(Prediction)して補完
PlayerA	
  
PlayerB	
  
F1	
   F2	
   F3	
   F4	
   F5	
   F6	
  
Server	
  
F1	
   F2	
   F3	
   F4	
   F5	
   F6	
  
F1	
  
State	
  
F2	
   F3	
   F4	
   F5	
   F6	
  
State	
  
render	
  
render	
  
Snapshot	
  
State	
  
render	
  
render	
  
Command	
  
Command	
  
render	
  
render	
  
State	
  
render	
  
render	
  
Snapshot	
  
render	
  
render	
  
Command	
  
Command	
  
Command	
  
Command	
  
Command	
  
Command	
  
この間はクライアント側で予測補完	
  
ネットワークについての⼯工夫
[
{
time:  T
players:  [...]
},
{
time:  ...
players:  [...]
},
{
time:  T-‐‑‒31
players:  [...]
},
]
サーバーは最大で過去32フ
レーム分のスナップショットを
送信する
これによりパケットロス耐性を
実現している
Latest	
  
Latest	
  -­‐...	
  
Latest	
  -­‐31	
  
ネットワークについての⼯工夫
Server	
  
Player	
  A	
  
Master	
  snapshot	
  
Player	
  B:	
  
	
  pos[0]=A,	
  	
  
	
  pos[1]=B,	
  
	
  pos[2]=C,	
  
	
  health=D	
  
Snapshot1	
  
Player	
  B:	
  
	
  pos[0]=A,	
  	
  
	
  pos[1]=B,	
  
	
  pos[2]=C,	
  
	
  health=D	
  
最初のスナップショットを送信	
  
ネットワークについての⼯工夫
Server	
  
Player	
  A	
  
Master	
  snapshot	
  
Player	
  B:	
  
	
  pos[0]=A,	
  	
  
	
  pos[1]=E,	
  
	
  pos[2]=C,	
  
	
  health=D	
  
Snapshot1	
  
Player	
  B:	
  
	
  pos[0]=A,	
  	
  
	
  pos[1]=B,	
  
	
  pos[2]=C,	
  
	
  health=D	
  
Ack	
  
Player	
  AがAck	
  
Player	
  Bが移動	
  
ネットワークについての⼯工夫
Server	
  
Player	
  A	
  
Master	
  snapshot	
  
Player	
  B:	
  
	
  pos[0]=A,	
  	
  
	
  pos[1]=B,	
  
	
  pos[2]=C,	
  
	
  health=H	
  
Snapshot1	
  
Player	
  B:	
  
	
  pos[0]=A,	
  	
  
	
  pos[1]=B,	
  
	
  pos[2]=C,	
  
	
  health=D	
  
Ack	
  
Snapshot2	
  
Player	
  B:	
  
	
  pos[0]=A,	
  	
  
	
  pos[1]=E,	
  
	
  pos[2]=C,	
  
	
  health=D	
  
?	
  
次のフレームのスナップショットを送るが、Ackされない	
  
マスターのSnapshotは	
  
常に進んで行く	
  
ネットワークについての⼯工夫
Server	
  
Player	
  A	
  
Master	
  snapshot	
  
Player	
  B:	
  
	
  pos[0]=A,	
  	
  
	
  pos[1]=B,	
  
	
  pos[2]=C,	
  
	
  health=H	
  
Snapshot1	
  
Player	
  B:	
  
	
  pos[0]=A,	
  	
  
	
  pos[1]=B,	
  
	
  pos[2]=C,	
  
	
  health=D	
  
Ack	
  
Snapshot1	
  
Player	
  B:	
  
	
  pos[0]=A,	
  	
  
	
  pos[1]=B,	
  
	
  pos[2]=C,	
  
	
  health=D	
  
?	
  
Snapshot1	
  
Player	
  B:	
  
	
  pos[0]=A,	
  	
  
	
  pos[1]=E,	
  
	
  pos[2]=C,	
  
	
  health=H	
  
次の送信時には、Ackされていないところから	
  
最新のフレームまで送信	
  
ネットワークについての⼯工夫
Server	
  
Player	
  A	
  
Master	
  snapshot	
  
Player	
  B:	
  
	
  pos[0]=A,	
  	
  
	
  pos[1]=B,	
  
	
  pos[2]=C,	
  
	
  health=H	
  
Snapshot1	
  
Player	
  B:	
  
	
  pos[0]=A,	
  	
  
	
  pos[1]=B,	
  
	
  pos[2]=C,	
  
	
  health=D	
  
Ack	
  
Snapshot1	
  
Player	
  B:	
  
	
  pos[0]=A,	
  	
  
	
  pos[1]=B,	
  
	
  pos[2]=C,	
  
	
  health=D	
  
?	
  
Snapshot1	
  
Player	
  B:	
  
	
  pos[0]=0,	
  	
  
	
  pos[1]=+2,	
  
	
  pos[2]=0,	
  
	
  health=-­‐2	
  
更にデータサイズを小さくするため、前のフレームから
の差分を取るデルタ圧縮方式を利用している	
  
Pre-‐‑‒fragmentation
•  UDPは65,507バイトのペイロードを伝送可能だ
が、QUAKEがのNet  Channelというプロトコルで
は1つの意味のあるやりとりを1400バイト以内で
伝えられるようにしている。
•  これは⼀一般的なMTUである1500バイト以内にパ
ケットサイズを抑えることでフラグメンテーショ
ンを回避し、意味のあるやりとりの完遂率率率をあげ
るための⼯工夫。
ネットワークへのゲーム仕様の依存?
•  ここまでのネットワーク周りの⼯工夫を⾒見見
る限り下記のことが⾔言える気がする。
•  「1パケットにどれだけのユーザーの情報
を詰め込めるのか?」というところに、
そのゲームのフレームレートや同時プレ
イ可能⼈人数が依存している・・!
さらにネットワーク依存を軽減する:  
Prediction
•  60fpsのゲームを実現しようとした場合、すべてのフレーム
を実データで描画しようとした場合、サーバーからクライア
ントに秒間60個のスナップショットを遅滞なく届ける必要が
ある。
•  しかしこれは膨⼤大なネットワークリソースを必要とするうえ、
パケットロスやレイテンシに⾮非常に脆弱になる。
•  これを解決するために、実際には秒間10個〜~20個のスナップ
ショットを送るにとどめ、残りはクライアント側でスナップ
ショットからの予測(Prediction)を使って画⾯面を描画すると
いう⼯工夫がなされている。
Player	
  B	
  
最新のスナップショット	
  
Player	
  B:	
  
	
  pos[0]=A,	
  
	
  pos[1]=B,	
  
	
  pos[2]=C,	
  
	
  velocity=...	
  
	
  
次のスナップショットの予測	
  
Player	
  B:	
  
	
  pos[0]=A’,	
  
	
  pos[1]=B’,	
  
	
  pos[2]=C’,	
  
	
  velocity=...	
  
Player	
  B	
  
Player	
  B	
  
次のスナップショットが
到着するまでの間の
Player  Bの予測はクライ
アント側で予測して描画
する
さらにネットワーク依存を軽減する:  
Prediction
•  予測が⼤大きく外れると、次のスナップショットが到着
したときにユーザーの位置が⼤大きく修正される。⾒見見た
⽬目上、当該ユーザーがワープしたように⾒見見える。
•  ⾼高速度度での移動中における急激な⽅方向転換などを⾏行行う
とこういうことが起きやすい。
•  ゲームによっては、急激な⽅方向転換を許容しない(た
とえば物理理法則にしたがった⽅方向転換を強制する)こ
とによってこういった事象を防ぐ⼯工夫をしている
さらにネットワーク依存を軽減する:  
Prediction
さらに
⼿手元でFPSを動かしてみる
•  node学園2014で、socket.ioでFPS
を動かすワークショップがあったの
で⼿手元で動かしてみた。
•  実装を⾒見見てみると、やはりQUAKE
と同じようにフレームごとのスナッ
プショットをクライアントに送信し、
それをもとにフレーム描画を⾏行行うよ
うになっていた。
•  WebGLとThree.js、すげー!
https://github.com/rase-‐‑‒/socket.io-‐‑‒workshop-‐‑‒full
⼿手元でFPSを動かしてみる
•  データストアとしてRedisを採⽤用し
ており、プレイヤーのライフなどを
格納している
•  データの更更新はダメージを受けた時
やライフを失ったときなど、⼤大きな
イベントが発⽣生したときのみ⾏行行われ
るようになっている。
•  FPSでのデータベースの利利⽤用の例例と
して⾮非常に参考になる。
https://github.com/rase-‐‑‒/socket.io-‐‑‒workshop-‐‑‒full
まとめ
まとめ
•  オンラインゲームでは、ユーザー間、クライアント間でゲー
ムのステータス(お互いの位置やライフなど)をいかに遅滞
なく同期してやるのか、というのが⾮非常に重要。
•  インターネットという信頼性の低いネットワーク上でこれを
実現するためにいろいろな⼯工夫がなされてきている。
•  FQUAKEがオープンソースになっているのが⾮非常にエポック
メイキングなできごとだったようで、それ以降降のアクション
系のゲームはみなこれを多かれ少なかれ参考にしている。
ここからさきは?
他にも
•  今回はおもにネットワークとレイテンシの話にフォーカスを
絞ったが・・・
•  Predictionの話は、それだけで多数論論⽂文が⾒見見つかる感じで、
オンラインゲームのなかでも⾮非常に重要で注⽬目度度の⾼高いト
ピックらしい。
•  分散システム好きとしては、多数のクライアントから⾶飛んで
きたコマンドの衝突の解決や⼀一貫性の保ち⽅方なども⾮非常に興
味深い分野だと思う。今回ちょっと⾒見見かけた感じだと、ベク
タークロックみたいな⽅方式を使ってひとつを取るパターンや、
平均値をとるパターンなど、いろいろやりかたがあるっぽい。

More Related Content

What's hot

【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術Unity Technologies Japan K.K.
 
MagicOnion入門
MagicOnion入門MagicOnion入門
MagicOnion入門torisoup
 
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろうサーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろうDaisuke Masubuchi
 
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまでtechgamecollege
 
Unityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechconUnityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechconDeNA
 
【Unity道場】新しいPrefabワークフロー入門
【Unity道場】新しいPrefabワークフロー入門【Unity道場】新しいPrefabワークフロー入門
【Unity道場】新しいPrefabワークフロー入門Unity Technologies Japan K.K.
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなKentaro Matsui
 
MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~torisoup
 
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例sairoutine
 
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~モノビット エンジン
 
ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計sairoutine
 
IL2CPPに関する軽い話
IL2CPPに関する軽い話IL2CPPに関する軽い話
IL2CPPに関する軽い話Wooram Yang
 
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~ CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~ SEGADevTech
 
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜 リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜 Yugo Shimizu
 
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法モノビット エンジン
 

What's hot (20)

Riderはいいぞ!
Riderはいいぞ!Riderはいいぞ!
Riderはいいぞ!
 
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
 
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
 
MagicOnion入門
MagicOnion入門MagicOnion入門
MagicOnion入門
 
Epic Online Services でできること
Epic Online Services でできることEpic Online Services でできること
Epic Online Services でできること
 
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろうサーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
 
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで
 
UE4 MultiPlayer Online Deep Dive: 実践編1 (Byking様ご講演) #UE4DD
UE4 MultiPlayer Online Deep Dive: 実践編1 (Byking様ご講演)  #UE4DDUE4 MultiPlayer Online Deep Dive: 実践編1 (Byking様ご講演)  #UE4DD
UE4 MultiPlayer Online Deep Dive: 実践編1 (Byking様ご講演) #UE4DD
 
猫でも分かるUE4のポストプロセスを使った演出・絵作り
猫でも分かるUE4のポストプロセスを使った演出・絵作り猫でも分かるUE4のポストプロセスを使った演出・絵作り
猫でも分かるUE4のポストプロセスを使った演出・絵作り
 
Unityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechconUnityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechcon
 
【Unity道場】新しいPrefabワークフロー入門
【Unity道場】新しいPrefabワークフロー入門【Unity道場】新しいPrefabワークフロー入門
【Unity道場】新しいPrefabワークフロー入門
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
 
MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~
 
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
 
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
MRU : Monobit Reliable UDP ~5G世代のモバイルゲームに最適な通信プロトコルを目指して~
 
ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計
 
IL2CPPに関する軽い話
IL2CPPに関する軽い話IL2CPPに関する軽い話
IL2CPPに関する軽い話
 
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~ CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
 
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜 リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
 
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
 

Viewers also liked

[CEDEC2012]ネットワークゲームの不正行為と対策
[CEDEC2012]ネットワークゲームの不正行為と対策[CEDEC2012]ネットワークゲームの不正行為と対策
[CEDEC2012]ネットワークゲームの不正行為と対策gree_tech
 
究極のゲーム用通信プロトコル “WebRTC”
究極のゲーム用通信プロトコル “WebRTC”究極のゲーム用通信プロトコル “WebRTC”
究極のゲーム用通信プロトコル “WebRTC”Ryosuke Otsuya
 
はじめてのWebRTC/ORTC
はじめてのWebRTC/ORTCはじめてのWebRTC/ORTC
はじめてのWebRTC/ORTCYusuke Naka
 
究極のゲーム用通信プロトコルを探せ!
究極のゲーム用通信プロトコルを探せ!究極のゲーム用通信プロトコルを探せ!
究極のゲーム用通信プロトコルを探せ!Ryosuke Otsuya
 
わかりやすいパターン認識_3章
わかりやすいパターン認識_3章わかりやすいパターン認識_3章
わかりやすいパターン認識_3章weda654
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割Toru Yamaguchi
 
偶然にも500万個のSSH公開鍵を手に入れた俺たちは
偶然にも500万個のSSH公開鍵を手に入れた俺たちは偶然にも500万個のSSH公開鍵を手に入れた俺たちは
偶然にも500万個のSSH公開鍵を手に入れた俺たちはYoshio Hanawa
 
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏Yusuke Hirao
 
運用に自動化を求めるのは間違っているだろうか
運用に自動化を求めるのは間違っているだろうか運用に自動化を求めるのは間違っているだろうか
運用に自動化を求めるのは間違っているだろうかMasahito Zembutsu
 
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料 「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料 Ken'ichi Matsui
 
MySQLテーブル設計入門
MySQLテーブル設計入門MySQLテーブル設計入門
MySQLテーブル設計入門yoku0825
 
プログラマのための線形代数再入門
プログラマのための線形代数再入門プログラマのための線形代数再入門
プログラマのための線形代数再入門Taketo Sano
 
実践イカパケット解析
実践イカパケット解析実践イカパケット解析
実践イカパケット解析Yuki Mizuno
 
ウェブパフォーマンスの基礎とこれから
ウェブパフォーマンスの基礎とこれからウェブパフォーマンスの基礎とこれから
ウェブパフォーマンスの基礎とこれからHiroshi Kawada
 
Webアプリケーション負荷試験実践入門
Webアプリケーション負荷試験実践入門Webアプリケーション負荷試験実践入門
Webアプリケーション負荷試験実践入門樽八 仲川
 
「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側
「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側
「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側Takeshi HASEGAWA
 
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発慎一 古賀
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」Takuto Wada
 
人は一ヶ月でエンジニアになれるのか - 詳細解説
人は一ヶ月でエンジニアになれるのか - 詳細解説人は一ヶ月でエンジニアになれるのか - 詳細解説
人は一ヶ月でエンジニアになれるのか - 詳細解説Livesense Inc.
 
中の下のエンジニアを脱出するための仕事術
中の下のエンジニアを脱出するための仕事術中の下のエンジニアを脱出するための仕事術
中の下のエンジニアを脱出するための仕事術Noriaki Kadota
 

Viewers also liked (20)

[CEDEC2012]ネットワークゲームの不正行為と対策
[CEDEC2012]ネットワークゲームの不正行為と対策[CEDEC2012]ネットワークゲームの不正行為と対策
[CEDEC2012]ネットワークゲームの不正行為と対策
 
究極のゲーム用通信プロトコル “WebRTC”
究極のゲーム用通信プロトコル “WebRTC”究極のゲーム用通信プロトコル “WebRTC”
究極のゲーム用通信プロトコル “WebRTC”
 
はじめてのWebRTC/ORTC
はじめてのWebRTC/ORTCはじめてのWebRTC/ORTC
はじめてのWebRTC/ORTC
 
究極のゲーム用通信プロトコルを探せ!
究極のゲーム用通信プロトコルを探せ!究極のゲーム用通信プロトコルを探せ!
究極のゲーム用通信プロトコルを探せ!
 
わかりやすいパターン認識_3章
わかりやすいパターン認識_3章わかりやすいパターン認識_3章
わかりやすいパターン認識_3章
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
 
偶然にも500万個のSSH公開鍵を手に入れた俺たちは
偶然にも500万個のSSH公開鍵を手に入れた俺たちは偶然にも500万個のSSH公開鍵を手に入れた俺たちは
偶然にも500万個のSSH公開鍵を手に入れた俺たちは
 
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
 
運用に自動化を求めるのは間違っているだろうか
運用に自動化を求めるのは間違っているだろうか運用に自動化を求めるのは間違っているだろうか
運用に自動化を求めるのは間違っているだろうか
 
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料 「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
 
MySQLテーブル設計入門
MySQLテーブル設計入門MySQLテーブル設計入門
MySQLテーブル設計入門
 
プログラマのための線形代数再入門
プログラマのための線形代数再入門プログラマのための線形代数再入門
プログラマのための線形代数再入門
 
実践イカパケット解析
実践イカパケット解析実践イカパケット解析
実践イカパケット解析
 
ウェブパフォーマンスの基礎とこれから
ウェブパフォーマンスの基礎とこれからウェブパフォーマンスの基礎とこれから
ウェブパフォーマンスの基礎とこれから
 
Webアプリケーション負荷試験実践入門
Webアプリケーション負荷試験実践入門Webアプリケーション負荷試験実践入門
Webアプリケーション負荷試験実践入門
 
「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側
「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側
「スプラトゥーン」リアルタイム画像解析ツール 「IkaLog」の裏側
 
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
 
人は一ヶ月でエンジニアになれるのか - 詳細解説
人は一ヶ月でエンジニアになれるのか - 詳細解説人は一ヶ月でエンジニアになれるのか - 詳細解説
人は一ヶ月でエンジニアになれるのか - 詳細解説
 
中の下のエンジニアを脱出するための仕事術
中の下のエンジニアを脱出するための仕事術中の下のエンジニアを脱出するための仕事術
中の下のエンジニアを脱出するための仕事術
 

Similar to オンラインゲームの仕組みと工夫

L4d2_serverside_analyze
L4d2_serverside_analyzeL4d2_serverside_analyze
L4d2_serverside_analyzehogemaru_
 
シンラ・テクノロジー第2回クラウドゲーム開発者会議
シンラ・テクノロジー第2回クラウドゲーム開発者会議シンラ・テクノロジー第2回クラウドゲーム開発者会議
シンラ・テクノロジー第2回クラウドゲーム開発者会議Shinra_Technologies
 
【Unite Tokyo 2019】「禍つヴァールハイト」Timelineだから可能だった!モバイルに最適化されたリアルタイム3D演出!
【Unite Tokyo 2019】「禍つヴァールハイト」Timelineだから可能だった!モバイルに最適化されたリアルタイム3D演出!【Unite Tokyo 2019】「禍つヴァールハイト」Timelineだから可能だった!モバイルに最適化されたリアルタイム3D演出!
【Unite Tokyo 2019】「禍つヴァールハイト」Timelineだから可能だった!モバイルに最適化されたリアルタイム3D演出!UnityTechnologiesJapan002
 
【Unite Tokyo 2019】「禍つヴァールハイト」Timelineだから可能だった!モバイルに最適化されたリアルタイム3D演出!
【Unite Tokyo 2019】「禍つヴァールハイト」Timelineだから可能だった!モバイルに最適化されたリアルタイム3D演出!【Unite Tokyo 2019】「禍つヴァールハイト」Timelineだから可能だった!モバイルに最適化されたリアルタイム3D演出!
【Unite Tokyo 2019】「禍つヴァールハイト」Timelineだから可能だった!モバイルに最適化されたリアルタイム3D演出!UnityTechnologiesJapan002
 
elixirを使ったゲームサーバ
elixirを使ったゲームサーバelixirを使ったゲームサーバ
elixirを使ったゲームサーバHidetaka Kojo
 
FINAL FANTASY Record Keeper の作り方
FINAL FANTASY Record Keeper の作り方FINAL FANTASY Record Keeper の作り方
FINAL FANTASY Record Keeper の作り方dena_study
 
The Art of Network Protocols - RIP編 -
The Art of Network Protocols - RIP編 -The Art of Network Protocols - RIP編 -
The Art of Network Protocols - RIP編 -kirin_gumi
 
OSS強化学習向けゲーム環境の動向
OSS強化学習向けゲーム環境の動向OSS強化学習向けゲーム環境の動向
OSS強化学習向けゲーム環境の動向gree_tech
 
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYOFINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYOGame Tools & Middleware Forum
 
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
  そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...  そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...エピック・ゲームズ・ジャパン Epic Games Japan
 
Rescale ScaleX講習会 ~AWSクラウド環境におけるHPC利用
Rescale ScaleX講習会 ~AWSクラウド環境におけるHPC利用Rescale ScaleX講習会 ~AWSクラウド環境におけるHPC利用
Rescale ScaleX講習会 ~AWSクラウド環境におけるHPC利用Rescale Japan株式会社
 
Robovie Maker2éêàµê‡ñæèë
Robovie Maker2éêàµê‡ñæèëRobovie Maker2éêàµê‡ñæèë
Robovie Maker2éêàµê‡ñæèëguesta33ba0
 
コンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのかコンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのかえむ ばーど
 
iPhoneでリアルタイムマルチプレイを実現!Photon Network Engine
iPhoneでリアルタイムマルチプレイを実現!Photon Network EngineiPhoneでリアルタイムマルチプレイを実現!Photon Network Engine
iPhoneでリアルタイムマルチプレイを実現!Photon Network EngineGMO GlobalSign Holdings K.K.
 
さくらのクラウドでVyOS使ってみた
さくらのクラウドでVyOS使ってみたさくらのクラウドでVyOS使ってみた
さくらのクラウドでVyOS使ってみたSAKURA Internet Inc.
 
動画共有ツール
動画共有ツール動画共有ツール
動画共有ツールtamtam180
 

Similar to オンラインゲームの仕組みと工夫 (20)

L4d2_serverside_analyze
L4d2_serverside_analyzeL4d2_serverside_analyze
L4d2_serverside_analyze
 
シンラ・テクノロジー第2回クラウドゲーム開発者会議
シンラ・テクノロジー第2回クラウドゲーム開発者会議シンラ・テクノロジー第2回クラウドゲーム開発者会議
シンラ・テクノロジー第2回クラウドゲーム開発者会議
 
【Unite Tokyo 2019】「禍つヴァールハイト」Timelineだから可能だった!モバイルに最適化されたリアルタイム3D演出!
【Unite Tokyo 2019】「禍つヴァールハイト」Timelineだから可能だった!モバイルに最適化されたリアルタイム3D演出!【Unite Tokyo 2019】「禍つヴァールハイト」Timelineだから可能だった!モバイルに最適化されたリアルタイム3D演出!
【Unite Tokyo 2019】「禍つヴァールハイト」Timelineだから可能だった!モバイルに最適化されたリアルタイム3D演出!
 
Photon Webhooks & IPv6対応の最新情報
Photon Webhooks & IPv6対応の最新情報Photon Webhooks & IPv6対応の最新情報
Photon Webhooks & IPv6対応の最新情報
 
Online MultiPlay Game Design
Online MultiPlay Game DesignOnline MultiPlay Game Design
Online MultiPlay Game Design
 
【Unite Tokyo 2019】「禍つヴァールハイト」Timelineだから可能だった!モバイルに最適化されたリアルタイム3D演出!
【Unite Tokyo 2019】「禍つヴァールハイト」Timelineだから可能だった!モバイルに最適化されたリアルタイム3D演出!【Unite Tokyo 2019】「禍つヴァールハイト」Timelineだから可能だった!モバイルに最適化されたリアルタイム3D演出!
【Unite Tokyo 2019】「禍つヴァールハイト」Timelineだから可能だった!モバイルに最適化されたリアルタイム3D演出!
 
UE4 MultiPlayer Online Deep Dive 基礎編1 -Getting Started- (historia様ご講演) #UE4DD
UE4 MultiPlayer Online Deep Dive 基礎編1 -Getting Started-  (historia様ご講演) #UE4DDUE4 MultiPlayer Online Deep Dive 基礎編1 -Getting Started-  (historia様ご講演) #UE4DD
UE4 MultiPlayer Online Deep Dive 基礎編1 -Getting Started- (historia様ご講演) #UE4DD
 
elixirを使ったゲームサーバ
elixirを使ったゲームサーバelixirを使ったゲームサーバ
elixirを使ったゲームサーバ
 
FINAL FANTASY Record Keeper の作り方
FINAL FANTASY Record Keeper の作り方FINAL FANTASY Record Keeper の作り方
FINAL FANTASY Record Keeper の作り方
 
The Art of Network Protocols - RIP編 -
The Art of Network Protocols - RIP編 -The Art of Network Protocols - RIP編 -
The Art of Network Protocols - RIP編 -
 
OSS強化学習向けゲーム環境の動向
OSS強化学習向けゲーム環境の動向OSS強化学習向けゲーム環境の動向
OSS強化学習向けゲーム環境の動向
 
Cedec2013 photon network engine
Cedec2013 photon network engineCedec2013 photon network engine
Cedec2013 photon network engine
 
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYOFINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
 
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
  そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...  そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
 
Rescale ScaleX講習会 ~AWSクラウド環境におけるHPC利用
Rescale ScaleX講習会 ~AWSクラウド環境におけるHPC利用Rescale ScaleX講習会 ~AWSクラウド環境におけるHPC利用
Rescale ScaleX講習会 ~AWSクラウド環境におけるHPC利用
 
Robovie Maker2éêàµê‡ñæèë
Robovie Maker2éêàµê‡ñæèëRobovie Maker2éêàµê‡ñæèë
Robovie Maker2éêàµê‡ñæèë
 
コンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのかコンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのか
 
iPhoneでリアルタイムマルチプレイを実現!Photon Network Engine
iPhoneでリアルタイムマルチプレイを実現!Photon Network EngineiPhoneでリアルタイムマルチプレイを実現!Photon Network Engine
iPhoneでリアルタイムマルチプレイを実現!Photon Network Engine
 
さくらのクラウドでVyOS使ってみた
さくらのクラウドでVyOS使ってみたさくらのクラウドでVyOS使ってみた
さくらのクラウドでVyOS使ってみた
 
動画共有ツール
動画共有ツール動画共有ツール
動画共有ツール
 

More from Yuta Imai

Node-RED on device to Apache NiFi on cloud, via SORACOM Canal, with no Internet
Node-RED on device to Apache NiFi on cloud, via SORACOM Canal, with no InternetNode-RED on device to Apache NiFi on cloud, via SORACOM Canal, with no Internet
Node-RED on device to Apache NiFi on cloud, via SORACOM Canal, with no InternetYuta Imai
 
HDP2.5 Updates
HDP2.5 UpdatesHDP2.5 Updates
HDP2.5 UpdatesYuta Imai
 
Deep Learning On Apache Spark
Deep Learning On Apache SparkDeep Learning On Apache Spark
Deep Learning On Apache SparkYuta Imai
 
Hadoop in adtech
Hadoop in adtechHadoop in adtech
Hadoop in adtechYuta Imai
 
Hadoop/Spark セルフサービス系の事例まとめ
Hadoop/Spark セルフサービス系の事例まとめHadoop/Spark セルフサービス系の事例まとめ
Hadoop/Spark セルフサービス系の事例まとめYuta Imai
 
IoTアプリケーションで利用するApache NiFi
IoTアプリケーションで利用するApache NiFiIoTアプリケーションで利用するApache NiFi
IoTアプリケーションで利用するApache NiFiYuta Imai
 
OLAP options on Hadoop
OLAP options on HadoopOLAP options on Hadoop
OLAP options on HadoopYuta Imai
 
Apache ambari
Apache ambariApache ambari
Apache ambariYuta Imai
 
Spark at Scale
Spark at ScaleSpark at Scale
Spark at ScaleYuta Imai
 
Dynamic Resource Allocation in Apache Spark
Dynamic Resource Allocation in Apache SparkDynamic Resource Allocation in Apache Spark
Dynamic Resource Allocation in Apache SparkYuta Imai
 
Apache Hiveの今とこれから - 2016
Apache Hiveの今とこれから - 2016Apache Hiveの今とこれから - 2016
Apache Hiveの今とこれから - 2016Yuta Imai
 
Hadoop最新事情とHortonworks Data Platform
Hadoop最新事情とHortonworks Data PlatformHadoop最新事情とHortonworks Data Platform
Hadoop最新事情とHortonworks Data PlatformYuta Imai
 
Benchmark and Metrics
Benchmark and MetricsBenchmark and Metrics
Benchmark and MetricsYuta Imai
 
Hadoop and Kerberos
Hadoop and KerberosHadoop and Kerberos
Hadoop and KerberosYuta Imai
 
Spark Streaming + Amazon Kinesis
Spark Streaming + Amazon KinesisSpark Streaming + Amazon Kinesis
Spark Streaming + Amazon KinesisYuta Imai
 
Amazon Machine Learning
Amazon Machine LearningAmazon Machine Learning
Amazon Machine LearningYuta Imai
 
Global Gaming On AWS
Global Gaming On AWSGlobal Gaming On AWS
Global Gaming On AWSYuta Imai
 
Digital marketing on AWS
Digital marketing on AWSDigital marketing on AWS
Digital marketing on AWSYuta Imai
 
EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-
EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-
EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-Yuta Imai
 
クラウドネイティブなアーキテクチャでサクサク解析
クラウドネイティブなアーキテクチャでサクサク解析クラウドネイティブなアーキテクチャでサクサク解析
クラウドネイティブなアーキテクチャでサクサク解析Yuta Imai
 

More from Yuta Imai (20)

Node-RED on device to Apache NiFi on cloud, via SORACOM Canal, with no Internet
Node-RED on device to Apache NiFi on cloud, via SORACOM Canal, with no InternetNode-RED on device to Apache NiFi on cloud, via SORACOM Canal, with no Internet
Node-RED on device to Apache NiFi on cloud, via SORACOM Canal, with no Internet
 
HDP2.5 Updates
HDP2.5 UpdatesHDP2.5 Updates
HDP2.5 Updates
 
Deep Learning On Apache Spark
Deep Learning On Apache SparkDeep Learning On Apache Spark
Deep Learning On Apache Spark
 
Hadoop in adtech
Hadoop in adtechHadoop in adtech
Hadoop in adtech
 
Hadoop/Spark セルフサービス系の事例まとめ
Hadoop/Spark セルフサービス系の事例まとめHadoop/Spark セルフサービス系の事例まとめ
Hadoop/Spark セルフサービス系の事例まとめ
 
IoTアプリケーションで利用するApache NiFi
IoTアプリケーションで利用するApache NiFiIoTアプリケーションで利用するApache NiFi
IoTアプリケーションで利用するApache NiFi
 
OLAP options on Hadoop
OLAP options on HadoopOLAP options on Hadoop
OLAP options on Hadoop
 
Apache ambari
Apache ambariApache ambari
Apache ambari
 
Spark at Scale
Spark at ScaleSpark at Scale
Spark at Scale
 
Dynamic Resource Allocation in Apache Spark
Dynamic Resource Allocation in Apache SparkDynamic Resource Allocation in Apache Spark
Dynamic Resource Allocation in Apache Spark
 
Apache Hiveの今とこれから - 2016
Apache Hiveの今とこれから - 2016Apache Hiveの今とこれから - 2016
Apache Hiveの今とこれから - 2016
 
Hadoop最新事情とHortonworks Data Platform
Hadoop最新事情とHortonworks Data PlatformHadoop最新事情とHortonworks Data Platform
Hadoop最新事情とHortonworks Data Platform
 
Benchmark and Metrics
Benchmark and MetricsBenchmark and Metrics
Benchmark and Metrics
 
Hadoop and Kerberos
Hadoop and KerberosHadoop and Kerberos
Hadoop and Kerberos
 
Spark Streaming + Amazon Kinesis
Spark Streaming + Amazon KinesisSpark Streaming + Amazon Kinesis
Spark Streaming + Amazon Kinesis
 
Amazon Machine Learning
Amazon Machine LearningAmazon Machine Learning
Amazon Machine Learning
 
Global Gaming On AWS
Global Gaming On AWSGlobal Gaming On AWS
Global Gaming On AWS
 
Digital marketing on AWS
Digital marketing on AWSDigital marketing on AWS
Digital marketing on AWS
 
EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-
EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-
EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-
 
クラウドネイティブなアーキテクチャでサクサク解析
クラウドネイティブなアーキテクチャでサクサク解析クラウドネイティブなアーキテクチャでサクサク解析
クラウドネイティブなアーキテクチャでサクサク解析
 

Recently uploaded

クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 

Recently uploaded (14)

クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 

オンラインゲームの仕組みと工夫