Playing with your friends: Cross-platform play
Welcome to the second part of the Leviathan: Warships development diary. This time I will go through one of the coolest features Leviathan: Warships has to offer: cross-platform play.
Leviathan: Warships was always built from the ground up to support cross-platform play. It is one of the main reasons why we chose to use Unity as a game engine and in many ways why the game looks and plays the way it does.
Development
Building a game which properly support cross-platform play is a challenge and it is something that permeates the whole development process. We made a choice to offer the same gameplay and graphical fidelity regardless of the platform the player chose to experience the game on. We did not want to make a different version for each platform. In the end, this proved to be the right choice, but the challenges we faced to get there was pretty severe.
Turns out getting a full 3D game with physics based projectiles and ship movement running on mobile devices was… interesting. But we did it, after heavy optimizing. The results are rather impressive, because we are pushing the mobile platforms pretty hard in some of the more intense campaign missions and versus matches.
For example: Not only is each ship very detailed but each weapon is also fully modeled with its own AI for targeting. In a full versus game there is an average of 16-20 ships, each with about 6 weapons. It can get pretty intensive.
Server
The core of the cross-platform play is our server backend. The Master Server keeps track of each player account and all games currently in progress. When a player has made their move and the results are calculated, the results are stored on the server. This is basically a cloud storage solution for all your games and your account information. The reason we store the accounts on our server as well as the games is, as you might have guessed, because of cross-platform play. For example, we do not want to use Steam logins because those accounts would be limited to PC/Mac versions of the game (and you need to run steam). You can’t use them on iOS/Android devices which makes that solution less than optimal.
Offline Mode
Leviathan: Warships also have an offline mode for those that don’t want to play online or doesn't have online access. The games are stored locally on your device or pc/mac and you can play whenever you want. You have access to the full campaign and challenges in this mode.
Summary
It turns out that many players who have tried our game really enjoyed cross-platform play and think it’s immensely fun to switch between platforms. Even when testing the game, we can take a break from the computer to continue testing on the couch here in the office. Pretty comfortable!
For us it was something we took for granted when we developed the game so it actually came as a bit of a surprise when the previews of the games all mentioned it as a great feature.
Here are some UI examples which shows how the player can easily switch between multiple running games:
When you are playing a game, you always have access to the Switch Game dialogue. This displays all the game you are currently in and their status. If you are playing with multiple players, the icon on the left lights up to display games where new turns are available.
In the Main Menu, you have access to the Play tab. Here you get a list of all current games you have access to, along with their status. This is also where you create new games. Curious about the public games option and matchmake? We’ll go through them in detail in a future developer diary.
Welcome to the second part of the Leviathan: Warships development diary. This time I will go through one of the coolest features Leviathan: Warships has to offer: cross-platform play.
Leviathan: Warships was always built from the ground up to support cross-platform play. It is one of the main reasons why we chose to use Unity as a game engine and in many ways why the game looks and plays the way it does.
Development
Building a game which properly support cross-platform play is a challenge and it is something that permeates the whole development process. We made a choice to offer the same gameplay and graphical fidelity regardless of the platform the player chose to experience the game on. We did not want to make a different version for each platform. In the end, this proved to be the right choice, but the challenges we faced to get there was pretty severe.
Turns out getting a full 3D game with physics based projectiles and ship movement running on mobile devices was… interesting. But we did it, after heavy optimizing. The results are rather impressive, because we are pushing the mobile platforms pretty hard in some of the more intense campaign missions and versus matches.
For example: Not only is each ship very detailed but each weapon is also fully modeled with its own AI for targeting. In a full versus game there is an average of 16-20 ships, each with about 6 weapons. It can get pretty intensive.
Server
The core of the cross-platform play is our server backend. The Master Server keeps track of each player account and all games currently in progress. When a player has made their move and the results are calculated, the results are stored on the server. This is basically a cloud storage solution for all your games and your account information. The reason we store the accounts on our server as well as the games is, as you might have guessed, because of cross-platform play. For example, we do not want to use Steam logins because those accounts would be limited to PC/Mac versions of the game (and you need to run steam). You can’t use them on iOS/Android devices which makes that solution less than optimal.
Offline Mode
Leviathan: Warships also have an offline mode for those that don’t want to play online or doesn't have online access. The games are stored locally on your device or pc/mac and you can play whenever you want. You have access to the full campaign and challenges in this mode.
Summary
It turns out that many players who have tried our game really enjoyed cross-platform play and think it’s immensely fun to switch between platforms. Even when testing the game, we can take a break from the computer to continue testing on the couch here in the office. Pretty comfortable!
For us it was something we took for granted when we developed the game so it actually came as a bit of a surprise when the previews of the games all mentioned it as a great feature.
Here are some UI examples which shows how the player can easily switch between multiple running games:
When you are playing a game, you always have access to the Switch Game dialogue. This displays all the game you are currently in and their status. If you are playing with multiple players, the icon on the left lights up to display games where new turns are available.
In the Main Menu, you have access to the Play tab. Here you get a list of all current games you have access to, along with their status. This is also where you create new games. Curious about the public games option and matchmake? We’ll go through them in detail in a future developer diary.
Last edited by a moderator: