SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
ソシャゲにおける
サーバとクライアントの
決めごと
自己紹介
@peto_tn
エンジニア
Java,Obj-C,C#を経てPHPとか
ソシャゲ
必ずクライアント(アプリ)とサーバの
通信が発生
通信する為には色々と取り決めが必要
決めること
ネットワークプロトコル
(HTTP, TCP/UDP)
データ形式
(XML, JSON, MessagePack, RPC)
ゲーム用プロトコル
(ゲーム用通信プロトコル)
プロトコルの管理方法
(仕様書, バージョン管理, 共通化保障)
セキュリティ
(SSL/TLS, 暗号化, 難読化)
決めること
ネットワークプロトコル
(HTTP, TCP/UDP)
データ形式
(XML, JSON, MessagePack, RPC)
ゲーム用プロトコル
(ゲーム用通信プロトコル)
プロトコルの管理方法
(仕様書, バージョン管理, 共通化保障)
セキュリティ
(SSL/TLS, 暗号化, 難読化)
ネットワークプロトコル
基本HTTPで片付く
リアルタイム通信が必要な場合はUDPを
(3G回線遅い)
UDPは不正確でいいデータのみに絞る
(現状リアルタイムは作ってません)
決めること
ネットワークプロトコル
(HTTP, TCP/UDP)
データ形式
(XML, JSON, MessagePack, RPC)
ゲーム用プロトコル
(ゲーム用通信プロトコル)
プロトコルの管理方法
(仕様書, バージョン管理, 共通化保障)
セキュリティ
(SSL/TLS, 暗号化, 難読化)
データ形式
選択肢は色々
XMLか JSONか MessagePackか?
RPCという手も?
独自シリアライズ作るか?
データ形式
 XML : 肥大化して遅くなりがち
 JSON : 可読性よい。割りと小さい
 MessagePack : バイナリ。小さく速い
 RPC : どうしても使いたかったら
 独自シリアライズ : 大変
MessagePackおすすめです
データ形式
<?xml version="1.0" encoding="UTF-8" ?>
<user_id>123456</user_id>
<name>hogehoge</name>
<age>20</age>
{"user_id":123456,
"name":"hogehoge",
"age":20}
83 a7 75 73 65 72 5f 69 64 ce 00 01 e2 40
a4 6e 61 6d 65 a8 68 6f 67 65 68 6f 67 65 a3
61 67 65 14 0a
XML
102 byte
JSON
51 byte
50%削減
MessagePack
34 byte
67%削減
データ形式
1通信  1リクエスト
1通信  複数リクエスト
一度に複数リクエストの方がよい
実装は複雑になる
データ形式
1通信  1リクエスト
Client Server
ユーザ情報
リクエスト
ユーザ情報
レスポンス
フレンド情報
リクエスト
フレンド情報
レスポンス
データ形式
1通信  複数リクエスト
Client Server
ユーザ情報
リクエスト
ユーザ情報
レスポンス
フレンド情報
リクエスト
フレンド情報
レスポンス
決めること
ネットワークプロトコル
(HTTP, TCP/UDP)
データ形式
(XML, JSON, MessagePack, RPC)
ゲーム用プロトコル
(ゲーム用通信プロトコル)
プロトコルの管理方法
(仕様書, バージョン管理, 共通化保障)
セキュリティ
(SSL/TLS, 暗号化, 難読化)
ゲーム用プロトコル
ユーザID, パスワード, ユーザ名
ゲームで必要なデータを設計
ログイン
アイテムID, 使用個数アイテム使用
ユーザID, フレンドIDフレンド申請
ゲーム用プロトコル
リクエストとレスポンス
フレンド一覧
取得
リクエスト
ユーザID
レスポンス
フレンド一覧
ゲーム用プロトコル
共通の定数
フレンド状態
0: フレンド未登録
1: フレンド申請中
2: フレンド登録済
ゲーム用プロトコル
全レスポンスの共通項目
リクエストの成否/エラー情報
メンテナンス情報
通信エラー
コード1000
OK
メンテナンス中
OK
決めること
ネットワークプロトコル
(HTTP, TCP/UDP)
データ形式
(XML, JSON, MessagePack, RPC)
ゲーム用プロトコル
(ゲーム用の通信プロトコル)
プロトコルの管理方法
(仕様書, バージョン管理, 共通化保障)
セキュリティ
(SSL/TLS, 暗号化, 難読化)
プロトコルの管理方法
クライアント/サーバで共有し参照する
資料
Excel, SpreadSheet etc.
概要 コマンド名 リクエスト レスポンス
ログイン login int: user_id
string: password
int: result
プロトコルの管理方法
Client Server
userid : 1234
password : hoge
user_id
が送られて
来ていない!
ログインする
からデータ
送るよ
プロトコルの管理方法
サーバ/クライアント両方に対して
確実にデータ構造を保障したい
共通の定義を記述し、サーバ用、クライ
アント用に自動コンバート/反映させる
プロトコルの管理方法
プロトコル
サーバ クライアント
プロトコルのコンバート
プロトコルの管理方法
{
“request”: {
“user_id”: {“type”: “int”, “comment”: “ユーザーID"}
},
"response": {
"result": {"type": "int", "comment": "結果"}
}
}
public class UserReq {
public int userId;
}
public class UserRes {
public int result;
}
public class MessageUserRequest {
public int UserId { get; set; }
}
public class MessageUserResponse {
public override int Result { get; set; }
}
定数のコンバート
プロトコルの管理方法
STATE_SEND_REQUEST,0,,フレンド未登録,
STATE_RECV_REQUEST,1,,申請中,
STATE_ACCEPTED,2,,フレンド登録済,
public final class ConstFriend {
public static final int STATE_SEND_REQUEST = 0;
public static final int STATE_RECV_REQUEST = 1;
public static final int STATE_ACCEPTED = 2;
}
public static class ConstFriend {
public const int STATE_SEND_REQUEST = 0;
public const int STATE_RECV_REQUEST = 1;
public const int STATE_ACCEPTED = 2;
}
マスタのコンバート
プロトコルの管理方法
id name rarity type
1 ゴブリン 1 1
2 ドラゴン 2 2
INSERT INTO `data_monsters` (`id`, `name`,
`rarity`, `type`) VALUES
(1, ‘ゴブリン’, 1, 1),
(2, ‘ドラゴン’, 2, 2);
1,ゴブリン,1,1
2,ドラゴン,2,2
DB
配信用
アセット
プロトコルの管理方法
クライアントとサーバのソースは
同一リポジトリに置いたほうが楽
リポジトリが肥大化してやばいなら、
別途安全な反映方法を検討する必要あり
プロトコルもバージョン管理へ
決めること
ネットワークプロトコル
(HTTP, TCP/UDP)
データ形式
(XML, JSON, MessagePack, RPC)
ゲーム用プロトコル
(ゲーム用の通信プロトコル)
プロトコルの管理方法
(仕様書, バージョン管理, 共通化保障)
セキュリティ
(SSL/TLS, 暗号化, 難読化)
セキュリティ
全ての通信に暗号化、難読化
アカウント、課金周りは細心の注意を!
SSL/TLS、各種暗号化
それでも不正はある
不正対策は十分行う
その他
アセットの配布方法
セッションの保持方法
などなど
最後に
色々ちゃんと決めとかないと死ぬ
変な決め方をしても死ぬ
ゲームにあった最適なものを採用!
ありがとうございました

Contenu connexe

Tendances

そんなトランザクションマネージャで大丈夫か?
そんなトランザクションマネージャで大丈夫か?そんなトランザクションマネージャで大丈夫か?
そんなトランザクションマネージャで大丈夫か?
takezoe
 

Tendances (20)

Unityで始めるバージョン管理 Git LFS 入門編
Unityで始めるバージョン管理 Git LFS 入門編Unityで始めるバージョン管理 Git LFS 入門編
Unityで始めるバージョン管理 Git LFS 入門編
 
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
 
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
 
Python製BDDツールで自動化してみた
Python製BDDツールで自動化してみたPython製BDDツールで自動化してみた
Python製BDDツールで自動化してみた
 
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
 
今なら間に合う分散型IDとEntra Verified ID
今なら間に合う分散型IDとEntra Verified ID今なら間に合う分散型IDとEntra Verified ID
今なら間に合う分散型IDとEntra Verified ID
 
TLS, HTTP/2演習
TLS, HTTP/2演習TLS, HTTP/2演習
TLS, HTTP/2演習
 
バーチャルライブ配信アプリREALITYの3Dアバターシステムの全容について
バーチャルライブ配信アプリREALITYの3Dアバターシステムの全容についてバーチャルライブ配信アプリREALITYの3Dアバターシステムの全容について
バーチャルライブ配信アプリREALITYの3Dアバターシステムの全容について
 
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
 
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
 
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
 
NuxtJS + SSRで作ったGREE Tech Conference 2020
NuxtJS + SSRで作ったGREE Tech Conference 2020NuxtJS + SSRで作ったGREE Tech Conference 2020
NuxtJS + SSRで作ったGREE Tech Conference 2020
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
 
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
 
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
 
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけRDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
 
そんなトランザクションマネージャで大丈夫か?
そんなトランザクションマネージャで大丈夫か?そんなトランザクションマネージャで大丈夫か?
そんなトランザクションマネージャで大丈夫か?
 
メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?
 
40歳過ぎてもエンジニアでいるためにやっていること
40歳過ぎてもエンジニアでいるためにやっていること40歳過ぎてもエンジニアでいるためにやっていること
40歳過ぎてもエンジニアでいるためにやっていること
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
 

En vedette

インターフェイスによるオブジェクト指向設計
インターフェイスによるオブジェクト指向設計インターフェイスによるオブジェクト指向設計
インターフェイスによるオブジェクト指向設計
Akineko Shimizu
 

En vedette (20)

LT#8 乗るしかないこのECMA Script 2015に
LT#8 乗るしかないこのECMA Script 2015にLT#8 乗るしかないこのECMA Script 2015に
LT#8 乗るしかないこのECMA Script 2015に
 
LT#9 開発合宿 in HAKONE
LT#9 開発合宿 in HAKONELT#9 開発合宿 in HAKONE
LT#9 開発合宿 in HAKONE
 
DynamoDBだけでソシャゲを作ってみた
DynamoDBだけでソシャゲを作ってみたDynamoDBだけでソシャゲを作ってみた
DynamoDBだけでソシャゲを作ってみた
 
DynamoDB活用事例 株式会社マイネット
DynamoDB活用事例 株式会社マイネットDynamoDB活用事例 株式会社マイネット
DynamoDB活用事例 株式会社マイネット
 
DynamoDBによるソーシャルゲーム実装 How To
DynamoDBによるソーシャルゲーム実装 How ToDynamoDBによるソーシャルゲーム実装 How To
DynamoDBによるソーシャルゲーム実装 How To
 
Lv1から始めるWebサービスのインフラ構築
Lv1から始めるWebサービスのインフラ構築Lv1から始めるWebサービスのインフラ構築
Lv1から始めるWebサービスのインフラ構築
 
オンラインゲーム作ってみたよ。
オンラインゲーム作ってみたよ。オンラインゲーム作ってみたよ。
オンラインゲーム作ってみたよ。
 
オンラインゲームのチートとセキュリティ
オンラインゲームのチートとセキュリティオンラインゲームのチートとセキュリティ
オンラインゲームのチートとセキュリティ
 
C#でもメタプログラミングがしたい!!
C#でもメタプログラミングがしたい!!C#でもメタプログラミングがしたい!!
C#でもメタプログラミングがしたい!!
 
インターフェイスによるオブジェクト指向設計
インターフェイスによるオブジェクト指向設計インターフェイスによるオブジェクト指向設計
インターフェイスによるオブジェクト指向設計
 
Google Cloud Platformでソーシャルゲームを1本出してみた!
Google Cloud Platformでソーシャルゲームを1本出してみた!Google Cloud Platformでソーシャルゲームを1本出してみた!
Google Cloud Platformでソーシャルゲームを1本出してみた!
 
ポコロンダンジョンズとリアルタイム通信 -クライアント編-
ポコロンダンジョンズとリアルタイム通信 -クライアント編-ポコロンダンジョンズとリアルタイム通信 -クライアント編-
ポコロンダンジョンズとリアルタイム通信 -クライアント編-
 
ポコロンダンジョンズとリアルタイム通信 -サーバサイド編-
ポコロンダンジョンズとリアルタイム通信 -サーバサイド編-ポコロンダンジョンズとリアルタイム通信 -サーバサイド編-
ポコロンダンジョンズとリアルタイム通信 -サーバサイド編-
 
Cookpad Summer Intern 2015 - Programming Paradigm
Cookpad Summer Intern 2015 - Programming ParadigmCookpad Summer Intern 2015 - Programming Paradigm
Cookpad Summer Intern 2015 - Programming Paradigm
 
サーバPUSHざっくりまとめ
サーバPUSHざっくりまとめサーバPUSHざっくりまとめ
サーバPUSHざっくりまとめ
 
[CEDEC2012]ネットワークゲームの不正行為と対策
[CEDEC2012]ネットワークゲームの不正行為と対策[CEDEC2012]ネットワークゲームの不正行為と対策
[CEDEC2012]ネットワークゲームの不正行為と対策
 
HTTP/2の現状とこれから
HTTP/2の現状とこれからHTTP/2の現状とこれから
HTTP/2の現状とこれから
 
Djangoによるスマホアプリバックエンドの実装
Djangoによるスマホアプリバックエンドの実装Djangoによるスマホアプリバックエンドの実装
Djangoによるスマホアプリバックエンドの実装
 
スマートフォンゲームのチート事情
スマートフォンゲームのチート事情スマートフォンゲームのチート事情
スマートフォンゲームのチート事情
 
一般的なチートの手法と対策について
一般的なチートの手法と対策について一般的なチートの手法と対策について
一般的なチートの手法と対策について
 

Similaire à ソシャゲにおけるサーバとクライアントの決めごと

パケットフィルタリングの考え方
パケットフィルタリングの考え方パケットフィルタリングの考え方
パケットフィルタリングの考え方
Koiwa Hidekazu
 
システムと情報の数理・ネットワーク概論
システムと情報の数理・ネットワーク概論システムと情報の数理・ネットワーク概論
システムと情報の数理・ネットワーク概論
shigaoki
 
IPストリーム伝送のための 誤り訂正機能をもつ アプリケーションゲートウェイの開発
IPストリーム伝送のための誤り訂正機能をもつアプリケーションゲートウェイの開発IPストリーム伝送のための誤り訂正機能をもつアプリケーションゲートウェイの開発
IPストリーム伝送のための 誤り訂正機能をもつ アプリケーションゲートウェイの開発
Takashi Kishida
 

Similaire à ソシャゲにおけるサーバとクライアントの決めごと (20)

コンピューターネットワーク入門
コンピューターネットワーク入門コンピューターネットワーク入門
コンピューターネットワーク入門
 
Xml Security
Xml SecurityXml Security
Xml Security
 
IPsecについて
IPsecについてIPsecについて
IPsecについて
 
第三回IoT関連技術勉強会 データ通信編
第三回IoT関連技術勉強会 データ通信編第三回IoT関連技術勉強会 データ通信編
第三回IoT関連技術勉強会 データ通信編
 
SPDYの話
SPDYの話SPDYの話
SPDYの話
 
websocket-survery
websocket-surverywebsocket-survery
websocket-survery
 
Hokkaido.cap#2 一般的なプロトコルのパケットを覗いてみよう
Hokkaido.cap#2 一般的なプロトコルのパケットを覗いてみようHokkaido.cap#2 一般的なプロトコルのパケットを覗いてみよう
Hokkaido.cap#2 一般的なプロトコルのパケットを覗いてみよう
 
WebSocket Protocol と Plack::Middleware::WebSocket
WebSocket Protocol と Plack::Middleware::WebSocketWebSocket Protocol と Plack::Middleware::WebSocket
WebSocket Protocol と Plack::Middleware::WebSocket
 
Apache Avro vs Protocol Buffers
Apache Avro vs Protocol BuffersApache Avro vs Protocol Buffers
Apache Avro vs Protocol Buffers
 
P2Pって何?
P2Pって何?P2Pって何?
P2Pって何?
 
パケットフィルタリングの考え方
パケットフィルタリングの考え方パケットフィルタリングの考え方
パケットフィルタリングの考え方
 
システムと情報の数理・ネットワーク概論
システムと情報の数理・ネットワーク概論システムと情報の数理・ネットワーク概論
システムと情報の数理・ネットワーク概論
 
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)
 
Wiresharkの解析プラグインを作る ssmjp 201409
Wiresharkの解析プラグインを作る ssmjp 201409Wiresharkの解析プラグインを作る ssmjp 201409
Wiresharkの解析プラグインを作る ssmjp 201409
 
アメーバピグのサーバとクライアントはどうやって通信しているのか
アメーバピグのサーバとクライアントはどうやって通信しているのかアメーバピグのサーバとクライアントはどうやって通信しているのか
アメーバピグのサーバとクライアントはどうやって通信しているのか
 
第6回 初心者向け Ruby on Rails 勉強会 in 門前仲町
第6回 初心者向け Ruby on Rails 勉強会 in 門前仲町第6回 初心者向け Ruby on Rails 勉強会 in 門前仲町
第6回 初心者向け Ruby on Rails 勉強会 in 門前仲町
 
第6回 初心者向け Ruby on Rails勉強会 in 門前仲町
第6回 初心者向け Ruby on Rails勉強会 in 門前仲町第6回 初心者向け Ruby on Rails勉強会 in 門前仲町
第6回 初心者向け Ruby on Rails勉強会 in 門前仲町
 
第6回 初心者向け Ruby on Rails勉強会 in 門前仲町
第6回 初心者向け Ruby on Rails勉強会 in 門前仲町第6回 初心者向け Ruby on Rails勉強会 in 門前仲町
第6回 初心者向け Ruby on Rails勉強会 in 門前仲町
 
IPストリーム伝送のための 誤り訂正機能をもつ アプリケーションゲートウェイの開発
IPストリーム伝送のための誤り訂正機能をもつアプリケーションゲートウェイの開発IPストリーム伝送のための誤り訂正機能をもつアプリケーションゲートウェイの開発
IPストリーム伝送のための 誤り訂正機能をもつ アプリケーションゲートウェイの開発
 
Gumi study7 messagepack
Gumi study7 messagepackGumi study7 messagepack
Gumi study7 messagepack
 

Dernier

Dernier (11)

論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 

ソシャゲにおけるサーバとクライアントの決めごと