IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

14 ans de développement sur Guerre Tribale - Maintenir et moderniser un ancien jeu de navigateur
Un article d'InnoGames

Le , par LittleWhite

37PARTAGES

8  0 
Bonjour à tous,

Je vous propose la lecture de ce témoignage écrit par le cofondateur d'InnoGames. Au cours de cet article, il revient sur les 14 années de développement et de mise à jour du premier succès du studio.

Bonne lecture.

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de Tonton Nico
Membre expérimenté https://www.developpez.com
Le 12/10/2017 à 23:09
Super article je trouve ! Je ne maitrise pas les 1/20ième des logiciels/langages/bibliothèques dont il parle mais ce retour d'expérience est super enrichissant d'un point humain, évolution et méthodologie

Son paragraphe final est vraiment une mine d'or (même si sur developpez il y a déjà pas mal de ces conseils dans des discussions par-ci par-la !! )


VII. Apprentissages d'un travail sur un produit ancien
Pour avoir personnellement travaillé sur Guerre Tribale pendant presque dix ans en tant que développeur généraliste (moteur, interface, mobile et opérations basiques sur le serveur), un de mes apprentissages principaux a été que vous ne devez pas toujours refactoriser un vieux code afin d'ajouter des améliorations à un ancien jeu. Il y a eu plusieurs moments où nous aurions pu arrêter ce que nous faisions pour nous concentrer sur l'amélioration de la qualité du code et ainsi passer plusieurs mois sur quelque chose qui n'aurait pas apporté de vraies améliorations à nos joueurs.
Il est clair que même à un niveau pro avec tout ce qui sort régulièrement on doit pouvoir améliorer et optimiser ses codes.
Pour prendre ma propre expérience de débutant c'est encore plus vrai (tout le monde est passé par la en apprenant un nouveau langage j'imagine), la perte de temps et surtout l'énergie à mettre en oeuvre pour faire la même chose avec 10 fois moins de ligne ou de temps d’exécution est assez forte! surtout que ça apporte des fois des bugs qui vu la maitrise de l'environnement que l'on découvre et qui sont assez dur à résoudre
Bien-sur ce n'est pas mon métier, je n'ai pas de planning de dev sur l'année ou de target pour sortir un jeu et encore moins des joueurs/clients et un enjeu financier, cela change tout

Surtout que le développement informatique est assez complexe (pour le peu que je vois de ma fenêtre les sujets sur l'IA, l'échange de paquet pour des modes multijoueur, etc) je trouve même si certaines actions/fonctions sont connus de tous, il y a en bien souvent une meilleur méthode ou logique à avoir pour optimiser et on se dit "puré mais ce mec est trop malin, pourquoi je n'y ai pas pensé aussi à faire comme ça!" et je ne sais pas justement comment le gain peut être mesuré dans certains cas entre une fonction X ou Y qui ne contient pas les mêmes lignes de code, il y a des requêtes de partout pour calculer le temps des requêtes, des affichages des animations à l'écran? hmm hmm

Après à l'extrême certains studio de dev, surtout sur les free to play (comprennez pay to win) du genre à mon époque Rappelz, préfère trop développer des nouvelles classes, objets et zones pour bien sur vendre des trucs à la boutiques plutot que de faire la correction de bug ou lag qui doivent surement se régler en optimisant certains code sans y passer 3 ans !
Le juste milieu doit être dur à trouver quand même

Je pense aussi que travailler sur un code ancien ne signifie pas que vous devez avoir peur des nouvelles technologies. Ne soyez pas effrayé de commencer des petites expériences comme l'implémentation des notifications dans le navigateur. Essayez des projets plus grands comme la création de notre moteur en Node.js. Adoptez de nouvelles technologies comme HTTP2 aussi tôt que possible.
Sauf en étant pro ou avoir du temps au taquet c'est dur à mettre en place, comment faites vous sur vos projet?
Je prends l'exemple de "where is my family", vu le temps de développement c'est dur de mettre en pratique ce genre de chose j'imagine, quand tu as fais un truc qui tourne et que tu maitrise au bout de quelque années, je pense que tu as juste envie de finir les scenes qu'il manque avec tes outils habituels même si potentiellement il y a un nouveau truc qui serait mieux
C'est surtout dans un contexte semi-pro/pro pour toujours êtres au top par rapport à la concurrence qu'il dit cela ? qu'en pensez-vous? ou j'ai mal interprété ses paroles?


Il est préférable d'avoir quelque chose qui fonctionne que quelque chose de parfait. Vous pouvez publier rapidement, au plus tôt et recevoir des retours pour de futures améliorations au lieu de travailler indéfiniment sur quelque chose qui peut être la meilleure implémentation du moteur, mais qui est détesté par vos clients.
Encore une fois de mon point de vue sans attente des clients ou autre, c'est vraiment dur de résister de finir la petite fonction en plus qui va ajouter l'effet visuel de ouf ou une fonction super utile en jeu! j'ai lu un article sur developpez qui disait que justement à force de faire ça on remet au lendemain et au final il n'y a jamais de bêta/démo du jeu qui sortent car c'est mis au placard
C'est encore plus vrai je pense pour les débutants comme moi qui font des jeu (je m'avance beaucoup en disant que je fais des jeux, vu mon niveau ça serait vraiment osé de dire ça mais l'idée est la je pense) en solo ou à 2 aussi surement, il n'y pas tous les autres membres du groupe qui remettent sur le droit chemin et font sortir la démo en temps et en heure

Mettez à jour votre environnement aussi tôt que possible et utilisez les nouvelles fonctionnalités disponibles afin d'apporter de nouvelles choses sympas à vos utilisateurs finals. Assurez-vous que vous comprenez tous les composants de votre plateforme. Ne vous restreignez pas à une unique spécialité (par exemple, le développement de l'interface) lorsque vous devez au moins comprendre le fonctionnement basique du moteur, quelle est l'infrastructure du serveur, etc.
J'avoue que cette dernière phrase me fait un peu tiquer, en lisant justement les sujets en général sur developpez ou conquérirlemonde.com et je dirais de manière générale dans l'industrie/vie pro, tout le monde est d'accord sur le fait d'avoir des compétences à apporter au groupe et donc de les maitriser! ou alors j'ai vraiment compris de travers
Certes il est fortement utile de "connaitre" le job des autres ou avoir une idée du process complet, de ce que les collègues attendant comme infos de nous, etc mais il parle d' "unique spécialité" ? dans son exemple la personne spécialisé en UI doit aussi disons savoir faire un protocole réseau pour le multi? ou de la modélisation 3D?

Ou peut être il parle dans une "petite" équipe pour pouvoir aider au développement en tout temps et pas seulement faire les UI au début du projet puis glander 6 mois le temps que les autres finissent leurs parties... cela se tient
Car bon dans une équipe comme GTA, j'imagine qu'il faut maitriser une seule spécialité parmi l'équipe de 120 gus non?
J'aimerais bien comprendre ce point de vue, si quelqu'un avec plus d'expérience que moi pourrait donner son avis je suis preneur !

Et finalement, soyez fier de votre travail et n'utilisez pas son âge comme une excuse pour prendre des raccourcis ou diminuer la qualité.
Oui il faut être fier des projets mener au bout je pense! Il est quand même difficile de réaliser un projet en amateur comme sur developpez par exemple car comme j'ai souvent lu en remarque à des "novices" qui voulaient faire un RPG de la mort qui tue, il suffit pas de savoir faire une patate sous gimp, 5 cubes sous 3DSMAX, enregistrer son chien qui aboie avec son microphone et savoir faire 3 textbox et 2 label en VBA pour monter un projet malheureusement pour comparer quand j'en parle à des amis ou des collègues qui abordent ce sujet la avec moi, je réponds en général Faire un jeu/programmer c'est comme faire de la peinture, tu peux apprendre comment faire des traits, des courbes avec un pinceau et utiliser plusieurs couleurs en moins de 30 minutes chrono en main, ce n'est pas pour autant que tu pourras faire un paysage ou un portrait comme un vrai artiste durant le restant de ta vie
Quand je vois le résultat que certaines personnes obtiennent (pour ne citer que "Papi Commando" par exemple, le travail est monstrueux et digne de respect).

Bonne soirée à tous et bonne lecture de l'article surtout !
0  0 
Avatar de Kajiku
Membre du Club https://www.developpez.com
Le 13/10/2017 à 9:47
Article super intéressant, merci pour ce retour d'expérience et bonne continuation dans le développement de ce jeu.
0  0