Dynamic Split Screen

Project information

  • Type: Student Project
  • Engine/Language: Unreal Engine 5
  • Date: October 2024
  • Team Size: Solo
  • Duration: 1 weeks
Tool

Dynamic Split Screen

October 2024
BUas

Dynamic split screen, also known as Voronoi split screen, is a technique used in local multiplayer games to provide each player with an optimal view by dynamically adjusting the screen based on player positions. This approach enhances the gaming experience by offering a more intuitive and flexible display compared to traditional fixed split screens.

Project Overview

In October 2024, as part of a self-study project at Breda University of Applied Sciences (BUas), I developed a dynamic Voronoi split screen system using Unreal Engine 5. The objective was to deepen my understanding of local and online multiplayer functionalities within Unreal Engine.

The Challenge

Starting with local multiplayer due to its relative simplicity, I explored various split screen configurations and methods to toggle them at runtime. A teacher recommended examining the dynamic split screen implementation in the LEGO game and attempting a similar approach in Unreal Engine. Lacking prior experience in this area, I embarked on comprehensive research to grasp the underlying concepts.

The Solution

Initially, I delved into Unreal Engine's source code to understand its native split screen implementation, even modifying the engine to add new settings - a process that involved compiling the engine from source. However, Unreal's default setup supports only rectangular window splits, unlike the Voronoi-style splits seen in LEGO games.

Further research led me to various plugins and examples demonstrating dynamic split screen implementations, including a good Godot engine example that provided a clear visual reference. Ultimately, I adopted a straightforward solution: replacing the player's CameraComponent with a SceneCaptureComponent, which adjusts its offset based on the distance and direction between players. I then utilized a post-processing material to blend the two textures seamlessly.

To make it reusable, I packaged this functionality into a plugin, making it easily integrable into other projects. The current implementation is tailored for top-down games or those with fixed camera rotations and supports two players. Future plans include extending support to multiple players.

Customization settings. User can change the max thickness of the line separating the screens and its color. User can also set whether the view should always be in split screen and whether it is top-down or not.

Project Features

  • Dynamic Voronoi Split Screen
  • Simple and easy to use
  • Customizable

Technologies Used

Unreal Engine 5 C++