Article
Accueil » Accueil » Au-delà du net » Programmeur chez ArenaNet, AMA
 
 

Programmeur chez ArenaNet, AMA

Programmeur chez ArenaNet, AMA



Le 17 Octobre 2012, les programmeurs d’ArenaNet se sont retrouvés sur Reddit pour un AMA.

Etait présent un véritable escadron de programmeurs :

Cameron Dunn - Technical Director
Chad Taylor - Engine Programming Team Lead
Stephen Clarke-Willson - Server Programming Team Lead
Braeden Shosa - Gameplay Programming Team Lead
Pat Cavit - Web Programming Team Lead
Josh Petrie - ArenaNet Programmer
Mike Lewis - Security Coordinator
James Wright - Senior Game Engine Programmer
Habib Loew - Gameplay Programmer
Ryan Diederich - Gameplay Programmer
Evan Lesh - Gameplay Programmer
Eric Rane - Gameplay Programmer
Kat Dugan - Gameplay Programmer
Caleb McCombs Gameplay Programmer
Branimir Karadzic - Engine Programmer
Felipe Romero - ArenaNet Programmer
Patrick Laukaitis - ArenaNet Programmer
Patrick Mera - Engine Programmer
Mike Popoloski - Engine Programmer
Francis Crick - Content Pipeline Programmer
Stanlo Slasinski - ArenaNet Programmer
Garett Bass - Content Pipeline Programmer
Jordan Massey - Gameplay Programmer
Steve Bikun - Server Programmer
 
AMA des programmeurs de Guild Wars 2

Les sujets abordes étaient particulièrement variés, allant du métier de programmeur aux spécificités techniques du jeu lui-même.


Quelques retours et conseils sur le métier de programmeur :

- Rien ne remplace la pratique : appliquer les cours de mathématiques et d’informatique pour écrire des lignes de codes, créer ses propres jeux ou produire des mods aide aussi bien à se faire la main qu’à rendre son CV plus crédible.
- Découvrir de nouvelles technologies et apprendre de nouveaux langages de programmation est un atout, mais comprendre les fondamentaux et les concepts de base derrière chaque langage et chaque outil est bien plus essentiel. Cela dit, C# et XNA sont particulièrement apprécies dans l’industrie des jeux.
- La même chose s’applique à l’infographie : une connaissance solide des concepts, de l’architecture matérielle et de l’algèbre linéaire est plus gratifiante.


Quelques anecdotes au cours du développement de Guild Wars 2 :

- Le jeu est écrit en C++. C# et Python sont utilisés pour les outils Framework.
- La journée standard est de 8h mais varie en fonction des besoins – les deux semaines suivant la sortie a vu une charge du travail conséquente
- Un programmeur est assigné à une feature technique et cela peut lui prendre deux jours comme plusieurs semaines.
- Parmi la liste des features dont ils sont les plus fiers : la longue portée des trébuchets, les animations des personnages…
- Les programmeurs ont un rôle essentiel dans la phase de design dans le développement du jeu afin d’assurer la meilleure synergie avec les designers et leur permettre de savoir ce qui était réellement possible de faire.
- En production, ils passent 6 à 8h par jour à écrire du code en général.
- Maintenant que le jeu est sorti, les programmeurs ont aussi pour tâche de debug le jeu.
- Les programmeurs ont mis au point un système pour que deux builds différents du jeu puissent cohabiter. Il n’y a pas besoin de retirer l’ancien, juste d’héberger le nouveau. Ainsi le temps de « down » pour les mises à jour est minime.


Quelques projets en cours ou à venir :

- Plusieurs fonctionnalités sociales ont du être écartées pour sortir le jeu à temps, mais elles ne sont pas abandonnées pour autant. Par exemple, ils aimeraient bien améliorer le système de recherche de groupes.
- Une équipe chargée de regarder en détails le FoV est à l’œuvre depuis peu. Elle est chargée d’identifier la part de bug portant sur les calculs de FoV pour les grandes résolutions, à partir de quoi un FoV slider pourrait éventuellement être discuté.
- Des APIs permettant aux fans de récupérer des données sur les personnages et les afficher ensuite sur des sites seraient possibles. Reste à déterminer quelles informations relayer en ligne pour ne pas gaspiller de ressources.
- Au sujet des joueurs invisibles en WvW. Le problème n’est pas insoluble et consiste à ne pas envoyer trop de données aux joueurs ayant des connexions plus lentes pour ne pas les faire lagger. ArenaNet a ainsi fait le choix de limiter le nombre de joueurs visibles pour ne pas surcharger les ressources matérielles des utilisateurs. Si cela ne pose pas de soucis en PvE, cette manipulation a un impact plus drastique en WvW. Une solution alternative est en cours de discussion, mais s’ils ne peuvent rien promettre, ils sont confiants.
- Le nombre de joueurs pouvant accéder à une même carte en WvW est en cours d’augmentation.
- La prévisualisation dans l’autel des ventes est théoriquement possible, vu qu’il s’agit d’un site web accessible par APIs. Seulement la réalisation technique n’est pas encore la hauteur de leurs attentes.
- Des APIs officielles sont au programme avec support et documentation. Pas de date estimée mais ce sera sur une variante de REST mais surement compatible avec JSON.
- De nouveaux habits de villes arriveront bientôt, ainsi que de nouveaux objets dans la boutique de gemmes.


Améliorer le jeu :

- Le report de bugs et de bots est plus que recommandé, aussi bien sur les forums qu’en jeu. Un temps de réponse long ne signifie pas un désintérêt mais que d’autres taches avaient priorité.
- Le principal problème technique du jeu actuellement est l’inconsistance des évènements dynamiques qui peuvent se bloquer à tout moment, que ce soit parce que des PNJs ne vont pas à destination, des PNJs qui suivent les joueurs hors de la zone de l’évènement…
- La résolution des problèmes techniques prend du temps car certains bugs ne sont pas reproductibles dans l’environnement de développement du jeu. Il leur faut donc des outils de debug qui fonctionnent dans le jeu live.
- Les performances sur les AMD sont en cours d’étude de même que l’optimisation de manière générale.


D'autres sujets pointus ont fait l'objet de discussions, l'intervention des programmeurs est à retrouver en intégralité sur Reddit.
 
 
 
 Copier le lien de cette page


Connexion
Acheter Guild wars 2
Participez au fansite !
Site officiel
Site partenaire
Site partenaire