Mercurial > hg > Papers > 2022 > riono-master
view Paper/chapter/0-introduction.tex @ 53:7142a147b9ab
fix
author | riono <e165729@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 12 Feb 2022 19:20:12 +0900 |
parents | 4a1a9a0fe1ce |
children |
line wrap: on
line source
\chapter{オンラインゲームにおけるデータ通信} オンラインゲームは様々な回線を通じて複数のプレイヤーが関与する分散プログラムである。 多くの場合通信形態はCloud上のServerを中心としたクライアントサーバ方式である。 分散プログラムを正しく書くことは、Debugなどを含め難しい。 また、スマートフォンやタブレット端末の普及によりインターネット上で提供されているサービスやゲームに参加するユーザ数は増加傾向にある。 増加するユーザに対応しつつ、正しく分散プログラムを書くことが求められている。 プログラマが1から分散プログラムを書くことは珍しくなっており、ほとんどの場合既存のフレームワークを利用して、分散システムの構築を行う。 ゲーム開発においても、UnityやUE4などで使用できるさまざまな通信ライブラリが存在している。 これらの通信ライブラリはゲームエンジン向けに実装されているが、煩雑な記述方法やDebugの行いにくさがある。 当研究室では、初代PlayStation向けに作成したFederated Lindaを拡張して、CodeGear/ DataGearを用いた分散フレームワークChristieを開発中である。 ChristieはJavaで記述されているため、既存のゲームエンジン上で直接動かすことはできない。 Christieは従来の通信ライブラリとは異なり、型のあるDataGearをタプル空間DataGearManager(以下DGM)にKeyをもつストリームとして格納する方式を取っている。 DGMはnode内部にlocalなDGMが用意されており、自身のnodeのThread間での通信に用いられている。 他のnodeのDGMとしてproxyを持っており、対応したproxyにデータを書き込むことでnode間の通信を行っている。 DGMはTopology Managerにより自動的に構成される。 nodeは初めにTopology Managerが動作しているhostと通信し、自分が接続すべきnodeが知らされる。 nodeは指示されたnodeに接続を行い、通信が行われる。 本研究ではChristieをC\#で再実装することによりUnityの通信ライブラリとして使用できるようにする。 また、既存の通信ライブラリとの比較を行い、Christieのオンラインゲーム向けの通信ライブラリとしての考察を行う。