L'interface utilisateur : un outil communautaire

Andrew Meggs présente à nouveau une partie des choix technique faits pour Camelot Unchained, et cette fois-ci c'est au tour de l'interface utilisateur et des possibilités étendues de cette dernière.

Illustration

L'interface est un élément très important dans un jeu car il s'agit de la liaison entre le jeu et le joueur . Et celle imaginée par CSE est particulièrement innovante et ambitieuse pour un MMORPG.

Depuis longtemps une partie des MMOs laisse la liberté au joueur de personnaliser son interface, de façon plus ou moins poussé. Certains jeux permettant en effet de rajouter de nombreuses informations à l'écran (une fenêtre qui récapitule les barres de vie du groupe par exemple) ou bien en changer l'organisation et l'aspect des fenêtres et du chat (ce qui peut être appréciable en fonction de la résolution de son écran). Jusque-là, c'était surtout les langages XML et LUA qui étaient utilisés pour effectuer ces modifications.

L'approche de City State Entertainment est différente. Ils vont choisir des technologies connues d'un plus grand nombre de personnes puisqu'il s'agit des mêmes que celles utilisées au quotidien pour des milliards de page web : l'HTML et le JavaScript. Avec la concurrence que se livrent les navigateurs web, ont dispose à la fois de quelque chose de très performant, peu gourmand en ressource et extrêmement stable. Concrètement, le principe est de mettre le rendu du site dans des textures que le moteur graphique affichera ensuite en jeu.

Mais si il s'agit d'une page web, pourquoi ne pas y accéder aussi en dehors du jeu ? Et bien, c'est possible et cela permet en effet d'accéder à tout un tas d'information depuis votre ordinateur du travail ou bien depuis un smartphone ou une tablette. On pense notamment au chat du jeu. On retrouve ici la composante sociale que MJ veut mettre en avant pour son jeu.

Tout cela va même plus loin encore. En effet pour laisser les joueurs modifier l'interface, Andrew nous explique qu'il est obligé de leurs donner accès à de nombreuses informations fournies par le jeu. Même s'il y a tout de même quelques restrictions pour ne pas casser le gameplay, il s'agit là d'un système qui n'est pas sans rappeler celui de l'API de EVE Online. Un jeu lui aussi fortement basé sur sa communauté et qui a vu fleurir de nombreux outils de qualité mis à disposition par les joueurs. On pense notamment à la carte géopolitique de EVE, les rapports de batailles extrêmement détaillés ou bien encore l'outil permettant d'optimiser son équipement et ensuite planifier les compétences à obtenir pour pouvoir l'équiper.
C'est exactement le genre d'outils qui pourrait aussi être réalisable pour Camelot Unchained et qui serait bénéfique à la notion de fierté de royaume et de guilde mise en avant dans les principes fondamentaux du jeu. Une application pour suivre le déplacement du front au jour le jour on encore un site de guilde qui référence la liste de toutes ses victimes par exemple.

Il est maintenant temps de laisser la parole à Andrew sur ce sujet :

Faire un jeu à partir du web

Aujourd'hui je voudrais vous parler de ce que nous planifions pour l'IU, mais c'est une chose bien plus complexe que de simples fenêtres et boutons. C'est reconnaître qu'une fois un MMORPG est lancé, le monde appartient autant aux joueurs qui le forment qu'aux développeurs qui l'ont construit. C'est admettre que, en tant que petit studio, nous ne serons pas en mesure d'offrir une expérience pour le type de jeu de chacun, mais qu'il y a autant de talent et de créativité dans une grande communauté que dans notre studio. Et c'est assumer le fait qu'en 2013, la possibilité de se connecter n'est pas une chose qui devrait s'arrêter parce que vous vous éloignez de votre ordinateur.

Il y a quelques années, je suis me suis fait une idée: tout ce « web » sera sûrement présent pendant un moment. Ça a l'air un peu stupide. Ça devrait paraitre stupide, car c'est une évidence. Mais pour une quelconque raison, beaucoup de développeur de MMO n'ont pas encore franchi le pas complètement. Il y a des MMO basés sur navigateurs, mais la plupart prennent juste un MMO pour l'adapter à un navigateur, sans faire la majorité des choses que cela permettrait. Il y a des MMOs qui font un travail de plus en plus intéressant et bon, en exposant leurs données via des API web (EVE et WoW sont des références en la matière), mais même ainsi, il s'agit plus d'une vue sur le fond du jeu que du jeu e lui-même.

Et si, au lieu de mettre des parties du jeu sur le web, nous faisions un jeu à partir du web?

C'est ce qui nous ramène à l'IU de Camelot Unchained. J'ai travaillé et/ou construit de nombreux toolkit d'IU au cours des années. Scaleform (ndlr: solution d'IU pour les jeux d'Autodesk) profite bien de tous les outils d'authoring de Flash, et est vraiment important dans tous les jeux AAA - nous l'avons utilisé sur Skyrim. Pour Warhammer Online, nous avons utilisé une solution personnalisée avec de LUA et XML (ndlr: languages IT) - qui était vraiment familière pour les joueurs qui construisaient déjà des IU et des mods en LUA/XML pour d'autres MMO. Mais il y a une autre option qui existe, et qui n'est pas autant utilisée qu'elle devrait l'être. Un outil encore plus utilisé par nos joueurs mais pour tout autre chose. Un moteur de scripting qui a été optimisé pendant des années par un équipe composée des esprits les plus brillants de cette industrie. Un runtime (ndlr: processus d'exécution) qui a été testé intensivement chaque jour sur des centaines de millions de PC, et rendus directement en textures DirectX, prêtent à l'emploi pour les jeux.

Je parle, bien entendu, des inénarrables HTML et JavaScript. Chaque partie de notre IU peut se comporter comme un fragment de page web, avec les mêmes CSS et PNGs que nous aimons et connaissons tous. Que nous utilisions Chromium ou Mozilla ou Awesomium ou n'importe quelle autre implémentation n'est pas la chose la plus importante ici; ce sont toutes les autres portes qui nous sont ouvertes pour avoir une IU simple, rapide, flexible, très facilement modifiable.

N'importe quand, n'importe où, sur n'importe quoi

En premier et principal lieu, parce que toutes choses de notre IU sera implémentée comme des pages webs par dessus le jeu, notre IU peut aussi être directement mise dans une page web. Avez-vous déjà voulu accéder au t'chat de votre guilde d'un autre endroit que le client du jeu? Et bien vous l'autre directement à cette adresse : www.camelot-unchained.com/guildchat (le lien ne marche pas.. encore). Cela ne sera pas une version limitée, légère de ce que vous aurez en jeu; non, cela sera exactement la même chose. Un accès aux personnages? Statistiques pour votre royaume? L'état des frontières et des combats? Tout sera là.

Bien entendu, tout ce qui requiert que votre personnage soit physiquement présent dans le jeu ne sera pas disponible si vous n'êtes pas connecté via le client, et il y aura des choses que nous limiterons pour des questions de sécurité et de combat contre le spam. Mais plus généralement, toute votre vie sociale et une bonne partie de votre vie économique sera disponible de n'importe où, dans n'importe quel navigateur moderne, sans plugins, de la même manière que si vous utilisiez notre superbe client de jeu.

Accessibilité = Personnalisation

Comme mentionné, HTML et JavaScript sont connus par a peu près n'importe qui ayant déjà programmé. Il y a des très bons outils dans d'autres langages, mais le nombre de personnes ayant un peu d'expérience dessus est bien loin de celui des personnes qui connaissent et comprennent comment faire une page web. Nous souhaitons que la seule barrière pour les modifications soit votre propre créativité, et cela signifie que nous ne voulons pas que le premier obstacle soit d'apprendre un nouveau langage ou l'utilisation d'un toolkit.

Il y a aussi de jolies choses qui viennent avec le HTML. Vous voulez que votre plugin ressemble à tout le reste du jeu, sans avoir à être graphiste vous-même? « Inheritez » juste notre CSS*. Vous voulez changer le look de tout le jeu, y compris les plugins des autres, car vous êtes graphiste? « Overridez » notre CSS** . C'est le C de CSS qui le rend magique***. C'est là où le côté sandbox de l'implémentation des navigateurs modernes est important - car comme leur sécurité a déjà été éprouvée « dans la nature », nous pouvons être un peu plus libéraux sur la part de scripting que nous laissons.

* (ndlr: action de dev. qui permet « d'hériter » des propriétés d'un fichier/classe)
**(ndlr: autre action qui vise à se baser sur un fichier en écrasant certaines de ses propriétés pour les personnaliser)
*** (ndlr: « Cascading » en anglais).

Un de mes buts personnel, même si cela ne sera pas forcément disponible au lancement, est de pouvoir rendre l'installation d'une IU, d'un mod ou d'un plugin aussi simple que de copier/coller une URL directement dans le jeu. Nous savons que nous ne pouvons pas faire de tout pour tout le monde, mais nous voulons être sûrs que tout le monde peut faire quelque chose pour les autres.

Messieurs, lancez vos « Mashups » *

Finalement, pour pouvoir baser notre IU entièrement sur des pages web, nous devons exposer notre jeu d'une manière que peut de MMOs ont utilisé. Il n'y a pas d'autre choix. Chaque jeu doit exposer ses composants internes à sa couche d'IU. Les studios ayant beaucoup de ressources externes devront aussi exposer une API web incomplète pour le jeu, mais ce n'est pas vraiment le cas ici. Notre API web sera notre première et principale API. Cela signifie que toutes les choses auxquelles vous pourrez accéder en jeu seront disponibles et affichables sur votre site web, utilisant votre propre code.

Vous souhaitez un affichage personnalisé de qui a vaincu untel dans le dernier combat, croisé avec le type d'arme qu'ils utilisaient? Construisez-le. Que dites-vous d'une carte répertoriant les meilleurs endroits pour mettre en place un engin de siège? Nous avons hâte de la voir. Nous avons vraiment des gens talentueux et créatifs ici, chez CSE, mais nous savons aussi qu'il y a encore plus de créativité et de talent dans notre communauté, attendant d'être « lâché » si nous vous donnons les clés.

Et, le mieux, parce que nous avons un navigateur web construit dans le jeu, vous pourrez alors tout re-injecter directement dans le jeu comme un mod d'IU à partager. Il n'y aura pas de distinction. Il ne devrait pas y avoir de distinction. Nous sommes en 2013, toute la programmation est de la programmation web, et il est temps pour les MMOs de prendre le pas sur le reste d'internet.

* Mashups signifie, en IT, le développement d'une app/programme basé sur la combinaison d'éléments externes

Andrew

Pour les personnes désirant plus de renseignement sur l'aspect technique, Andrew donnes quelques détails supplémentaire (en anglais) sur le site officiel du jeu.

Source : http://camelotunchained.com/fr/faire-un-jeu-a-partir-du-web/

Réactions (40)

Afficher sur le forum

  • En chargement...