Gaming Maze

Monnaie et ressources limitées

Monnaie et ressources limitées

Bien souvent dans les MMOs, la monnaie en elle même préexiste aux participants. Des quantités de monnaie sont créées ex nihilo par l’activité des joueurs, et cette monnaie ne peut pas souffrir de la méfiance dans sa valeur de la part des joueurs qui n’ont en général jamais meilleur intermédiaire d’échange.

Lorsque la monnaie s’obtient directement via la mort des monstres ou la réalisation de quêtes, la monnaie est générée par le serveur en réponse à l’action du joueur. La monnaie peut dans ce cas exister en quantité potentiellement infinie dans le jeu. De la monnaie s’ajoute indéfiniment à la masse monétaire en circulation au fur et à mesure que les comptes utilisateurs consacrent du temps au jeu. Lorsque la monnaie se créée de cette manière dans le jeu, existent en général des outils de destruction de monnaie, comme des taxes ou des frais lors de l’usage d’un moyen de déplacement pour essayer de réguler la quantité de monnaie en circulation en la faisant sortir du cadre du jeu. Mais comme nous l’avions vu dans cette note, l’inflation, ou dit autrement la perte de la valeur de monnaie au fil du temps, n’est pas problématique dans des jeux où n’existent ni rente, ni salaire, ni taux d’intérêt ou de change.

Mais, par conséquent, une logique de création de monnaie ex nihilo étalonnée sur la simple activité dans le jeu, c’est à dire le temps de jeu des participants, donc un paramètre metajeu, empêche justement toute possibilité de proposer dans un MMO ces principes de rente, de salaire, de taux d’intérêt ou de change. C’est impossible du simple fait que la monnaie n’a pas d’autre valeur, relative, que le temps nécessaire à sa collecte.

Autrement dit, lorsque la monnaie ne voit sa valeur étalonnée sur aucune donnée encadrée par le jeu, et lorsque l’activité en jeu ne réclame aucun investissement autre que le temps de jeu, lorsque la monnaie ne sert qu’à l’échange et pas au développement, il est impossible que le jeu suggère un enjeu en ce qui concerne le contrôle de l’émission ou la possession de la monnaie.

Pour créer de l’enjeu autour de la monnaie dans les MMOs, il est préférable d’étalonner la monnaie, ainsi que la valeur de chaque ressource dans le jeu, plutôt selon un principe de rareté que selon le temps de jeu des participants. Pour que ce principe de rareté existe, le meilleur moyen est de proposer un cadre de jeu qui suppose que des ressources puissent exister seulement en quantités strictement limitées.

 

Même si ce jeu n’encadre pas du tout en l’état ce dont je vais parler, Minecraft illustre très bien cette idée de ressources limitées. Ce jeu n’est pas non plus à proprement parler un MMO, mais cet état de fait incombe plus à une problématique technique qu’à son design.

Dans Minecraft il existe des ressources limitées et des ressources renouvelables.

Les ressources renouvelables, comme les arbres, ne peuvent disparaitre complétement de l’univers de jeu si les joueurs se donnent la peine d’en replanter. En revanche, même si le charbon existe en quantités potentiellement illimitées du fait qu’on puisse en fabriquer grâce au bois, la majorité des minéraux ont une présence strictement limitée dans le jeu. Le fer, l’or, les diamants ne peuvent être générés par la simple action des joueurs : il ne suffit pas à un joueur de patienter pour qu’un bloc de ces ressources « repope » et le collecter.

En conséquence, sur un serveur Minecraft, puisque les ressources les plus rares, et en général les plus utiles, sont présentes en jeu de manière limitée, leur rareté définit leur valeur. Un joueur qui joue davantage qu’un autre est plus susceptible de trouver et de collecter du diamant bien entendu, donc celui qui joue plus est toujours susceptible de s’enrichir davantage, néanmoins la valeur de ces diamants ne dépend pas en elle même du temps qu’il aura fallu pour les collecter. Leur valeur dépend en priorité de la rareté dans le jeu de cette ressource.
D’autant que si on envisage le serveur comme un espace lui aussi limité, même s’il est immense en pratique, la quantité de diamants disponibles tend à se réduire à chaque fois qu’un joueur en collecte. Cela au contraire des jeux où les ressources et la monnaie sont générés ex nihilo par le serveur et s’ajoutent aux quantités qui existaient au préalable.

 

Un autre élément intéressant de Minecraft, est que la monnaie ne préexiste pas aux participants.

Dans Minecraft n’existe que de la proto-monnaie. C’est à dire que les objets et ressources servent spontanément d’intermédiaires dans les échanges. Suivant les communautés et les situations, les moyens d’échange pourraient tout aussi bien être le cuir que des épées en bois ou encore plus simplement les diamants.

Imaginons qu’un jour, les joueurs puissent frapper leur propres monnaies à partir de leurs minerais rares. Imaginons qu’à partir d’un lingot d’or, un joueur soit en mesure de fabriquer X pièces d’or. Et qu’il faille X+n pièces d’or pour refabriquer un lingot d’or. La valeur n représentant la perte au cours de l’opération, n pouvant pourquoi pas dépendre d’une compétence (s’il y avait un jour des compétences dans Minecraft…).

La monnaie ainsi créée aurait une valeur dépendante de sa quantité en circulation. Valeur qui évoluerait selon les variations des stocks d’or possédés par les uns et les autres.

Imaginons que pour frapper de la monnaie soient nécessaires des compétences, des outils et ateliers spécifiques et surtout un contexte social particulier. Imaginons que le jeu impose aux joueurs le fait que la frappe de monnaie ne puisse se faire que par des guildes d’un certain volume de joueurs, ou possédant une certaine souveraineté territoriale (que nous devons également imaginer en ce qui concerne Minecraft)… Dans un tel contexte, la possession de l’or, la capacité à frapper de la monnaie, devient un enjeu majeur des relations entre joueurs.

Et en allant encore plus loin, si l’on imagine que les conditions de récolte soient repensées pour supposer un investissement nécessaire à l’accès aux filons les plus profonds (comme par exemple en supposant que le fait de creuser des galeries consomme, selon la matière creusée, du bois d’étayage, de la redstone et d’autres matériaux pour assurer la ventilation de l’air dans les galeries, etc…) la valeur des minerais rares serait décuplée du fait de leurs coûts d’accès, et les activités commerciales seraient elles aussi décuplées du fait que les joueurs s’échangeraient bien davantage de ces biens devenus nécessaires à l’exploration en profondeur…

 

Bon, tout cela n’existera sans doute jamais dans Minecraft vu la façon dont ce projet est géré et le peu de ressources humaines affectées à son développement. Et aussi parce que cette vision du projet n’a sans doute rien à voir avec ce que Notch peut vouloir faire de son jeu…

Néanmoins, Minecraft dispose des bases d’un gameplay centré sur l’usage de proto-monnaies puis de l’émergence de monnaies frappées à partir de minerais rares et de tout ce que cela suppose en terme de relations sociales entre joueurs et d’appropriation de l’espace de jeu et de ses ressources. Minecraft pose d’ailleurs également les problématiques du développement dans un contexte de ressources limitées, du gaspillage de ressources, donc de la valeur des choses à court et à long terme…

 

Mais au delà du développement nécessaire à ce genre de features, ces dernières ne seraient pas simples à concevoir.

D’un point de vue de strict gamedesign, le plus gros écueil d’un système économique reposant sur des ressources limitées reste la question du nombre de joueurs que le système est supposé accepter pour fonctionner correctement.

Si la quantité des ressources limitées est trop grande par rapport à la quantité de joueurs évoluant dans l’univers, cette abondance casse le principe de rareté. Néanmoins ce problème n’est pas grave car il n’empêche pas les gens de jouer.

Ce qui serait problématique, c’est davantage le fait que si le monde est trop petit pour accueillir les joueurs, le cadre de jeu va trop rapidement témoigner de ses limites et il pourrait arriver que, rapidement, les joueurs ne s’y amusent plus. Ce qui pour un jeu qui n’est pas supposé avoir de fin, est problématique.

Par ailleurs, un cadre de jeu reposant sur les ressources limitées s’expose à des problèmes liés au turn over des joueurs. Si des joueurs qui disposaient d’un large contrôle sur certains aspects de l’économie arrêtent de jouer brutalement, les équilibres économiques se retrouvent brutalement modifiés selon des causes d’ordre, une fois encore, metajeu.

 

Une solution à explorer serait que l’impact sur l’univers qu’ont les joueurs, s’il doit rester décisif du fait que les personnages contrôlés par les joueurs sont supposés être des héros ou des champions, ne soit en revanche pas exclusif.

Placer les joueurs dans un contexte dont ils sont les principaux acteurs, mais qui est pensé pour encaisser le turn over des participants grâce à la multiplication des entités existantes en jeu, entités contrôlées par les joueurs, mais surtout entités PNJ. Ou autrement dit : placer les joueurs dans un simulateur de monde où la population des joueurs reste infime par rapport à la population totale de l’univers, un cadre de jeu où les héros sont l’exception et non la norme.

C’est un sujet qui éveille mon vif intérêt depuis des années, j’en parlerai dans de prochaines notes.

 

L’inflation dans Dofus

L'inflation dans Dofus

Comme souvent dans les MMOs, et contrairement aux économies réelles contemporaines, dans Dofus la monnaie n’est pas contrôlée. Aucune entité n’en a le monopole de l’émission, ni n’en assure la valeur.

Dans Dofus, la monnaie se nomme le Kama et sa création ne dépend que d’une chose : la victoire contre les monstres du jeu. En effet, même s’il existe également une création monétaire via la réalisations de quêtes, cette introduction de monnaie est d’ordinaire totalement négligeable en rapport de la monnaie créée suite aux combats contre les monstres.
Chaque victoire contre des monstres entraine une génération de Kamas par le serveur de jeu.

Dans ce contexte, plus les gens affrontent de monstres – donc plus les gens jouent ou plus ils sont nombreux à jouer -, et plus la masse monétaire augmente. Si aucun mécanisme de destruction de monnaie n’existe, la masse monétaire ne peut qu’inexorablement augmenter au fur et à mesure que les joueurs imposent au serveur de jeu de générer de la monnaie. Dans Dofus il existe quelques mécanismes de destruction de monnaie, comme certains moyens de voyager ou des taxes prélevées sur les transactions. Néanmoins ces mécanismes de destruction de monnaie ne sont pas pensés pour détruire de la monnaie dans des proportions en rapport avec sa génération. Autrement dit, rien ne garantit dans le système une valeur constante de la monnaie.

La confiance dans la monnaie n’a en elle même jamais été éprouvée. De ce que je sais, personne dans Dofus ne s’est retrouvé à utiliser un autre intermédiaire d’échange. A aucun moment des joueurs ont commencé à utiliser la corne de bouftou ou les ailes de moskito à la place du kamas pour faire du commerce. Mais si les joueurs n’ont jamais boudé le kama comme moyen de paiement, ils constatent souvent amèrement sa perte de valeur. Les joueurs ne saisissent en général pas que les prix en kamas des biens ne peuvent que monter dès lors que l’augmentation de la masse monétaire est inévitable. Et ce que ne comprennent en général pas non plus les joueurs c’est que dans Dofus l’inflation n’a objectivement aucune importance pour les joueurs actifs, c’est à dire les joueurs qui sont impliqués dans les échanges économiques du serveur. Les joueurs qui sont en marge des échanges vont bien entendu voir fondre la valeur de leurs kamas au fil du temps s’ils se contentent de les laisser dormir dans leurs poches.

 

Pourquoi la hausse des prix est-elle inévitable ?

Parce que sur les serveurs de jeu de Dofus, la génération de richesses ne suit pas la génération de monnaie.

Pour que les prix restent stables au fil du temps, il est nécessaire que pour tous les kamas que génère le serveur de jeu, soit créées en parallèle des richesses de même valeur. Les richesses dans Dofus, ce sont les ressources, les objets de panoplie, les enclos, les maisons, etc. Or dans dofus si la génération des ressources est en partie dépendante de la victoire contre les monstres, la création de monnaie est bien plus rapide que la création de richesses, ou du moins il se génère bien plus de monnaie que de richesses ayant de la valeur au regard de l’offre et de la demande.
Cet état de fait n’est bien sûr pas vrai pour les activités des personnages de très haut niveau pour qui l’issue d’un combat va faire générer par le serveur quelques milliers de kamas mais qui est susceptible de faire générer par le serveur des ressources dont la valeur à ce moment là peut dépasser le million de kamas. En revanche à très bas niveau, les personnages vont faire générer par le serveur à chaque victoire des quantités de kamas qui se comptent en centaines et quelques ressources qui elles sont le plus souvent de valeur négligeable à ce moment là.

Les personnages de bas niveau sont bien plus nombreux que les personnages de haut niveau sur un serveur de jeu de Dofus. De plus les combats de ces personnages bas niveau sont bien plus courts que ceux des personnages haut niveau. Les bas niveau sont présents en plus grand nombre et leurs combats sont plus courts… De par leur simple activité en jeu, les bas niveau génèrent plus de kamas que les haut niveau génèrent de richesses.

Et un facteur renforce le phénomène : la présence massive des bots sur les serveurs de jeu.

Qu’ils soient contrôlés par des joueurs ou par des goldfarmers, les bots enchainent inlassablement les combats contre les groupes de monstres qui font générer par le serveur d’importantes somme de kamas. La myriade de groupes de bots qui se battent chaque jour, chaque heure, chaque minute, font exploser la masse de monnaie existante en jeu. Et lorsque cette monnaie est injectée dans l’économie, soit parce que les bots sont directement contrôlés par un joueur, soit lorsqu’un joueur échange de l’argent véritable contre de la monnaie en jeu en faisant affaire avec un goldfarmer, la masse monétaire augmente. Elle explose même si les pratiques d’achat de kamas sur internet ou le contrôle direct de bots se généralisent…

 

Lorsque la masse monétaire en circulation augmente plus rapidement que la quantité de richesses disponibles pour les échanges, il est mécanique que les prix montent. Du moins c’est un principe de base des logiques économiques.

Dans un contexte où la masse monétaire croit plus rapidement que les richesses, les joueurs qui captent des kamas de par leurs activités commerciales, vont au fil du temps capter davantage de kamas pour les mêmes richesses vendues. Ou autrement dit avec un exemple, si à un moment donné la vente d’un diamant rapportait 50 000 kamas, un an plus tard, ce même diamant est susceptible de rapporter 100 000 kamas du fait que l’offre pour ce genre de consommable ne parvient jamais à contenter la demande. Pour le joueur l’effort de production de ce diamant est le même, le temps de jeu nécessaire à sa collecte, à sa transformation n’a pas changé.

Lorsque les joueurs captent davantage de kamas en faisant les mêmes activités, ils vont avoir tendance mécaniquement à être disposés à payer plus cher les objets qu’ils vont ensuite acheter avec cette monnaie. Car ce n’est pas parce qu’il captent deux fois plus de kamas, qu’ils ont forcément deux fois plus de choses à acquérir.

Et c’est la même chose en ce qui concerne les joueurs qui s’investissent grandement dans le commerce des dernières panoplies. Les objets qu’ils produisent sont très demandés, ils peuvent donc maintenir des prix qui paraissent très élevés et accumuler des kamas en quantités inédites. Ces joueurs qui captent cinq à dix fois plus vite les kamas qu’auparavant n’ont pas de raison d’acheter cinq à dix fois plus de richesses, aussi il est inévitable qu’ils paient plus cher les choses qu’ils recherchent, tout simplement parce qu’ils doivent bien utiliser leurs kamas et qu’ils n’ont pas forcement mieux à faire avec que de payer des objets une fortune. D’autant que quitte à thésauriser, il est plus rationnel pour les joueurs disposant d’immenses fortunes de payer à prix d’or des objets très rares qui resteront a priori toujours autant demandés, quitte à ne pas les utiliser, que de stocker des quantités énormes de monnaie qui au fil des mois perd de sa valeur du fait de l’augmentation de la masse monétaire en circulation.

 

Cette inflation dans Dofus n’est pas problématique en elle même. Du moins elle n’est pas gênante pour les joueurs qui sont actifs sur le serveur.

Le joueur qui est parvenu dans la passé à constituer une bonne réserve de monnaie, qui se contente de compter dessus à l’avenir et qui s’investit moins dans le jeu, c’est à dire qui ne produit plus de richesses, va au fil du temps voir son pouvoir d’achat baisser, et ce même s’il n’achète rien.

Le joueur qui continue sans cesse à produire des richesses, soit via les combats contre les monstres de haut niveau, soit en collectant des diamants, soit en produisant des parchemins de caractéristique n’est pas gêné par la hausse des prix puisqu’il en profite lors de la vente des richesses qu’il produit.

On assiste régulièrement actuellement à une vindicte populaire de la part de la majorité des joueurs à l’encontre des joueurs qui farment les donjons de la deuxième zone de frigost. Ces joueurs sont accusés de faire monter les prix et d’entretenir la logique inflationniste en captant des fortunes démesurées et en achetant des Dofus rares à des prix déments. Mais cela revient à reprocher à ces joueurs de jouer plus que les autres. D’une certaine manière on en revient à la classique plainte de la part des joueurs moins investis qui déplorent que les plus investis les empêchent d’accéder aux mêmes choses.
La base de la pratique ludique de Dofus depuis plusieurs années, c’est la récolte de ressources et la fabrication d’objets. Il est assez évident que lorsque des joueurs s’investissent plus que d’autres dans ces activités ils accumulent plus de richesses que ceux qui ne le font pas. Et lorsqu’en plus la masse monétaire en circulation croit dans le temps, l’écart entre ceux qui jouent moins et ceux qui jouent énormément semble se creuser davantage.

Il est pourtant assez évident que lorsqu’un joueur veut acquérir les mêmes choses que ceux qui jouent énormément, il va devoir tendre à s’investir autant qu’eux. Ou bien se résigner à considérer que certains des objets les plus rares lui deviennent inaccessibles de par son investissement en jeu plus faible. Ce n’est pas une prise de conscience forcement facile à faire il est vrai…

 

Mais à l’échelle des logiques économiques de Dofus, cette inflation n’est source d’aucun problème.

La monnaie dans Dofus, comme a priori la monnaie de n’importe quel MMO, ne peut jamais souffrir d’un manque de confiance. L’inflation ne va pas dissuader les joueurs d’utiliser la monnaie, les joueurs ne vont pas se réfugier vers un autre intermédiaire d’échange, tout simplement parce qu’il n’en existe pas d’autre d’aussi fluide et facile à utiliser, et parce que cela ne changerait rien dans les faits.

L’inflation dans les MMOs est totalement sans importance du simple fait que dans les MMOs, il n’y a pas de principe de rente ou de salaire, parce qu’il n’existe pas de principe de prêt à intérêt. Dans les MMOs, formellement il n’y a pas de dette, du moins la dette n’est pas nécessaire à l’activité.

L’activité des joueurs ne réclame pas un investissement autre que le temps de jeu des joueurs. Un joueur peut totalement bouder la monnaie, il peut s’en passer au quotidien et ne pas être gêné pour autant dans sa pratique ludique. Mieux, le joueur produit des richesses de par son temps de jeu sans que l’économie joue le moindre rôle dans le processus de génération de ces richesses.

Aussi dans ce contexte, qu’un objet se vende 100 ou 10 000 cela n’a aucune importance aussi longtemps que la monnaie circule, et que l’offre et la demande se rencontre.

Ce qui compte ce n’est pas tant la quantité de monnaie dont on dispose, mais du temps qu’il nous a fallu pour la capter. Les prix dans Dofus reposent objectivement davantage sur le temps de jeu nécessaire à la réunion d’une somme de monnaie qu’à cette somme de monnaie en elle même. Lorsque l’on achète un objet, il faut davantage se poser la question du temps de jeu que le prix suppose qu’au prix lui même.

Et cet état de fait n’est pas différent dans les autres MMOs à économie ouverte. Dans Eve Online c’est également plus le temps de jeu nécessaire à la collecte des isks qui compte que les isks eux même lors d’une transaction.

 

D’une certaine manière on peut dire que dans les MMOs actuels, l’étalon sur lequel s’aligne la monnaie est le temps de jeu nécessaire à sa collecte. La valeur de la monnaie dépend pour ainsi dire d’une donnée d’ordre metajeu.

Pourquoi ne pas envisager des MMOs où la valeur de la monnaie n’aurait rien à voir avec cette donnée metajeu qu’est le temps de jeu du joueur ? J’essaierai de m’intéresser à cette question dans de prochaines notes.

 

COPYRIGHT NOTICE

Toutes les illustrations sont la propriété d’Ankama Studio et de Dofus – Tous droits réservés

Mécaniques économiques limitées

Mecaniques economiques limitees

Dans les MMOs dès lors que des fonctions de collecte, de production et d’échange existent on peut observer des activités économiques. Ces activités sont plus ou moins importantes selon ce que le jeu propose.

Les économies sont plus ou moins stimulées par l’importance ou l’absence d’importance de l’artisanat (du crafting), du fait que les objets soient liés, c’est à dire échangeables ou non) ou non-liés à leur porteur. Actuellement c’est Eve Online qui, de l’avis le plus partagé, dispose des mécaniques de jeu liées à l’économie les plus riches et les plus complètes, mais qui ne tendent absolument pas à reproduire le fonctionnement de nos économies bien réelles.

Force est de constater qu’à ce jour aucun jeu, pas même Eve Online, ne cherche à simuler des économies complexes.

 

Si les dynamiques des activités économiques dans le jeu Eve Online sont plus intéressantes à observer et sont source de davantage d’enjeux et de plaisirs ludiques, ce n’est pas grâce à une meilleure modélisation des principes macro ou micro économiques.

Les seules choses qui donnent un avantage à Eve online face à ses concurrents, c’est d’une part l’atomicité des lieux de production et de vente au sein de l’univers de jeu, et d’autre part la gestion très contraignante des inventaires pour les joueurs.

Dans Eve Online les objets et ressources n’ont pas de poids mais un volume. Les vaisseaux ont des soutes dont le volume utile est plus ou moins limité. Cette contrainte particulièrement forte fait que le transport des biens et des richesses devient une problématique centrale de la pratique ludique de tous les joueurs qui s’impliquent dans les relations commerciales.

A la différence de nombre de jeux où les places marchandes sont très centralisées et donc très facilement accessibles aux personnages de même faction, dans Eve Online les lieux d’échanges et de commerces sont tellement nombreux que le simple fait de les recenser tous prendrait des jours entiers. Plusieurs milliers de systèmes contenant potentiellement chacun plusieurs stations… Chacune d’elles étant un hôtel de vente en puissance.

C’est cette contrainte de volume des biens et les distances entre lieux de vente qui faits de l’économie d’Eve Online un ensemble ludique plus stimulant que dans les autres jeux.

Les joueurs qui veulent se distinguer dans les activités de commerce doivent être à même de pouvoir d’une part analyser et saisir les évolutions de prix et d’approvisionnement dans des lieux différents et d’autre part être à même de mobiliser régulièrement une puissance logistique certaine pour déplacer parfois d’énormes quantités de biens. A la différence de la plupart des autres MMOs, les clés du commerce dans Eve Online ne viennent pas tant d’une meilleure capacité à produire ou collecter certaines ressources que d’une meilleure capacité à observer et à comprendre les évolutions de l’offre et de la demande dans l’univers.

 

Tout cela pour dire que, connaitre la valeur des choses les unes par rapport aux autres est la seule chose qui fait la différence dans les dynamiques économiques des MMOs.

Que ce soit Eve Online la référence dans le domaine ou dans d’autres jeux à économie ouverte comme Dofus par exemple, le fonctionnement de l’économie, ses lois et principes en jeu, sont dans tous les cas, profondément rudimentaires. Dans ces jeux, seule la confrontation entre l’offre et la demande de ressources ou productions dictent les relations économiques entre joueurs.

 

Que pourrait-il y avoir en plus que la simple confrontation entre l’offre et la demande ? C’est justement ce que j’aimerais décrire dans d’autres articles faisant suite à celui-ci.

Dans le prochain article je m’intéresserai particulièrement aux mécanismes de création et destruction de monnaie dans les MMOs, et ce que ces mécaniques supposent et imposent au cadre de jeu.

 

GamingMaze a 2 ans

2 ans

Ce n’est pas tant que cela mérite un quelconque mot, mais cela fait toujours plaisir de laisser la marque du souvenir.

Ce blog a été initié il y a deux années.

Deux années, à quelques jours près il est vrai, puisque nous avons ouvert le site au public le 2 juin 2009. Et le premier article avait été publié encore un peu plus tôt : le 13 mai de la même année. Nous avions préféré annoncer le commencement de ce site en ayant un minimum l’assurance de pouvoir publier du contenu régulièrement, soit après avoir écrit quelques autres articles.

GamingMaze a connu une relativement longue période d’inactivité entre juillet 2009 et janvier 2010, aussi ses statistiques de visites sont particulièrement en dents de scie.

Néanmoins il est assez inattendu de constater que ce site qui n’a bénéficié globalement d’aucune volonté de partage d’audience ni d’aucun effort de communication soit parvenu à accumuler au bout de deux années selon Google Analytics plus de 100 000 visites pour plus de 220 000 pages vues.

Certes, ce n’est pas tant que ça. C’est notamment particulièrement faible en comparaison des plus de 1,1 millions de visites pour près de 2,5 millions de pages vues que comptabilise selon Google Analytics le blog nommé Cadavre Exquis sur ces trois dernières années, blog que nous avons tenu sur nos expériences de jeu dans Dofus. Il n’accueille plus de nouveau contenu depuis longtemps.

Donc voilà, 2ème anniversaire pour GamingMaze.

 

Si ces derniers mois nous avons publié des notes exclusivement consacrées au développement du petit tactical en flash sur lequel nous travaillons depuis l’automne dernier, il est possible que cela change prochainement. En effet, j’ai parcouru quelques brouillons d’articles inachevés rédigés pour la plupart en février dernier et j’envisage de les reprendre. Je les avais laissé en plan car je les trouvais un peu trop théoriques et donc pas forcement intéressants, mais après tout nous écrivons avant tout pour nous faire plaisir.

 

Par ailleurs, nous allons prochainement vous proposer quelques séquences successives de beta test du jeu sur lequel nous travaillons.

Nous préciserons bientôt les dates de ces tests. en attendant voilà un petit screen de ce que à quoi ressemble le prototype au stade actuel du développement :

Le prototype au 9 juin

 

Optimisation scrolling optimisation

Optimisation scrolling optimisation

Les points de développement dont parle cet article ont eu lieu début novembre 2010.

Le personnage était enfin sur une vraie carte.

Les problèmes pouvaient commencer…

Tout allait bien tant que le personnage restait immobile. Mais dès lors que je tentais de le faire bouger d’une case à une autre, son mouvement était terriblement saccadé.

Si la portée de l’éclairage affiché était plus faible, le mouvement redevenait relativement fluide. Mais dès 10 cases de portée, les ralentissements qui se produisaient n’étaient pas tolérables.

Optimisation scrolling optimisation

Le mouvement du personnage n’est pas fluide du tout

 

Le problème pouvait avoir deux sources différentes :

- la fonction de calcul de l’éclairage. Si celle-ci met trop de temps à s’exécuter pour un changement d’hexagone, normal qu’on constate un lag. Le programme réfléchit pour calculer tous les hexagones éclairés, et pendant ce temps-là, il ne fait pas bouger le personnage.

- le rendu de l’éclairage. Autrement dit, sur le screen, le fait de faire passer certains hexagones en jaune, certains en jaune clair, et faire repasser les hexagones non éclairés en gris. Si le programme prend trop de temps à produire ce rendu, pareil, pendant ce temps-là, il ne fait pas bouger le personnage.

Optimisation scrolling optimisation

rendu de l’éclairage : éclairé, pas éclairé, peu éclairé

 

Pour déterminer la source du problème, j’ai désactivé le rendu de l’éclairage. Ce qui fait que quand le personnage bougeait, à chaque nouvel hexagone qu’il atteignait l’éclairage depuis cet hexagone était calculé par la fonction, mais toutes les cellules restaient grises.

Et le mouvement du personnage était redevenu fluide, même avec une portée d’éclairage élevée (donc plus d’hexagones à considérer par la fonction, donc un temps de calcul plus long).

Bref, le rendu des hexagones éclairés était donc entièrement à blâmer pour les ralentissements.

Heureusement, une solution très simple était à portée de main. En effet, jusqu’alors, le rendu de l’éclairage n’avait pas du tout été optimisé, et à chaque nouveau mouvement du personnage, le rendu de tous les hexagones dans la portée de l’éclairage était recalculé et ré-appliqué. Ce qui faisait beaucoup de calculs inutiles, car d’un hexagone à hexagone adjacent, l’éclairage ne varie pas beaucoup : pratiquement toutes les cellules qui étaient éclairées le restent, il n’y a pas besoin de les éteindre puis les rallumer.

Une fois l’optimisation effectuée (le rendu n’est plus calculé que pour les cellules qui changent d’état) les mouvements sont redevenus fluides.

 

***

 

Je pouvais donc passer à la mise en place du scrolling : des boutons de chaque côté de la carte qui permettent de la faire défiler dans toutes les directions.

Mais, là, rebelote !

Le scrolling est saccadé…

Voilà un problème épineux. D’entrée de jeu, je n’avais aucune idée de ce qui pouvait causer de tels ralentissements.

Après pas mal de tests, je trouve le responsable, ou plutôt les responsables : les calques de Flash.

En effet, je me reposais pas mal dessus. L’hexagone de base comportait plusieurs calques, un pour l’éclairage notamment. Il comprenait une forme identique à l’hexagone qui était jaune et légèrement transparente. Ainsi, lorsqu’un hexagone était éclairé, le programme affichait ce calque, lorsque l’hexagone ne l’était pas, il le cachait.

Optimisation scrolling optimisation

J’ai fait une version de l’hexagone qui n’utilise qu’un seul calque et j’ai modifié le code pour produire le rendu de l’éclairage sans utiliser les calques. Et bingo, le scrolling était beaucoup plus fluide.

Optimisation scrolling optimisation

Le rendu obtenu était un peu différent de la version précédente, mais juste parce que je n’avais pas cherché à obtenir exactement la même chose. Tout cela n’était que temporaire, de toute façon.

Optimisation scrolling optimisation

Un rendu différent (avec un bouton de scrolling à droite)

 

Un peu plus tard, en me renseignant, j’ai entendu parler de la propriété « cacheAsBitmap ». Cette propriété permet en gros de mettre en cache et afficher sous forme bitmap un contenu vectoriel, ce qui fait que lorsqu’on zoome dessus, on obtient un rendu pixellisé et non plus lisse, mais cela fait aussi (et surtout) que lorsque le programme affiche le contenu, il n’a plus à calculer tout le rendu vectoriel des différentes formes : il affiche simplement le bitmap qu’il a en mémoire.

Une fois « cacheAsBitmap » appliquée à la carte, le scrolling atteint une fluidité qu’on aurait à peine crue possible…

 

A ce stade-là, j’utilisais encore principalement l’environnement de développement Flash pour structurer mes projets, car c’est le plus simple pour débuter, notamment parce que la majeure partie des livres et tutoriaux sur Flash l’utilisent. Mais je me servais déjà du logiciel FlashDevelop pour éditer mes fichiers Actionscript, l’interface de ce dernier étant bien plus pratique pour écrire du code. La suite du développement m’a amenée à utiliser beaucoup plus FlashDevelop, comme je vous en parlerai dans les prochains articles.

 

Index des notes sur notre tactical

 

Déménagement sur une vraie carte

Déménagement sur une vraie carte

Début novembre 2010, une bonne partie du moteur du jeu était codée. Nous avions une grille hexagonale, un premier personnage capable de se déplacer dessus et de calculer sa ligne de vue en un point donné en fonction des obstacles qui se trouvaient devant lui.

 

Il était maintenant temps de sortir le personnage de sa morne grille pour l’intégrer sur la version de carte un peu plus élaborée qu’avait construite Ygwee.

Une carte plus élaborée

cliquez pour agrandir

 

Malheureusement, l’intégration n’a pas réussi immédiatement, comme en témoigne ce screen :

Bug graphique lors de la confrontation de deux versions du jeu

cliquez pour agrandir

 

La version du jeu dont Ygwee disposait pour construire la carte n’était pas la plus récente. Sur sa version, la carte se construisait sur une logique de coordonnées différentes, aussi son tableau de correspondance coordonnées – skin d’hexagones était faussé, d’où le rendu chaotique du screen qui précède.

Il a donc fallu modifier manuellement toutes les valeurs du tableau de coordonnées correspondant à la carte, et il y en avait beaucoup ! Une pour chaque hexagone représenté.

Après ce travail pour le moins fastidieux, tout fonctionnait enfin.

Le personnage sur une vraie carte

cliquez pour agrandir

 

Les cases jaunes représentent l’éclairage. Elles se mettent à jour à chaque fois que le personnage change d’hexagone.

Dans cette première version de l’éclairage, le calcul de ce dernier est calqué sur le calcul de la ligne de vue, dont j’ai parlé dans l’article précédent. Autrement dit, les cases qui sont calculées comme vues par le calcul de ligne de vue sont éclairées, celles qui ne sont pas vues ne sont pas éclairées et celles qui sont faiblement vues sont éclairées moins fortement.

Depuis, la gestion de l’éclairage a bien changé. J’en parlerai dans un prochain article.

 

Index des notes sur notre tactical

 

Selection

Recherche

 

Notes récentes


> Pour nous contacter

 

 

 

Design © 2009 - 2012 Volute & Ygwee

Gaming Maze is proudly powered by WordPress