For many people, their fondest memories of gaming can be found in your childhood, sitting around a TV playing Mario Kart or Golden Eye with your friends. However in the age of online gaming, developers are financially incentivised to drop local multiplayer gaming for the sake of maximizing profits, because if a game doesn’t have local multiplayer and you want to play with a friend, each of you have to buy a copy to do so. Still there are those who wish to fill this unmet market which is why I’m going to write about thoughts and decisions made while developing split-screen for Super Hamster Havoc, a game about hamsters fighting in a post-human world.
Getting Started: How many controllers does [insert platform here] support?
In making a game oriented towards local multiplayer it’s good to know what technical limitations and affordances certain platforms may have for your game, the most important being the amount of controllers that are supported by the platform. In this department we have grown quite a bit from the days of the standard 4 controllers per console so here’s a list of the amount of controllers that most relevant platforms support:
- PC (12 Controllers): In my experience, on PC you can add support for up to 12 controllers by using a combination of Xinput (A controller API for Xbox 360, Xbox One & Microsoft licensed devices which only accepts 4 supported devices) and DirectInput (A legacy controller API that allows you to support a wider array of controllers).
- Xbox One (8 Controllers): Unlike the PC the Xbox One Supports up to 8 players with games like #IDARB taking advantage.
- Nintendo Switch (8 Controllers): The Nintendo Switch supports up to 8 controllers but there is an important note on this. Each Joy-Con is counted as a controller, even if you have a set of 2 docked into a Joy-Con grip. So in other words, the Switch can support up to 8 Joy-Cons or 8 Pro Controllers.
- PS4 (4 Controllers): The Playstation 4, being the outlier of the big 3, only supports 4 controllers
- Amazon Fire TV (7 Controllers): Amazon Fire TV devices (Amazon Firestick, Amazon Fire TV Cube, etc) can support up to 7 Amazon TV remotes or compatible Bluetooth game controllers.
- Apple TV (2/3 Controllers): The Apple TV supports only 2 MFi (made for iPhone/iPad certified) game controllers, however the Apple TV remote isn’t counted against that, allowing up to 3 people to play at once as Apple TV remote support is required for games on the platform regardless.
Platforms we chose to target
Once there is an understanding of what technical limitations and affordances the current relevant platforms hold, you can begin choosing the platforms that you want to support per the tech, design, personal, and market considerations of your game. For Super Hamster Havoc, we plan to have support for up to 8 controllers, which provides an interesting issue as not all platforms support up to 8, such as the PS4, Amazon Fire TV, and Apple TV. One one hand, we could drop down to the amount supported on these platforms as 4 is a comfortable number for many already in the case of PlayStation, and for the Amazon Fire TV. However, this causes a experience stagnation as other console owners would be having a different experience with the same game and realistically, only the PS4 would be the platform worth doing this for as in terms of maximizing potential revenue, as supporting the big 3 consoles would be ideal unless you land an exclusivity deal. There is also the costs of developing on the platform as well. As it currently stands we are giving priority to Xbox One, Nintendo Switch, and PC in terms of development. The Nintendo Switch because this is the ideal platform for local multiplayer games due to Nintendo’s favoritism of such games, and Xbox One and PC due to the low development costs, not to mention all three platforms have support for 8 controllers.
Dividing Real Estate for the Flatscreen
Now that I knew what platforms I was targeting, it was time to divide the real estate of the TV. All the current platforms support HDTV which is usually 1920 x 1080 and going up still maintains a 16:9 ratio. When dividing up screen space my only hard rule is that I wanted everyone to have the same amount of screen space, as people being able to see more of their camera port and others could be an issue. This resulted in some negative space which will be used for UI. Other considerations was maintaining a 16:19-ish resolution with all the viewports (except for 2 player, where I wanted it to be side by side much like the players would be), and explicitly making 8 players a nine-slice so tournament-like information could be written in the center. Below I have visualized how I divided the screen for Super Hamster Havoc: