PaperSloth’s diary

主にゲーム開発関連についての記事を書きます。

UE4 ローカルマルチプレイについて

目次

環境

Unreal Engine 4.18.3

概要

ローカルマルチプレイの基本についてはalweiさんのブログが参考になります。
UE4 簡単なローカルマルチプレイヤーゲームを作ってみる - Let's Enjoy Unreal Engine
今回はこれに少し追記したような内容になります。


画面の分割設定について

画面を分割しない設定や縦に分割、横に分割の設定が可能です。
Project Settings - Maps & Modes - Local Multiplayer以下に設定項目があります。
f:id:PaperSloth:20180125213049p:plain


・Use SplitScreen
画面分割を行うか否かです。
デフォルトではオンになっているため、通常はこのままで良いでしょう。

・Two Player Splitscreen Layout
2人プレイ時の画面分割設定です。
Horizontal - 上画面、下画面に分割されます。デフォルトの設定です。
f:id:PaperSloth:20180125213434p:plain
Vertical - 右画面、左画面に分割されます。
f:id:PaperSloth:20180125213351p:plain

ゲーム内容に合わせてお好みでお選びください。

・Three Player Splitscreen Layout
3人プレイ時の画面分割設定です。
Favor Top - 上画面が大きく表示されます。デフォルトの設定です。
f:id:PaperSloth:20180125213537p:plain
Favor Bottom - 下画面が大きく表示されます。
f:id:PaperSloth:20180125213605p:plain

プレイヤーを指定の位置に配置したい場合について

PlayerStartを削除し、Level上に直接Pawn(Character)を配置する方法が楽です。

しかし、配置しただけではどのキャラクターも操作できないため操作設定を行います。
配置したキャラクターのPawn - Auto Possess Playerに指定したいPlayer番号を設定します。
0からカウントされるため、Player 0が1P、Player 1が2Pとなります。
f:id:PaperSloth:20180125213708p:plain

4人配置したイメージ
f:id:PaperSloth:20180125213838p:plain


2人、4人の対戦や協力ゲームだと同じキャラクターの色違いを用意したりするため簡単ですね。
Level上に直接Pawn(Character)を置くため、Pawn(Character)の種類はバラバラでも構いません。
例えば3人プレイのゲームで1対2で1人が巨大なモンスターというのも面白そうですね。
f:id:PaperSloth:20180125214328p:plain

まとめ

さて、比較的簡単にローカルマルチプレイゲームが作れますね。
私自身もUE4ぷちコンゲームジャムで3人構成のチームでこんなゲームを作りました。
www.nicovideo.jp


ですが、幾つか課題もあるためそれらが解決できそうかどうかも考えつつ挑んでみてください。

・4人プレイの場合そもそもコントローラーが用意できるか、繋げるか
 どちらも物理的な問題ですが、繋げるかは結構重要ですね。
 ノートPCのUSBポートの空き数と相談してハブを用意するなどしましょう。

・個々のプレイヤーの入力を上手くさばけそうか
 そこそこ簡単な問題ですが、肥大化したプロジェクトを
 いきなりマルチ対応したりするとぐちゃぐちゃになります。
 どうやったら綺麗に入力を処理できるかのイメージを考えましょう。

・個々のプレイヤー情報をどうやって取得するか
 TickでGet All Actors Of Classで取得するみたいな方法は極力避けたいですね。
 個々のプレイヤーの情報にアクセスしたりチェックしたりは必ず必要になるので、
 最初の段階で考えておくと良さそうです。

・リスポーン処理をどうするか
 例えば対戦ゲーム等でリスポーンがある場合に
 他のプレイヤーと同じ地点にリスポーンしてしまうのは避けたいですね。

以上のようにいざ作ってみると詰まってしまうことがあると思いますが1人プレイより盛り上がります!
Blueprintにちょっと慣れてきた方は作ってみてください。