Plateforme Wargaming: Hello World

WTF est Platform?


Wargaming a une unité distincte qui est engagée dans ... développe une sorte de "plate-forme" pour la publication de jeux. Il est très difficile d'expliquer ce qu'est la Plateforme, ce qu'elle est et ce qu'elle n'est pas, mais je vais essayer.


Pourquoi l'article est-il apparu


Salut Je m'appelle Maxim. Et je travaille ici [à Wargaming].


Nous avons une unité distincte qui est engagée dans ... développe une sorte de "plate-forme" pour la publication de jeux. Mes collègues et moi avons le désir de vous parler de la Plateforme et de sa «cuisine» interne: qui nous sommes, ce que nous faisons, quelles décisions techniques nous prenons, ce que nous avons fait et quoi ne pas. Je suis l'un des «anciens» employés de cette équipe, et dans cet article, je veux parler de la façon dont nous sommes arrivés à la nécessité de créer la plate-forme et les principales étapes de son développement.



Top Story: le début


World of Tanks est loin du premier jeu Wargaming, mais la création de la plateforme a commencé avec lui. Bien que le concept même de [Plate-forme] et sa séparation en une entité distincte soient apparus beaucoup plus tard.


Le jeu (qui se compose d'un client et d'un serveur) a d'abord été ajouté:


  • forum - à ce sujet, les joueurs ont parlé (depuis le début de l'alpha) avec les développeurs du jeu;
  • site portail - où était le premier enregistrement des comptes, des nouvelles, des articles;
  • lanceur - une application client qui met à jour le jeu;
  • système de paiement - un service pour recevoir de l'argent des joueurs: intégration avec des agrégateurs de paiement externes, tout d'abord;
  • un site séparé pour le support technique - qui vous permet de gérer la propriété du joueur;
  • une billetterie - où les joueurs ont laissé leurs applications.

Une telle équipe a réussi à entrer dans des tests fermés, à commencer à recevoir des paiements (avant-vente), puis - à ouvrir et, enfin, à publier (en août 2010).


Article principal: Développement rapide: allumé et éteint et en production


Avant la sortie de «Tanks» et longtemps après, le développement principal de la plateforme s'est déroulé en mode «plus rapide et plus grand». Souvent, les services bruts entraient dans la version, qui se stabilisait ensuite, et il était temps de faire d'autres solutions pour d'autres tâches:


  • exportateur - un service distinct qui stockait une "réplique" de ces jeux sous la forme d'un ensemble de JSON; le fait est qu'à l'intérieur du jeu, les données sont sous forme binaire, plus pratique pour le moteur WoT, et à l'extérieur (à partir de sites Web typiques), il est plus facile d'utiliser une représentation textuelle;
  • Service d'authentification unifiée - pour un jeu, un forum, un site de jeu, etc.; Avant cela, la paire «login / mot de passe» était stockée dans presque tous les services séparément, et il n'était pas toujours possible de les stocker de manière cohérente;
  • guerres de clans - en fait, un jeu de navigateur séparé avec des puces, des attaques sur le territoire des voisins, avec des batailles qui ont déjà eu lieu à l'intérieur de WoT;
  • tournois - similaires aux guerres de clans;
  • une augmentation continue des méthodes et de la commodité du paiement est généralement une tâche sans fin, vous pouvez toujours faire mieux et plus.

"Tanks" à cette époque est sorti en Europe et en Amérique du Nord.



Top Story: Avions, Navires


Ensuite, la société a commencé à développer non seulement des "réservoirs". Et puis le manque de ce que nous avons fait plus tôt pour la plate-forme est devenu évident. Tout ce que nous avons développé a été fait pour un jeu. De plus, il s'agissait en fait de prototypes; A cette époque, nous n'avions ni le temps ni les mains pour de longs tests. À cette époque, nous avons pensé théoriquement à la mise à l'échelle de plusieurs jeux.


Les serveurs de jeu World of Tanks, World of Warplanes, World of Warships sont basés sur le moteur de jeu BigWorld et les tâches de base d'intégration avec les services de plateforme pourraient être implémentées de manière générale. Mais les équipes chargées de développer chacun des jeux ont leur propre vision de la façon dont chacun des jeux doit être présenté. Autrement dit, malgré le fait que le vecteur général coïncide, il s'est avéré qu'il existe un grand nombre de différences qui sont venues sur notre plate-forme sous la forme d'exigences distinctes.


Une partie des services (par exemple, les portails Web de jeu d'Avions et de Navires) s'est en fait avérée être les douilles fourchues du portail de chars. La deuxième partie, bien qu'elle soit restée inchangée, mais l'architecture de ces services était telle que pour chacun des jeux une copie séparée fonctionnant en production était requise. Et seule une petite partie des services était facile à modifier afin de laisser une seule copie pour tous les jeux dans une région particulière.


Il y avait beaucoup plus de travail et une lutte constante a commencé. Quel est le meilleur: une solution technique unique pour tous les jeux ou une solution distincte pour chacun? La duplication est un travail inutile, mais cette approche donne aux jeux la possibilité de personnaliser librement, de publier les versions plus souvent et de suivre leur propre chemin.



L'histoire au sommet: consoles, téléphones portables


Lorsque les jeux ont commencé à sortir non seulement sur PC (principalement World of Tanks sur consoles et appareils mobiles), cela a affecté la plate-forme de la manière la plus directe. Les "réservoirs" sur ces appareils ne sont pas des ports PC, ce sont des jeux séparés, complètement repensés. Mais! Les serveurs de ces jeux, bien qu'ils aient été repensés, au tout début ne différaient pas beaucoup de la version PC.


Nous avons été confrontés à la tâche d'intégration avec des plateformes tierces; nous devions devenir un proxy entre eux et le jeu, assumer autant de tâches d'interaction que possible et minimiser les changements dans les parties serveur des jeux. Tout d'abord, ce sont les tâches:


  • prise en charge de la connexion à l'aide de Sony PSN et Microsoft Xbox LIVE;
  • se connecter aux ressources Web du GT;
  • création de comptes et de connexions sur des appareils mobiles;
  • les paiements.

Des travaux spécifiques sur l'intégration avec l'API Microsoft et Sony ont été les développeurs de jeux eux-mêmes. De nous, comme des développeurs de la plateforme, nous avions besoin de l'achèvement de certains composants et d'une aide à l'intégration. Bien que nous ayons également eu suffisamment de tâches liées aux spécificités de ces plateformes.


Régions insolites: Vietnam, Chine, Corée


L'Asie est un monde séparé. Et même pas un. Il y a beaucoup de nuances. Y compris comment exactement les gens jouent à des jeux:


  • La Chine est une version du jeu exclusivement avec un partenaire local. Le fait est qu'en Chine, il est très difficile de sortir un jeu seul. Un grand nombre de procédures administratives sont nécessaires, y compris l'approbation par le gouvernement.
  • Vietnam - là World of Tanks a travaillé pendant plusieurs années avec un partenaire qui ... dont l'API d'intégration était sous la forme de procédures stockées pour MS SQL.
  • La Corée est une législation très exigeante. Ce qui, en particulier, nécessite une intégration obligatoire avec le SaaS gouvernemental. Il fournit des données sur le nom, l'âge, etc. du joueur et insiste sur la mise en œuvre de restrictions sur les paiements (pas plus de 500 $ par mois), sur les heures de jeu, etc. Il existe même des exigences pour les mots de passe des joueurs.

Fonctionnalités avancées


À un certain moment, des services ont commencé à se développer, qui étaient nécessaires pour un meilleur fonctionnement des jeux.


D'après ce que les joueurs eux-mêmes affrontent, ce sont:


  • Wargaming Game Center (WGC) - une seule application Windows pour installer des jeux;
  • un service d'offres personnalisé pour la boutique basé sur les statistiques des joueurs;
  • plan tarifaire conjoint de Wargaming et Rostelecom.

Et de nombreux outils internes pour le travail des services d'assistance, du contenu et autres.


Nouvelle plateforme pour de nouveaux jeux


Ensuite, nos tâches se sont étendues. Du support de plusieurs jeux réalisés par Wargaming sur le moteur BigWorld (WoT, WoWP, WoWS), il a fallu passer au support de nombreux autres jeux réalisés avec des technologies complètement différentes. Et pas seulement Wargaming.



Il est devenu évident que de nombreux composants peuvent prendre en charge plusieurs jeux, mais pas des dizaines / centaines. Oui, et nos API, utilisées pour l'intégration, étaient très affinées pour les jeux sur BigWorld, mais pas pour les jeux utilisant d'autres technologies.


Aucune "nouvelle" plateforme ne s'est produite. Il s'est avéré justement ajouter quelques nouveaux services et de nouvelles API qui coexistent parfaitement avec les «classiques». Les jeux qui sont allés sur de nouveaux rails (de ceux déjà annoncés) étaient:


  • Total War Arena;
  • Calibre
  • Pagan Online.

Eh bien, la migration des anciens a commencé.


Total


Une plateforme est une combinaison de services et d'outils pour publier des jeux - tout ce qui permet à un joueur:


  • S'inscrire
  • connectez-vous;
  • payer;
  • télécharger le jeu;
  • obtenir de l'aide.

Et pour l'éditeur - pour aider le joueur à le faire, en tenant compte de toutes les caractéristiques régionales et des souhaits des développeurs de jeux.



Ce qui est intéressant à savoir


Ceci est une histoire, quoique à l'étage, avec mes yeux. Il n'est pas nécessaire de le considérer comme officiel - quelque part où je pourrais me tromper, quelque part pour simplifier, quelque part pour exagérer. Mais! J'aimerais continuer à partager des informations. Faites-moi savoir ce qui vous intéressera et mes collègues et moi essaierons de vous en parler.


PS
Merci pour les photos Pandarama https://www.instagram.com/pandaramka/

Source: https://habr.com/ru/post/fr434004/


All Articles