+ Répondre à la discussion Actualité déjà publiée
  1. #1
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    mai 2008
    Messages
    22 579
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : mai 2008
    Messages : 22 579
    Points : 156 185
    Points
    156 185
    Billets dans le blog
    11

    Par défaut 14 ans de développement sur Guerre Tribale - Maintenir et moderniser un ancien jeu de navigateur

    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.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  2. #2
    Membre régulier Avatar de Tonton Nico
    Homme Profil pro
    Ingénieur
    Inscrit en
    septembre 2017
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : septembre 2017
    Messages : 55
    Points : 96
    Points
    96

    Par défaut

    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 !
    On me dit souvent que je ressemble à Einstein... mais plutôt à Frank que Albert

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    juin 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2007
    Messages : 8
    Points : 24
    Points
    24

    Par défaut

    Article super intéressant, merci pour ce retour d'expérience et bonne continuation dans le développement de ce jeu.

Discussions similaires

  1. Développement sur téléphone portable
    Par LordBob dans le forum Java & Mobiles
    Réponses: 12
    Dernier message: 05/06/2009, 12h33
  2. développement sur plates formes mobiles
    Par Leon Ira dans le forum Java ME
    Réponses: 13
    Dernier message: 10/01/2007, 23h33
  3. [avis] Développement sur Palm et/ou pocket PC
    Par mister_ouille dans le forum Java & Mobiles
    Réponses: 2
    Dernier message: 05/10/2005, 14h24
  4. Développer sur "papier" ?
    Par Thcan dans le forum Langages de programmation
    Réponses: 19
    Dernier message: 03/09/2003, 16h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo