Tous les articles

Un monde, cinq plateformes — Devlog n° 2 : les défis du développement d'un MMORPG multiplateforme

Un MMORPG jouable à la souris, au tactile et à la manette : interface, commandes, 30 langues et traduction locale du chat dans Ancient Online.

Une manette de jeu posée sur un bureau dans la pénombre, où se reflètent des lueurs rouges et turquoise

Nous concevons Ancient Online: Remastered comme un seul et même monde où se retrouveront les joueurs Windows, Linux, macOS, Android et iOS. Sur le papier, cela paraît simple : un jeu, cinq plateformes. Dans la pratique, amener sur téléphone et à la manette un MMORPG classique pensé pour être joué à coups de clics de souris implique une série de décisions difficiles. Dans cette partie du journal de développement, nous partageons ces décisions et leurs raisons.

Le jeu est en cours de développement. La version de développement est actuellement testée sur des appareils Windows et Android ; macOS, Linux et iOS sont les autres plateformes que nous visons.

Règle n° 1 : un monde, un seul jeu de règles

Il n'y a ni serveur à part ni équilibrage « simplifié » pour les joueurs mobiles. Comme toutes les règles du jeu s'exécutent sur le serveur, tu joues dans le même monde, selon les mêmes règles, quel que soit l'appareil depuis lequel tu te connectes. Ton compte, ton personnage, ton inventaire et ta guilde ne dépendent pas de l'appareil. Nous avons présenté le côté serveur dans la première partie du journal de développement.

Pour le client, cette règle signifie que des plateformes différentes peuvent proposer des commandes différentes, mais pas des capacités différentes.

Écrans tactiles : repenser plutôt que rétrécir

Rétrécir telle quelle l'interface classique d'un MMORPG pour la poser sur un téléphone ne fonctionne pas ; les boutons deviennent trop petits pour un doigt et l'écran trop chargé. Nous avons donc conçu une couche d'interface distincte pour le mobile :

  • Un joystick flottant : où que tu poses le doigt dans la moitié gauche de l'écran, le joystick vient s'y placer ; le joueur n'a pas à viser un endroit précis de l'écran.
  • Un bouton d'attaque à maintenir, entouré d'un arc de compétences.
  • Toucher pour cibler : l'équivalent tactile de l'habitude du « clic sur le monstre » du PC.

Il y a aussi une chose que nous avons délibérément choisi de ne pas faire : toucher pour se déplacer. C'est le joystick qui s'occupe du déplacement. Avec deux systèmes de déplacement, chaque toucher qui manque sa cible se transformerait en une course involontaire, et en plein combat, c'est inacceptable.

Encore une décision, petite mais importante : sur un téléphone, seuls quelques emplacements sont visibles à la fois, si bien que l'on change de page de compétences bien plus souvent que sur ordinateur. Nous avons rendu les emplacements de potions indépendants des pages ; quand tu changes de page, tes potions restent à leur place. Cela a demandé plus que de déplacer une case dans l'interface : il a fallu séparer entièrement de la logique des pages le code qui utilise les emplacements de potions.

Caméra et multi-touch

Sur un téléphone, la caméra tourne quand tu fais glisser un doigt sur une zone vide. Le faire en posant une « zone caméra » plein écran par-dessus l'interface était tentant, mais une telle couche avalerait les touchers destinés à tous les boutons situés en dessous. En traitant le glissement de caméra dans le contrôleur du joueur plutôt que dans la couche d'interface, nous avons évité les conflits entre les boutons et la caméra. Nous distinguons aussi la sélection de cible du glissement de caméra grâce à un petit seuil de déplacement : tant que le seuil n'est pas franchi, la caméra ne bouge pas, et une fois franchi, elle se met à tourner sans à-coup.

Manettes : parcourir aussi les menus

Nous avons conçu la prise en charge de la manette pour toute l'interface, pas seulement pour le combat. Pour parcourir l'inventaire et les menus à la manette, nous avons ajouté une navigation au focus avec la croix directionnelle. Là aussi, il y avait un piège : la croix directionnelle et les boutons de validation et de retour servent à la fois à parcourir les menus et à utiliser les emplacements rapides. La solution : tant qu'une fenêtre est ouverte, ces boutons parcourent le menu, et quand elle est fermée, ils reviennent aux emplacements rapides. Basculer silencieusement en « mode menu » en plein combat serait le pire bug que ce système puisse avoir.

Le jeu garde en mémoire le dernier périphérique d'entrée que tu as utilisé : quand tu passes à la manette, les boutons tactiles s'effacent de l'écran.

Les paramètres suivent aussi la plateforme

La fenêtre des paramètres prend forme selon l'appareil : les onglets souris et clavier n'apparaissent que sur PC, et l'onglet tactile n'apparaît que sur téléphone. Les options graphiques réservées aux ordinateurs, comme Lumen, DLSS et FSR, laissent place sur mobile aux options de résolution et d'anticrénelage. Sur chaque appareil, nous n'affichons que les paramètres qui y servent réellement à quelque chose.

30 langues et une interface mesurée langue par langue

Le jeu et nos sites visent 30 langues. La difficulté cachée d'une interface multilingue, c'est la longueur des textes : le même libellé de bouton peut être court dans une langue et deux fois plus long dans une autre. Nous calculons la largeur des onglets de la fenêtre des paramètres à partir de la largeur réelle de chaque libellé dans la langue concernée, au lieu de leur donner des parts égales ; quand la langue change, la mise en page est recalculée. Dans le sélecteur de langue, chaque langue est écrite sous son propre nom.

La traduction du chat sur nos propres serveurs

Pour que des joueurs de pays différents puissent se comprendre dans le même monde, les messages du chat sont traduits dans la langue du lecteur. Deux principes nous ont guidés dans la construction de ce système :

  1. Les messages ne quittent pas nos serveurs. La traduction est effectuée sur nos propres serveurs par un modèle local, qui n'utilise que le processeur ; aucune API de traduction externe n'est utilisée.
  2. Préserver la langue du jeu. Le chat d'un MMORPG est plein d'abréviations, de termes de jeu et d'émojis. Nous utilisons un glossaire propre au jeu, et nous protégeons les émojis à part pour qu'ils ne se perdent pas à la traduction.

La suite

Le travail se poursuit sur les performances mobiles et sur les autres plateformes que nous visons. Pour la liste complète des commandes côté joueur, jette un œil au guide multiplateforme PC et mobile sur le site du jeu. Pour faire connaissance avec notre studio, lis Qui est Astronaut Entertainment ?.

Partager:
Également disponible en29