Get the latest Education e-news
 
  • Porting To Consoles: Gotchas And Things To Consider

    [09.13.18]
    - Matthias Maschek

  • Save Games

    Consoles are multi user systems. So each user should be able to play the game independently of the other players. Meaning each player needs their own savegame. We started out with one monolithic savegame implemented as a singleton which is not how a multiuser system is built. Aside of implementation problems around saving into the correct save games when playing split screen we had to think a lot about game design choices.

    What should happen if player A starts the game so their savegame is used, player B joins, they continue together, and after a while player A drops out, effectively letting player B continue with the savegame of player A. In our case we just accepted that but not every game works that way. So design your savegame system ahead of time and think of all the possible edge cases.

    User generated Content

    Ligthtfield supports asynchronous multiplayer in the form of player replays that are attached to their highscores on each track. These are downloaded and cached locally and whenever you are playing in single player time trial or race mode you are competing against the times and replays of other players on the leaderboard.

    Technically that's not a big feat, and we had this system in place since a very early prototyping stage. From a legal/organizational perspective however all user content can be considered User Generated Content, requiring special treatment and additional systems around it.

    EULA

    First, users have to accept an EULA detailing exactly what we are recording and what we will do with that data. To be on the safe side we had the EULA checked by a local lawyer and translated it to all our in game languages by a translation service specialized on legal texts. And remember, each user has to accept the EULA. In split screen mode, if one of the users participating in gameplay did not sign the EULA we were not allowed to upload data.

    Age restrictions

    User generated content has to be blockable for minors by their parents. If we now consider our style of gameplay: Player A, a parent, plays the game with all ghosts enabled and is just in the middle of a lap in time trial. Now at a random point in time a child joins in on a second controller by just connecting it, signing in and pressing a button. All over our game are now recordings of other players which we have to remove at that moment and block any upload of new laps for all players because we are not allowed to display such replays to a minor.

    Reporting

    Users have to be able to report user generated content that violates our code of conduct or the guidelines of the platform holders. For the reporting feature we had to build an easily accessible list of replays being displayed at any moment with infos about the corresponding player and a button to report a replay. Plus we needed a system to review reports, build a block list and distribute the block list back to the players. There is not a ready made system from the platform holders for that so we had to build our own.

Comments

comments powered by Disqus