Nouveau post dans le dev blog - Aphrodite

Naolia

Super Modérateur
Équipe Grepolis
Chers joueurs,

Notre Team Lead Software Developer, Marco, a écrit un nouveau post sur notre devblog. Ce post est dédié à une discussion concernant Aphrodite, ainsi qu'aux défis techniques et visuels que l'équipe de développement a rencontré concernant l'ajout de nouvelles divinités dans notre jeu.

Vous pouvez trouver l'article en cliquant sur le lien ci-dessous :
https://devblog.grepolis.com/?p=2670

Donner naissance à une divinité et les défis qui viennent avec

C'est fait, expédiez-le ! En novembre, nous avons ouvert le premier ensemble de mondes avec Aphrodite, la première nouvelle divinité de Grepolis depuis 2012. Elle est l'une des 2 nouvelles divinité que nous Ajoutons à notre jeu bien-aimé, Grepolis, et ses joueurs passionnés. Et, elle est superbe. Mais ce qui peut sembler simple à faire a poussé les développeurs à parcourir un long chemin.

Le passé
Jetons un coup d'œil dans un passé lointain. Lorsque Grepolis a été lancé pour la première fois, il comportait quatre dieux : Zeus, Héra, Athéna et Poséidon. Avec Grepolis 2.0, nous avons ajouté Hadès en tant que cinquième dieu au panthéon. Peu de temps après, avec l'introduction des mondes héros, à ne pas confondre avec les mondes avec des héros, Artémis a fait son apparition. Cela devait être un peu vers la fin de 2011. Mais comme les mondes héros n'étaient pas accessibles à tous les joueurs, elle est restée une invitée spéciale dans notre collection. C'était jusqu'à ce que nous cessions le statut des mondes héros, avec la sortie de mondes avec des héros, et que nous apportions leurs fonctionnalités à tous les joueurs, Artémis inclus.

Le dernier grand changement dans ces entités de base de notre jeu a été l'Envoyé Divin, arrivé en 2012, donnant aux joueurs une unité mythique supplémentaire commune à tous les dieux. L'ajouter au jeu était déjà tout un défi car toutes nos fenêtres et vues n'étaient pas conçues pour présenter une troisième unité mythique supplémentaire.

Tout cela s'est passé il y a 8 ans et Grepolis a subi de nombreux changements depuis. Les membres de l'équipe ont rejoint et sont partis, des fonctionnalités ont été ajoutées et supprimées, de nouveaux styles de codage et paradigmes ont été introduits et de plus grandes parties de notre jeu ont été complètement réécrites à cette époque.



Lorsque l'idée de nouveaux dieux a été soulevée, nous avons investi beaucoup de temps pour réfléchir à la manière dont nous pouvons créer des ajouts significatifs à nos offres existantes. Ils ne doivent pas être surpuissants ; ils ne devraient pas remplacer ou contredire tout ce que nous avons déjà dans le jeu. Idéalement, ils rempliront des emplacements restés vides jusqu'à présent ou présenteront des alternatives intéressantes parmi lesquelles les joueurs pourront choisir. Et, au mieux, ils découvriront des possibilités d'introduire de nouveaux mécanismes qui ajoutent un choix stratégique et de la profondeur au jeu.



Avec Aphrodite, nous avons non seulement ajouté une nouvelle divinité et 2 unités mythiques, mais également ajouté le concept de pouvoirs et capacités passifs. Au début de la phase de conception de ceux-ci, nous avons dû vérifier le code source pour identifier les endroits qui pourraient être affectés par ceux-ci et puisque j'ai mentionné ci-dessus combien de temps il y avait depuis le dernier changement sur le système de combat ou les unités, vous pouvez imaginer ceci n'était pas une mince affaire.

Grepolis à ce jour présente une multitude d'aspects qui entrent en jeu avec les unités. À commencer par le combat lui-même bien sûr, mais il y a aussi toutes sortes de mouvements (attaque de ville, colonisation, soutien, temples, camps de bandits, quêtes d'île, conquêtes, révoltes, ...) et il y a beaucoup d'endroits où s'affichent des unités ( interface utilisateur principale, caserne et port, fenêtre d'attaque, simulateur d'attaque, planeur d'attaque, recrutement,…). Et enfin, les unités et les dieux ont différents types d'images pour les représenter dans le jeu sur navigateur et mobile.

Mais regardons les choses que nous avons ajoutées et discutons de certains des défis auxquels nous avons été confrontés.



Le pouvoir passif d'Aphrodite, Pygmalion

Ce pouvoir sera actif dans la ville actuelle une fois que vous aurez choisi Aphrodite comme dieu. Avec ce pouvoir, nous avons dû considérer deux défis. Le plus petit était de s'assurer que le sort est correctement montré sur votre ville une fois que vous avez pris votre décision d'adorer Aphrodite. Étant donné que nous avions déjà des solutions similaires pour les amateurs de temple et l'extension des frontières, c'était un défi plus facile à surmonter.

Le plus compliqué a été de trouver une solution pour refléter le changement de population. Avec l'extension des frontières, nous avons déjà un effet similaire, mais celui-ci est statique. Une fois lancé sur votre ville, il est actif et ne se perd pas, ce qui en fait une mise en œuvre technique assez facile. Pygmalion, quant à lui, est volatile par nature, car il se perd une fois que vous changez de dieu. Nous devions en tenir compte pour la population déjà occupée par des unités construites. Pour ne pas empêcher les joueurs de changer de dieu mais aussi pour ne pas punir trop fort cette décision, nous avons décidé d'autoriser la population négative dans ce cas. Nous acceptons que cela mette le jeu dans un état invalide, mais nous nous assurons également que le déroulement du jeu reste.

Festival charitable

Avec Narcissisme et Hymne à Aphrodite, nous obtenons des pouvoirs plutôt simples et faciles à mettre en œuvre dans le jeu. Mais nous avons également ajouté le concept de mise à l'échelle des valeurs. Les pouvoirs d'Aphrodite bénéficient de tout autre pouvoir ou sortilège qui se trouve déjà sur la ville cible, ce qui lui donne de belles options stratégiques. Afin de garder la fonctionnalité facile à comprendre et techniquement pas trop compliquée, nous avons décidé de ne pas avoir ce nombre qui change constamment lorsque des sorts sont ajoutés ou supprimés, mais au lieu de cela, l'avantage qu'il fournit est persistant une fois que le sort est lancé et reste à la même valeur. pour sa vie.

Le festival de charité était un cas plus compliqué. La mise en œuvre de ce sort comporte deux défis que nous devions résoudre. Une fois le sort lancé, il n’expire pas, mais reste actif jusqu’à ce que son effet soit consommé. Cette expiration par consommation était plus compliquée à mettre en œuvre. Jusqu'à présent, les coûts d'une marche triomphale étaient constants, il n'était donc pas nécessaire de stocker les points de bataille consommés pour le joueur, mais à la place, nous devions seulement nous souvenir du nombre de fois qu'un tel festival était organisé. Avec l'introduction de coûts variables, nous devions non seulement migrer notre structure existante pour s'adapter à cela, mais nous devions également nous assurer que cela soit fait pour tous les joueurs au même moment où nous mettons ces changements en ligne. Sinon, les joueurs pourraient soudainement voir trop de points de bataille non dépensés et commencer à les utiliser. En fait, cela a conduit à un incident récent que nous avons eu autour de points de bataille négatifs ou trop nombreux, ce qui a conduit à un autre incident sur la façon de résoudre ce problème. Mais pour entrer dans le détail, il faudrait un article entièrement séparé.

Unités d'Aphrodite



Aphrodite est livré avec deux unités étonnantes. Le premier est le satyr, qui n'a aucun extra ajouté, mais qui est juste une unité terrestre ultra rapide. La deuxième unité ajoutée sont les sirènes. Non seulement nous obtenons une autre unité navale rapide, mais les sirènes augmentent également la vitesse de déplacement. Plus vous ajoutez de sirènes à votre attaque, plus votre attaque devient rapide. C'est la première capacité passive que nous ajoutons pour les unités normales, bien que nous ayons des concepts similaires pour plusieurs héros déjà dans le jeu. Heureusement, avoir fait ce travail de base, ajouter cette capacité passive était beaucoup plus facile pour nous.

Le défi ultime, ne pas dévoiler tout ça

Quand nous avons commencé à parler des nouveaux dieux, il y avait aussi le souhait de ne pas montrer le nouveau dieu aux joueurs avant qu'il ne soit terminé. Étant donné que le développement d'une telle fonctionnalité prend généralement plus de temps et s'étend sur plusieurs mises à jour, cela n'a pas été une tâche facile à réaliser. Nous voulions être en mesure de toujours tester la fonctionnalité dans nos systèmes de développement, y compris tous ses visuels, mais nous ne voulions pas qu'elle soit présente dans le monde entier. La façon dont notre jeu par navigateur et notre application mobile fonctionnent fait que nous avons beaucoup de ces données exposées au public. En fait, la plupart des scripts s'en servent. D'un autre côté, notre code est si ancien, il n'était plus possible de désactiver un dieu car cela envoyait toujours toutes les données disponibles. Nous avons dû prendre beaucoup de temps et plus d'efforts que prévu pour la cacher le mieux possible. La solution la plus visible était probablement ses images dans le jeu que nous avons remplacées par des points d'interrogation. Certains scripts utilisateur ont même signalé cela comme une erreur lorsqu'ils ont vu l'illustration étrange et ont corrigé leurs scripts pour afficher plus longtemps cette image d'espace réservé. Alors, mission accomplie sur ce front, nous pensons ! La communauté a été agréablement surprise par son arrivée lorsqu'elle a été annoncée dans notre concours communautaire, les épreuves divines d'Hermès.

Résumé

Finalement, comme vous le savez tous, Aphrodite est arrivée dans les serveurs et a jusqu'à présent été reçue avec passion par nos joueurs bien-aimés. Si vous avez d'autres questions, veuillez les laisser dans les commentaires et je serai plus qu'heureux d'en discuter avec vous.
Profitez de jouer à Grepolis et j'espère que vous apprécierez le prochain dieu quand il arrivera ...

Si vous avez des questions ou des commentaires pour Marco et l'équipe interne sur les sujets discutés dans le post du blog, n'hésitez pas à commenter sur le blog lui-même (en anglais uniquement s'il vous plait). Bien sûr, vous pouvez donner votre retour ici sur le forum dans la discussion dédiée !

Merci !
Votre équipe Grepolis