Comment préparer le jeu pour le portage sur PC et console

Les avantages des jeux multiplateformes ont longtemps été discutés dans les cercles des joueurs, mais peu de couverture parmi les développeurs. Il n'y a pas beaucoup d'articles sur les éléments de base nécessaires pour créer un jeu multiplateforme.

Cependant, la multiplateforme est désormais en hausse. Il y a de plus en plus de jeux avec cette propriété. Fortnite, Call of Duty, Street Fighter - ils sont tous de genres différents, mis en œuvre de différentes manières, mais à un degré ou à un autre, ils ont des fonctionnalités multiplateformes.

Andersen Horowitz a écrit sur son blog que les jeux étaient historiquement segmentés par différentes plates-formes, mais maintenant avec la popularité croissante des multiplates-formes, le nombre de jeux multijoueurs augmente également de plus en plus.

Pourquoi avez-vous besoin de rendre le jeu multiplateforme?

C'est génial pour les joueurs: vous n'avez pas à choisir sur quel appareil exécuter le jeu - vous pouvez jouer librement avec des amis sans vous soucier de leur présence dans la base de données des joueurs.

Pour les développeurs de jeux, c'est également très bien, car la base d'utilisateurs n'est désormais pas segmentée par différentes plates-formes - à la place, vous pouvez organiser un grand pool de joueurs et créer une expérience multi-utilisateurs plus riche avec des sessions de jeu plus complètes.



Génial, portons donc notre jeu sur plusieurs plateformes!

Bien sûr, cela semble cool, pourquoi pas. C'est juste ...

Dans Le Seigneur des Anneaux, si vous vous souvenez, les héros ont également discuté sur les conseils d'Elrond, disent-ils, faisons simplement ce que nous devrions, à quoi Boromir a dit:



Et tout cela parce que Boromir le sait: créer un jeu multiplateforme à part entière n'est pas si simple.

L'idée est donc venue de préparer du matériel pour ceux qui envisagent de créer leur propre jeu multiplateforme.

Si vous avez déjà publié des jeux auparavant, cela signifie que vous avez traité leur envoi sur différentes plates-formes et que vous connaissez les capacités de chacune d'entre elles, ce qui constituera une bonne base pour le matériel d'aujourd'hui - et, en outre, vous aidera au stade initial de la préparation.


9 choses à considérer avant de créer un jeu multiplateforme


Astuce n ° 1: Familiarisez-vous avec la terminologie Il

existe de nombreux concepts différents liés à la multiplateforme, mais nous allons d'abord présenter les plus nécessaires: le jeu croisé, la progression croisée et l'achat croisé.

Quelle est la différence?

Le jeu croisé ( jeu croisé ou jeu croisé) est exactement ce que les gens pensent lorsqu'ils entendent parler d'un jeu multiplateforme: combiner des utilisateurs jouant sur différentes plates-formes en une seule session multi-utilisateurs. Autrement dit, lorsque les joueurs Xbox peuvent entrer en collision dans un jeu avec des joueurs PlayStation ou Steam.

Progression croisée(ou Cross-Save, cross-save) est appelé la possibilité de commencer à jouer sur une plate-forme, de sauvegarder votre progression et de continuer à jouer sur une autre plate-forme. Cela peut être trouvé dans les jeux solo et multijoueurs.

L' achat croisé (ou commerce croisé, achat croisé) est un achat effectué sur une plate-forme, puis apparaît dans votre bibliothèque sur une autre. Son proche parent est BOPA (Buy Once Play Anywhere: une fois acheté - jouer n'importe où), mais nous en parlerons plus tard.

Astuce # 2: Créez votre propre domaine en ligne

Lorsque vous publiez un jeu sur différentes plates-formes, des services auxiliaires spéciaux de chaque plate-forme deviennent disponibles, et ils sont vraiment pratiques.



Si vous voulez créer un jeu multiplateforme, malheureusement, vous ne pouvez pas utiliser la plupart de ces services, car les statistiques sur Steam, par exemple, ne correspondent pas aux statistiques sur Xbox ou PlayStation. Vous devez disposer de votre propre ensemble de services: statistiques, systèmes d'identification, matchmaking, etc. - qui relieront les données de différentes plateformes.



Alors, de quoi avez-vous besoin en premier?

  1. Système d'identification et comptes;
  2. Système de commerce électronique (surtout si vous allez monétiser votre jeu à l'aide d'achats intégrés);
  3. Autres services requis conformément aux exigences de certification.

Par exemple, la certification Xbox nécessite que vous utilisiez MPSD (catalogue de sessions multijoueurs), même si vous avez votre propre système de matchmaking, car ils utilisent ensuite toutes les informations que vous stockez dans MPSD pour activer la présence riche dans le tableau de bord Xbox.

Astuce n ° 3: En savoir plus sur vos joueurs

Prenons un exemple.

Disons qu'un joueur a:

  • Compte Steam;
  • Compte Epic Store
  • Compte Xbox
  • Compte PlayStation
  • Changer de compte
  • Etc.

Comment le jeu sait-il que c'est la même personne?

C'est là que le soi-disant système de liaison de comptes vient à la rescousse.

Lier des comptes vous permet de lier votre compte partagé à des comptes de différentes plateformes.

Si vous jouez à Call of Duty, vous savez probablement que la dernière partie de la franchise est multiplateforme. Et si vous voulez trouver votre ami dans le système, vous devrez utiliser Activision ID. Donc, si vous jouez sur la Xbox, vous ne pourrez pas trouver vos amis jouant sur la PlayStation, car ces deux bases de joueurs ne se croisent pas - mais en même temps, les données sur tous les joueurs sur les deux plates-formes sont stockées dans Activision ID.



Ce système d'identification unifié deviendra un élément fondamental non seulement pour le jeu actuel, mais pour tous vos futurs projets. C'est elle qui vous connecte aux autres plateformes.

Voici une autre astuce. Portez une attention particulière aux exigences du RGPD et du CCPA: leurs normes doivent être prises en compte à un stade précoce afin d'éviter des conséquences désagréables. De plus, tôt ou tard de nouvelles plates-formes commenceront à apparaître, voulez-vous pouvoir les ajouter à votre jeu dès qu'elles seront disponibles?

Ce qui suit est un exemple de mise en œuvre de la liaison de compte Steam.



Ainsi, un système d'identification est nécessaire pour échanger le jeton Steam contre le vôtre. Ensuite, le joueur peut utiliser ce jeton pour activer les services dont il a besoin.

Astuce n ° 4: laissez les utilisateurs jouer ensemble

Maintenant que vous avez identifié avec succès vos joueurs à l'aide du système de liaison de compte, l'étape suivante consiste à amener les utilisateurs à jouer ensemble.



Il est donc temps pour le jeu croisé.

Pour que vous puissiez connecter les joueurs à la même session multijoueur avec tous leurs amis, vous devez organiser un système de matchmaking, gérer des sessions de jeu et un certain nombre de services - la liste complète dépend des besoins d'un jeu particulier. Ainsi, vous identifiez d'abord les utilisateurs et les réunissez quelle que soit la plateforme sur laquelle ils jouent, puis le matchmaking les organise en sessions de jeu.



Quelques notes sur le multijoueur et la qualité de la connexion.

Si vous choisissez vous-même un moteur de jeu, optez pour la convivialité multiplateforme: ces moteurs ont déjà un mécanisme intégré pour effectuer la synchronisation client-serveur. Si vous décidez de créer votre propre moteur, bien sûr, vous avez le droit de le faire, mais gardez à l'esprit les points suivants.

Lorsque vous souhaitez que vos utilisateurs commencent à se connecter à d'autres joueurs, il est préférable de ne pas utiliser l'itinéraire P2P direct. Étant donné que vous ne pouvez pas utiliser les bibliothèques de plate-forme intégrées telles que les associations de périphériques sécurisés Xbox, cette tâche devient assez confuse, surtout lorsque nous parlons de connecter la console à un PC. Conseil: utilisez un serveur dédié ou un homologue relais pour créer votre grille.

Et le dernier: puisque vous avez maintenant affaire à des plateformes de capacités différentes - PC, consoles - laissez vos simulations utiliser une fréquence fixe de 30 images par seconde. Dans le même temps, le rendu peut être laissé tel quel.

Astuce # 5: Laissez les joueurs continuer le jeu sur une plate-forme différente

Comme beaucoup d'autres, l'auteur a passé des centaines d'heures dans The Witcher 3: d'abord joué sur la PlayStation, puis a décidé de passer à Switch, à cause duquel j'ai dû tout recommencer, car dans The Witcher », il n'y a aucun moyen de continuer le jeu sur une autre plateforme. Au fil du temps, les développeurs ont toujours organisé une sauvegarde croisée entre Steam et Switch. Certes, il s'agissait ici de la PlayStation 4. Cependant, il est probable que tôt ou tard le CD Projekt RED se mettra en place entre elles et entre elles - l'essentiel est que la bonne direction a déjà été définie.

La façon de stocker les données est entièrement de votre choix: vous pouvez les stocker dans le cloud en tant qu'objets blob, vous pouvez en tant que statistiques, vous pouvez en tant que chaîne dans les attributs de profil. L'essentiel est d'atteindre l'objectif en déterminant que vous êtes toujours vous, que vous jouiez sur Switch, PlayStation ou PC.

De plus, en parlant de multiplateforme, on ne peut s'empêcher de mentionner SPOP et MPOP.

SPOP(point de présence unique) signifie un point de présence unique lorsque vous n'autorisez qu'une seule connexion à un compte à un moment donné, et entrer dans un jeu sur une plate-forme signifie se déconnecter automatiquement de celui-ci sur une autre. Ainsi, SPOP peut vous empêcher d'apparaître simultanément au même endroit à partir de plates-formes différentes. Il s'agit de la méthode d'implémentation la plus simple et la plus sûre qui évite la stagnation des données.

MPOP(plusieurs points de présence) est un mode de comportement complètement différent. Il vous permet d'avoir plusieurs connexions qui pointent logiquement vers le même compte. L'organisation peut être très difficile, car MPOP doit créer un compte invité lorsque les utilisateurs se connectent au même compte en même temps, ce qui peut entraîner des problèmes pour garantir que la progression est enregistrée correctement.

Et bien que dans la plupart des situations, il s'avère plus pratique d'utiliser SPOP, vous devez vous-même examiner attentivement les avantages et les inconvénients d'une méthode particulière pour votre jeu.

Astuce # 6: Unifiez votre commerce

Parlons de la différence entre les magasins principaux et auxiliaires.



Le magasin principal est un magasin que vous devez configurer du côté de la plate-forme où se déroulent les opérations avec de l'argent réel, tandis que le magasin auxiliaire est celui que vous contrôlez dans le jeu.

Le magasin principal doit d'abord être configuré sur chaque plate-forme individuelle, puis se rendre dans différentes régions, ce qui est déjà une tâche assez difficile - d'autant plus que le jeu multiplateforme n'a pas d'API pour le faire. Il s'agit d'un processus manuel minutieux que vous devez effectuer pour chaque plate-forme individuelle. Par conséquent, il est préférable d'organiser le magasin principal aussi simple que possible, mais d'organiser celui en jeu comme vous le souhaitez.



Ce qui précède est un exemple du fonctionnement du système, où les joueurs peuvent effectuer des achats sur Steam, et la sécurité de ces achats est assurée par un système de commerce électronique unique.

Ce qui suit est un organigramme d'achat Steam.



Conseil n ° 7: Méfiez-vous des exigences de certification supplémentaires pour les systèmes multiplates-formes.

Trois choses sont garanties dans votre vie:

  1. Mort;
  2. Les taxes
  3. La certification a échoué sur l'une des plates-formes lors de la publication du correctif.

Si vous avez déjà passé la certification auparavant, vous savez que cela peut être assez difficile. Elle comprend de nombreux aspects et cette liste varie d'une plateforme à l'autre. Lors de la création d'un jeu multiplateforme, vous devez garder à l'esprit que dans ce cas, il existe des exigences de certification supplémentaires.

Recommandation: créez vous-même un airbag afin de comprendre ce dont vous aurez besoin pour réussir la certification et prendre les mesures appropriées.

Astuce # 8: Sortie séparée et sortie

Fortnite a un événement temporaire qui emmène les héros de la première saison à la seconde: selon l'intrigue, le monde entier a soudainement commencé à s'effondrer et à s'imprégner dans un trou noir.

Fait intéressant, cet événement n'a rien à voir avec l'activation de la mise à jour. Lorsque vous publiez une mise à jour de jeu, vous ne pouvez pas la synchroniser avec les changements de configuration sur toutes les plateformes, c'est un processus très long: vous devez contacter votre gestionnaire de compte, suivre le processus de certification et faire bien d'autres choses.

Mais ce n'est pas la seule façon de modifier le jeu.

Les changements de jeu sont généralement effectués via:

  1. Mises à jour du jeu;
  2. Patch pour le remplacement des données;
  3. Commutateurs côté serveur (bascules côté serveur).

Les commutateurs côté serveur sont des variables de serveur que vous définissez d'abord sur le serveur, puis forcez les clients et les serveurs de jeu à répondre aux modifications de ces variables. Ils peuvent être utiles pour planifier des événements de jeu, équilibrer le jeu, activer le Kill-Switch et les drapeaux de fonction.

Exemples d'utilisation:

  • Activer / désactiver les fonctions sur certaines plates-formes;
  • Restreindre l'accès à certaines fonctionnalités du jeu pour QA.



Le diagramme ci-dessus montre comment vous pouvez organiser un système pour répondre aux clients de jeu et aux serveurs en modifiant les variables sur un serveur. Les notifications push dans ce cas sont assez pratiques, mais pas obligatoires, à la place, vous pouvez simplement utiliser les pools.

Astuce # 9: Une fois acheté, jouez n'importe où (BOPA)

Attention: il s'agit d'un territoire inexploré, et l'auteur ne peut pas garantir l'exactitude absolue des données.

BOPA (Buy Once Play Anywhere) permet aux utilisateurs d'acheter un jeu sur une plateforme afin qu'il apparaisse ensuite dans leurs achats sur n'importe quelle autre plateforme.

Pourquoi c'est important?



Les joueurs n'ont plus à se soucier des plates-formes à acheter - ils peuvent simplement acheter le jeu. Pour les développeurs de jeux, l'avantage est qu'ils peuvent rassembler leurs joueurs dans une seule base, étendre leur marque et attirer du trafic vers leur magasin.

Nous listons trois éléments requis par BOPA:

  1. Système d'identification unifié;
  2. Système unifié d'octroi de droits d'accès avec possibilité de les suivre;
  3. Accorder des droits d'accès à votre boutique multiplateforme sans avoir à saisir de clé: la possibilité d'appeler l'API d'une autre plateforme pour fournir des droits à la plateforme actuelle.

Il convient de noter que cette dernière option n'est pas largement disponible, seules certaines plates-formes la prennent en charge.

Voici quelques exemples de mise en œuvre de BOPA.

Scénario 1: après un achat dans votre boutique, le jeu apparaît dans la bibliothèque Steam.



Remarque: l'API utilisée ici n'est pas accessible au public, vous devez donc en parler à votre responsable de compte.

Scénario 2: lors de l'achat sur Steam, le jeu apparaît dans votre boutique.



Dans ce cas, vous ne pourrez pas suivre le processus d'achat sur Steam, vous devez donc vous fier au joueur.

Points clés

La multiplateforme est idéale pour les jeux avec un plan de support de projet à long terme. Comme vous l'avez probablement déjà compris, la création de tels jeux est très simple: vous aurez besoin d'une grande équipe, de beaucoup de temps et d'argent pour disposer de l'infrastructure appropriée pour le supporter.

Où commencer?

Tout comme dans le cas des moteurs de jeux, il existe différentes solutions que vous pouvez utiliser pour implémenter plusieurs plateformes, il n'est donc pas nécessaire de les créer à partir de zéro - bien sûr, si vous ne le souhaitez pas vous-même. Certains d'entre eux: GameSparks, Photon, AccelByte, PlayFab.

Chacun a ses avantages et ses inconvénients - cela dépend de ce dont vous avez besoin. Ils peuvent varier selon:

  1. Coût;
  2. Maintenance de diverses plateformes;
  3. Options de personnalisation et d'extensibilité
  4. Qualité SDK;
  5. Fiabilité;
  6. Évolutivité.

Cet article décrit les problèmes les plus élémentaires que vous pouvez rencontrer lors de la création d'un jeu multiplateforme. Pour approfondir cet aspect, vous pouvez rejoindre, par exemple, le sujet Online Gamedev [BaaS] dans Discord.

All Articles