Pour celles et ceux qui ne connaîtraient pas Riot Phroxzon, une brève présentation s'impose. Cela fait plusieurs années qu'il est le Lead Designer du MOBA de Riot Games, ce qui signifie que c'est lui qui chapeaute la plupart des décisions prises dans le jeu, que ce soit la création de nouveaux champion, l'équilibrage global du jeu, ou encore les futurs modes de jeu qui arriveront. Il ne prend pas directement toutes les décisions, mais s'assure que chaque équipe avance dans la même direction générale (par exemple, si la volonté de Riot est d'accélérer les games, il va s'arranger pour que l'équipe responsable de l'équilibrage et celle responsable de la création de nouveaux objets aient cet objectif en tête). Il s'est exprimé récemment sur les réseaux sociaux pour expliquer aux joueurs à quel point l'ajout de nouvelles mécaniques est complexe dans un jeu comme League of Legends.
Ajouter de nouvelles mécaniques sur LoL est un chemin de croix
Tout d'abord, Phroxzon parle de problèmes éventuels liés au code du jeu. Celui de League of Legends contiendrait au bas mot plusieurs millions de lignes, et il est donc impossible que chaque développeur / chaque ingénieur soit un expert dans tous les domaines du code. Il explique qu'une personne pourra être experte sur environ 5% du code, et suffisamment compétente pour faire de bonnes modifications sur maximum 30% du code. À cela, il faut ajouter le fait que le code du jeu est en constante évolution, signifiant que chaque expert doit continuellement se former sur les nouveaux changements apportés à League of Legends.
Au fil des années LoL est devenu un jeu de plus en plus gros. Cette croissance implique aussi le fait que le jeu doit répondre à certains standards de qualité, qu'un jeu moins important pourrait se permettre d'ignorer (on pardonne plus facilement des bugs/ freezes sur les jeux indés que sur un AAA, sans même parler d'un jeu compétitif). Plus le jeu grandit, plus cela ajoute de nouveaux défis qu'il faut sans cesse relever pour améliorer l'expérience joueur, ou au moins la garder de qualité équivalente. Cela signifie qu'à chaque nouveau problème spécifique apparaissant, les experts doivent encore plus se spécialiser dans un domaine précis, réduisant indirectement leur domaine de compétences générales.
Afin de bien différencier un expert d'une personne compétente, il fait un parallèle footballistique, expliquant que mettre un développeur dans un domaine où il n'est pas un expert serait comme demander à Messi de jouer gardien de but. Il peut probablement le faire, mais sera moins fort qu'un goal de métier, et ce n'est certainement pas la manière la plus pertinente d'exploiter le potentiel du champion argentin. Selon Phroxzon, ces choix sont cruciaux. 7 personnes juste compétentes dans un domaine obtiendraient de moins bons résultats en travaillant sur un problème, que trois experts dans ce domaine. Identifier les problèmes actuels sur le jeu, et savoir quelles sont les bonnes personnes pour les résoudre, ainsi que quels problèmes prioriser est un défi constant.
Il faut aussi ajouter à cela que les ressources chez Riot restent limitées, et que les développeurs doivent parfois composer avec des décisions prises il y a plus de 10 ans, au tout début du jeu. En plus de ça, il faut voir que certaines priorités peuvent changer en cours de route. Par exemple, l'année dernière certaines équipes ont été déplacées pour travailler sur le mode Arène, ce qui a entraîné certains retards chez les équipes chargées de la création de champion et de l'équilibrage dans la Faille de l'Invocateur.
Exemple concret
Ces explications pouvant sembler un peu nébuleuses, Phroxzon a donné un exemple plus concret. Il a choisi de présenter les difficultés d'un changement lié à la différence de niveau entre deux joueurs décidant de faire des ranked ensemble. Déjà prendre cette décision signifie avoir écarté d'autres changements potentiels, comme par exemple améliorer l'algorithme de matchmaking afin d'avoir des équipes plus équilibrées.
Partant du principe que cette solution est retenue, plusieurs équipes d'expert doivent alors travailler dessus. Les experts en données doivent déterminer combien de games sont nécessaires pour qu'un seeding soit mis en place, et comment cela va interagir avec l'ancien système. D'autres experts devront se pencher sur la manière de stocker ces nouvelles informations, la façon qu'aura le jeu d'interagir avec tout en anticipant de potentiels problèmes à venir, ainsi que bien sûr ne pas laisser de failles de sécurité dans le code.
L'équipe responsable du client du jeu devra elle aussi travailler sur la façon dont ce dernier ira chercher ces informations, et pourra les transmettre aux ordinateurs des joueurs. Enfin il y aura d'autres choses à implanter au niveau des flux d'informations, qui seront de la responsabilité de l'équipe UX. Il leur faudra décider si les joueurs ne pourront tout simplement pas s'inviter dans des parties classées, ou si ils pourront s'inviter mais le bouton sera grisé dans le lobby les empêchant de lancer une game, et comment cette information est donnée au joueur (y aura-t-il un pop-up, ou cela sera-t-il écrit en rouge dans le lobby?).
Bien entendu, pour que cette décision puisse être validée, il faudra que chaque équipe d'expert soit disponible pour travailler sur cette partie du jeu. Par exemple, si l'équipe UX est plutôt occupée à travailler sur les changements à faire pour l'arrivée de la nouvelle saison, elle ne peut pas se concentrer sur l'autre point. C'est pour toutes ces raisons que le moindre changement est mûrement réfléchi, et qu'il n'est pas possible de tout améliorer en même temps.