UE4でマルチプレイヤーのゲームを作るには色々とやり方がありますが、ローカル上で分割スクリーンによるマルチプレイヤーのゲームを作るのは本当に簡単です。
分割スクリーンによるマルチプレイヤーのゲームは最近減りましたが、ニンテンドー64時代には沢山ありました。では早速やってみましょう。
必要な回数だけCreate Playerをする
とりあえず複数プレイヤーキャラをだしたいというだけであれば、本当に一瞬で出来てしまいます。やることは必要な回数分だけ"Create Player"を呼びだすだけです。
今回は元いるプレイヤーと合わせて2人のキャラクターを作成したいので、レベルブループリントで一度だけCreate Playerを呼びます。
引数の"Controller Id"は自分で制御したいコントローラーのIDを入力します。既に存在しているIDを指定すると何も起こりません。-1を指定すると自動で空いている番号を連番で設定してくれるようになります。
これだけでなんともうローカルマルチプレイヤー対応が完了です。
そしてなんとゲームパッド(UE4で最初から対応しているのはXbox360パッドのみ)を差せば既に2人で動かすことが可能です!
キーボードから個別に制御できるようにする
そのままだとキーボードからの入力は1人分しか制御できません。なので、Controller IDごとに設定をする必要があります。テンプレートをそのまま使う場合には、以下のように入力イベント全てに対してプレイヤー数ごとにインデックスを設定します。
この方式だと入力はそれぞれのプレイヤーに渡りますが、同じイベントを使用するので、キーボードが1つの場合はそれぞれに別々の入力を与えてあげる必要があります。
例えばジャンプを別々のキーにする場合は別々にアクションマッピングを作って入力を複数にしておきます。
これで個別にプレイヤーごとの入力をとれるようになりました。あとはプレイヤーが増えればそれごとにプレイヤーコントローラーの設定をしてあげれば、簡単にローカルマルチプレイヤーのゲームができます!
UE4ではCreate Playerをするだけでスクリーンも自動で分割されるので、とても対応が楽です!もしスクリーンを分割させたくないという場合は、プレイヤーにカメラを持たさずに、別途カメラを作成するという方法もありです。
参考までに以下はGlobal Game Jam 2015で私が作ったゲームですが、これをそのまま応用したゲームです。これはGGJルールの通り、48時間以内に作りました。
GGJ 2015 Osaka Unreal Bomber - YouTube
とりあえず、まずはお手軽なマルチプレイヤーゲームを作ってみましょう!