Unreal Engine Multiplayer Online Deep Dive #UE4DD まとめ

2017/07/02に開催された Unreal Engine Multiplayer Online Deep Dive で呟かれた内容をまとめました。 Deep Dive: Epic Games Japanが主催する、特定の技術分野に絞ったハイレベルな勉強会。 今回のテーマ:Multiplayer Online 続きを読む
2
前へ 1 2 ・・ 11 次へ
alwei@C99 2日目金曜日 東“チ”37b @aizen76

RPCまわり。ネットワークで一番重要な部分。 #UE4DD

2017-07-02 13:14:57
おかず @pafuhana1213

次はRPCの話。まずは各形式をC++とBPでどう書くか。Multicast, Owing Client, Server #ue4dd

2017-07-02 13:16:18
スミオ(SUMIO) @tempkinder

RunOnServerではUFunction()に、WithValidation をつけないといけない。 #ue4dd

2017-07-02 13:18:14
alwei@C99 2日目金曜日 東“チ”37b @aizen76

C++。Run on Serverを使ってサーバーで実行する際にWithValidationアトリビュートを必ずつける必要あり。バリデーション機能が自動で働くようになっているのはすばらしい。 #UE4DD

2017-07-02 13:18:18
おかず @pafuhana1213

Run On Serverを使用する際のWidhValidationについて。RPCで呼び出される関数を実行する前に検証用の関数を実行。falseを返したら、RPCで呼び出された関数は実行されない。サーバー・ゲームの状態に応じた処理わけが簡単にできそう! #ue4dd

2017-07-02 13:18:21
ShotaroNotz @ShotaroNotz

UE4マルチプレイプログラミング未経験者にはなかなか情報量が多いな。#UE4DD

2017-07-02 13:18:26
おかず @pafuhana1213

Reliableを使うことで通信の信頼性を向上させる。ただし、通信負荷などの問題が発生するので注意。詳しくは次のバイキングさんの講演で #ue4dd

2017-07-02 13:20:17
alwei@C99 2日目金曜日 東“チ”37b @aizen76

たしかにUE4のネットワークプログラミングを知らないとなかなかつらい…この辺りは先ほども紹介した僕の過去にやった講演のスライドが多少役にたつかと思います。 #UE4DD

2017-07-02 13:21:11
alwei@C99 2日目金曜日 東“チ”37b @aizen76

そうそうActorの所有権ややこしいよね。でもここを理解しないとただしくネットワークプログラミングできない。 #UE4DD

2017-07-02 13:21:38
alwei@C99 2日目金曜日 東“チ”37b @aizen76

改めて図で書き直したりしないと、このへんは整理しづらいと思う。 #UE4DD

2017-07-02 13:23:40
スミオ(SUMIO) @tempkinder

なぜActorの所有権は必要?所有者以外が悪意をもって変更させないため。 #ue4dd

2017-07-02 13:25:35
スミオ(SUMIO) @tempkinder

GameModeはサーバ側にしかない。 #ue4dd

2017-07-02 13:26:11
alwei@C99 2日目金曜日 東“チ”37b @aizen76

GameModeがサーバーにしか存在しないということも理解しておかないとこのへんは難しい。 #UE4DD

2017-07-02 13:26:34
なるほげ @NullH0ge

Actor所有権の話、わかりやすい #UE4DD

2017-07-02 13:27:50
おかず @pafuhana1213

ServerOnly, ServerClient, ServerOwingClient の特性に応じて、Actorの Role, RemoteRole, bReplicates, bOnlyRelevantToOwnerのパラメータを設定する必要がある #ue4dd

2017-07-02 13:30:35
おかず @pafuhana1213

OnlineSubSystemへの話しへ。ここも凄い気になっている所…! #ue4dd

2017-07-02 13:31:21
ShotaroNotz @ShotaroNotz

OnlineSubSystemの解説。ありがたや。#UE4DD

2017-07-02 13:31:24
おかず @pafuhana1213

プラットフォーム毎に中身は異なるが、機能別に定義されたインターフェイスを継承するクラスを実装する形。もしOnlineSubsystem側で機能が足りなかった場合は、その設計に従う形で追加すれば実装は簡単 #ue4dd

2017-07-02 13:33:05
alwei@C99 2日目金曜日 東“チ”37b @aizen76

オンラインサブシステム。各種プラットフォームAPIを抽象化して同様の機能を提供。これもよくできてるけど、プラットフォームが存在していないと、NAT越えするのがとても難しいのがつらい… #UE4DD

2017-07-02 13:33:05
salfa @salfanic

UE4DDに行きたい人生だった

2017-07-02 13:33:07
alwei@C99 2日目金曜日 東“チ”37b @aizen76

そういえばオンラインサブシステムでボイスチャットもできるはずなんだけど、全然情報がないんだよなぁ… #UE4DD

2017-07-02 13:33:49
おかず @pafuhana1213

Development:開発サーバー QA:ステージングサーバー Release:公開サーバー #ue4dd

2017-07-02 13:35:04
おかず @pafuhana1213

まずはPIEでのテストについて。Number of Playerを変更することで、一台のPCで複数の画面を立ち上げての確認が可能 #ue4dd

2017-07-02 13:36:09
alwei@C99 2日目金曜日 東“チ”37b @aizen76

PIE実行時のテストプレイがとてもやりやすいのはありがたい。 #UE4DD

2017-07-02 13:36:16
おかず @pafuhana1213

Editor設定のAuto Connect To Serverを有効にすることで、PIE起動時に自動でマッチングされた状態にする。デフォルトはON #ue4dd

2017-07-02 13:36:55
前へ 1 2 ・・ 11 次へ