Les développeurs de Rust veulent réécrire entièrement leur jeu

Les développeurs de Rust veulent réécrire entièrement leur jeu

Rock Simulator 2014, en mieux

Avatar de l'auteur
Kevin Hottot

Publié dans

Société numérique

27/06/2014 3 minutes
47

Les développeurs de Rust veulent réécrire entièrement leur jeu

Rust, un jeu proposé depuis décembre 2013 via le programme Early Access de Steam, s'est déjà écoulé à plus d'un million d'exemplaires. Alors que son développement est encore loin d'être achevé, le studio Facepunch a décidé de recoder entièrement son titre afin de lui permettre d'évoluer.

Rust

 

Le développement d'un jeu n'est jamais chose facile, surtout lorsque l'on décide de commercialiser un prototype loin d'être finalisé. Les développeurs de Rust, un jeu de survie proposé à la vente via Steam Early Access, viennent d'ailleurs d'en faire la douloureuse expérience, et l'ont racontée à nos confrères de chez PCGamesN.

 

En effet, au fur et à mesure de l'ajout de nouvelles fonctionnalités au jeu, les développeurs se sont aperçus qu'ils avaient tout simplement « pris un tas de décisions stupides avec l'ancien code. Il y a beaucoup de systèmes qui font partie de Rust qui font 3 000 lignes de long alors que 100 pourraient suffire. Donc à chaque fois que l'on change quelque chose nous devons essayer de comprendre pourquoi cela casse quatre autres systèmes dont vous pensiez qu'ils n'avaient rien à voir avec cela », expliquent-ils.

 

Du coup, plutôt que de devoir lutter avec de nombreux bugs à cause de la structure du code du jeu, les développeurs ont tout simplement décidé de tout réécrire, en repartant de zéro. Par conséquent, la branche principale du jeu n'est plus mise à jour sur Steam, et seule la branche dite « expérimentale » reçoit régulièrement de nouveaux ajouts. 

 

Parmi les dernières nouveautés annoncées, on notera par exemple que toute l'interface du jeu sera reprogrammée... en HTML. Ceci aurait selon le studio plusieurs avantages, dont la possibilité pour les joueurs d'en modifier l'apparence en éditant le CSS. Ce changement permettrait également de détourner les calculs liés à l'interface sur un « thread » séparé sans difficulté. Accessoirement, cela permet aux développeurs de « faire [notre] tambouille beaucoup plus rapidement » (sic).

 

Pour l'heure, les développeurs n'ont pas encore décidé d'une date à partir de laquelle l'actuelle version expérimentale du jeu remplacera définitivement la mouture actuelle. S'il faut vraiment réécrire l'intégralité du code du jeu, cela pourrait certainement réclamer quelques mois. En attendant, il reste toujours possible de courir nu dans les plaines du jeu avec un gros caillou à la main, et c'est peut-être tout ce qui compte.

Écrit par Kevin Hottot

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

Fermer

Commentaires (47)


A noter que l’expression “do our shit” me semble connotée différemment de la traduction “faire notre merde” pour nous francophones.



… mais je connais pas toutes les subtilités et ne peux pas proposer de meilleure traduction ^^’ Je dis ça juste histoire de relativiser sur ce commentaire des devs.


“pisser du code” me semble un équivalent approprié <img data-src=" />


Code spaghetti : the game.


N’allait pas jeté un pavé dans la marre ,voyons.



Et ,pis bon, ils veulent juste rajouté des features non prévu au départ <img data-src=" />








Papa Panda a écrit :



N’allait pas jeté un pavé dans la marre ,voyons.



Et ,pis bon, ils veulent juste rajouté des features non prévu au départ <img data-src=" />







Un correcteur orthographique et grammatical ?



Une décision difficile à prendre mais certainement indispensable pour avoir au final bien moins de bug et un jeu bien plus aboutit <img data-src=" />








Papa Panda a écrit :



N’allait pas jeté





<img data-src=" />



C’est très bien ca, le jeu n’en sera que + stable/optimisé.

Optimiser l’existant ne peut jamais être mieux que de repartir de 0.

Ca ira vite, le jeu n’a que 6 mois, et le code pondu les 2 derniers mois doit surement pouvoir se copier/coller facilement.


Et oui, le fait de poursuivre la logique du non logique dans un développement, pousse toujours à cet état de fait :p


” En attendant, il reste toujours possible de courir nu dans les plaines du jeu avec un gros caillou à la main, et c’est peut-être tout ce qui compte.”



Ca a l’air passionant comme jeu….








garvek a écrit :



“pisser du code” me semble un équivalent approprié <img data-src=" />







Rust in pisse. <img data-src=" />





En effet, au fur et à mesure de l’ajout de nouvelles fonctionnalités au jeu, les développeurs se sont aperçus qu’ils avaient tout simplement « pris un tas de décisions stupides avec l’ancien code. Il y a beaucoup de systèmes qui font partie de Rust qui font 3 000 lignes de long alors que 100 pourraient suffire. Donc à chaque fois que l’on change quelque chose nous devons essayer de comprendre pourquoi cela casse quatre autres systèmes dont vous pensiez qu’ils n’avaient rien avoir avec cela », expliquent-ils.



Aussi, c’est comme ça qu’on apprend.








Erad a écrit :



A noter que l’expression “do our shit” me semble connotée différemment de la traduction “faire notre merde” pour nous francophones.



… mais je connais pas toutes les subtilités et ne peux pas proposer de meilleure traduction ^^’ Je dis ça juste histoire de relativiser sur ce commentaire des devs.





Ah, c’est donc de là que vient DOS (Quick and) Dirty Operating System ? <img data-src=" />









Erad a écrit :



A noter que l’expression “do our shit” me semble connotée différemment de la traduction “faire notre merde” pour nous francophones.



… mais je connais pas toutes les subtilités et ne peux pas proposer de meilleure traduction ^^’ Je dis ça juste histoire de relativiser sur ce commentaire des devs.





Moi j’aurais mis “faire notre tambouille” <img data-src=" />









Jarodd a écrit :



Un correcteur orthographique et grammatical ?









Niktareum a écrit :



<img data-src=" />







ça va ^^



Je ne pouvais plus éditer erf…



Bah ma foi, si ça permet d’avoir au final un jeu mieux codé, moins buggé et avec plus de features… Why not. Ce sera infiniment mieux que l’état dans lequel sortent la majorité des jeux à l’heure actuelle. <img data-src=" />



“Do our shit” c’est tout simplement “faire notre boulot” en version très familière. Traduire avec la même connotation je sais pas si c’est possible.








barok a écrit :



C’est très bien ca, le jeu n’en sera que + stable/optimisé.

Optimiser l’existant ne peut jamais être mieux que de repartir de 0.

Ca ira vite, le jeu n’a que 6 mois, et le code pondu les 2 derniers mois doit surement pouvoir se copier/coller facilement.





<img data-src=" />



Il me semble que cette décision a été motivée par la réécriture du netcode, avant cela le studio faisait appel à un prestataire de service.



C’est la fracture/limitation du dit prestataire qui aurait motivé le réécriture du netcode puis celle du jeu.



Personnellement je trouve la décision courageuse. <img data-src=" />








Erad a écrit :



A noter que l’expression “do our shit” me semble connotée différemment de la traduction “faire notre merde” pour nous francophones.



… mais je connais pas toutes les subtilités et ne peux pas proposer de meilleure traduction ^^’ Je dis ça juste histoire de relativiser sur ce commentaire des devs.





Oui la traduction sonne bizarre.

“… so shit gets done a lot faster,”

–&gt;

“… le boulot est fait plus rapidement.”



C’est super de vouloir avoir du code propre et de refactorer constamment. Mais le truc, c’est qu’on n’arrive jamais à un truc totalement propre, et que si on écoutait les techniciens (j’en suis un), il faudrait toujours tout recommencer parce que ce n’est pas assez bien.

Ce que je veux dire, c’est qu’il ne faudrait pas qu’ils se disent qu’il faut tout recommencer à chaque fois qu’ils ont des difficultés, sinon les joueurs auront sans doute un jeu aux qualités techniques exceptionnelles, mais injouable parce qu’il est re-développé depuis le début tous les 6 mois.


Facepunch Studio c’est Garry Newman, le mec qui à fait Garry’s mod (La sandbox qui permet de jouer avec le moteur d’HL2)



L’histoire de Garry’s mod est un peu similaire puisque la aussi je jeu a eut droit à une refonte plutôt significative.



Certes cette fois c’est pas de la même empleur.








mistigrite a écrit :



C’est super de vouloir avoir du code propre et de refactorer constamment. Mais le truc, c’est qu’on n’arrive jamais à un truc totalement propre, et que si on écoutait les techniciens (j’en suis un), il faudrait toujours tout recommencer parce que ce n’est pas assez bien.

Ce que je veux dire, c’est qu’il ne faudrait pas qu’ils se disent qu’il faut tout recommencer à chaque fois qu’ils ont des difficultés, sinon les joueurs auront sans doute un jeu aux qualités techniques exceptionnelles, mais injouable parce qu’il est re-développé depuis le début tous les 6 mois.





Si jamais ils se retrouvent à tout reprendre à 0 chaque semestre, ils feraient mieux de changer d’objectif.









mistigrite a écrit :



C’est super de vouloir avoir du code propre et de refactorer constamment. Mais le truc, c’est qu’on n’arrive jamais à un truc totalement propre, et que si on écoutait les techniciens (j’en suis un), il faudrait toujours tout recommencer parce que ce n’est pas assez bien.

Ce que je veux dire, c’est qu’il ne faudrait pas qu’ils se disent qu’il faut tout recommencer à chaque fois qu’ils ont des difficultés, sinon les joueurs auront sans doute un jeu aux qualités techniques exceptionnelles, mais injouable parce qu’il est re-développé depuis le début tous les 6 mois.





Sans arriver au code parfait, on finit toujours par comprendre au bout de quelques mois pourquoi le projet tel qu’il a été fait au départ doit être fait autrement. Il faut être un sacré architecte de code pour arriver à pondre une archi propre dès le départ !



La plupart des jeux actuels se basent d’ailleurs sur des moteurs qui fonctionnent sur ce principe, le code est écrit et maintenu/amélioré pendant quelques années, puis on se rend compte des limitations et on repart quasi depuis le début pour la version suivante du moteur.









barok a écrit :



C’est très bien ca, le jeu n’en sera que + stable/optimisé.

Optimiser l’existant ne peut jamais être mieux que de repartir de 0.

Ca ira vite, le jeu n’a que 6 mois, et le code pondu les 2 derniers mois doit surement pouvoir se copier/coller facilement.







Si tout était si simple <img data-src=" />



Il faut savoir que 34 des erreurs viennent d’un mauvais copier/coller (je l’ai vécu pas plus tard qu’hier <img data-src=" /> )



Et sinon, il est bien comme jeu ?


Mauvaise analyse, programmation pourrie car modification difficile. Microsoft en sait quelque chose, regardé le temps qu’il a fallut pour les maj de Windows 8…


Comme c’est du Early Access, ça sent un peu le sapin.


ça montre surtout qu’ils n’ont pas d’architecte. Personnellement je ne prends pas ça comme une bonne nouvelle… Même si la décision est courageuse, sans architecte digne de ce nom, tu peux refactorer ton code indéfiniment…



@madoxav : +1


On dirait qu’ils sont vraiment passionnés de leur création et c’est tant mieux.


Le futur Duke Nukem Forever ?








Hebus25 a écrit :



ça montre surtout qu’ils n’ont pas d’architecte. Personnellement je ne prends pas ça comme une bonne nouvelle… Même si la décision est courageuse, sans architecte digne de ce nom, tu peux refactorer ton code indéfiniment…



@madoxav : +1





Ca montre surtout qu’ils ont commence sur un petit projet amateur et que le projet ayant reçu un bon accueille il doivent passer au niveau supérieur, plus pro. Ce n’est pas parce que tu refais un projet que tu n’as pas d’architecte, ca n’a pas vraiment de rapport.









seb2411 a écrit :



Ca montre surtout qu’ils ont commence sur un petit projet amateur et que le projet ayant reçu un bon accueille il doivent passer au niveau supérieur, plus pro. Ce n’est pas parce que tu refais un projet que tu n’as pas d’architecte, ca n’a pas vraiment de rapport.







Le fait est que Garry en parle depuis un certain temps déjà. En effet le plan initial était d’avoir une petite base de joueurs pour recoder tout au fur et à mesure.



Et la “pas de bol” il en vendent plus d’1 millon… forcément ça accélère un peu les choses.



Heuuu ça a un peu rien à voir.

L’équipe intiale a monté un prototype et a dit en gros que le jeu final sera sur ce gameplay là.



Une fois le buzz pris, la clientèle touchée, la campagne de pré-vente bien engagée, il “jette” son prototype et commence le vrai taff avec une équipe plus conséquente grâce au succès du jeu.



Le prototype a été fait en vraiment très peu de temps et n’est qu’un empilement de bidouilles un peu dégueux. Le vrai jeu lui est fait bien plus proprement avec moins de hâte car le studio ne risque plus trop de mourir par manque de thunes.

Qui plus est les devs sont francs sur leur blog et communiquent vachement sur les nouveautés toutes les semaines.

En bref ça sent pas du tout le sapin et c’est plutôt rondement mené pour le moment. La version expérimentale (qui sera au final la vraie version) commence à être un peu jouable et montre des différences flagrantes (en bien).








barok a écrit :



C’est très bien ca, le jeu n’en sera que + stable/optimisé.

Optimiser l’existant ne peut jamais être mieux que de repartir de 0.

Ca ira vite, le jeu n’a que 6 mois, et le code pondu les 2 derniers mois doit surement pouvoir se copier/coller facilement.







ça sert à quoi de repartir de zéro si c’est pour faire du copier/coller d’un code pourrit ?









mistigrite a écrit :



Ce que je veux dire, c’est qu’il ne faudrait pas qu’ils se disent qu’il faut tout recommencer à chaque fois qu’ils ont des difficultés, sinon les joueurs auront sans doute un jeu aux qualités techniques exceptionnelles, mais injouable parce qu’il est re-développé depuis le début tous les 6 mois.





Non t’inquiètes, cf plus bas.





madoxav a écrit :



Comme c’est du Early Access, ça sent un peu le sapin.





Si tu savais comme tu es loin de la réalité… <img data-src=" />





Hebus25 a écrit :



ça montre surtout qu’ils n’ont pas d’architecte. Personnellement je ne prends pas ça comme une bonne nouvelle… Même si la décision est courageuse, sans architecte digne de ce nom, tu peux refactorer ton code indéfiniment…

@madoxav : +1





Nawak, c’t’analyse à l’arrache… <img data-src=" />





seb2411 a écrit :



Ca montre surtout qu’ils ont commence sur un petit projet amateur et que le projet ayant reçu un bon accueille il doivent passer au niveau supérieur, plus pro. Ce n’est pas parce que tu refais un projet que tu n’as pas d’architecte, ca n’a pas vraiment de rapport.





Voilà.

À la base Rust c’était un projet ambitieux mais qui n’était pas forcément bien défini dans les fonctionnalités/le gameplay. Du coup Garry l’a publié en Early Access pour recueillir les feedback des joueurs et mieux définir.

Je pense qu’il n’avait juste absolument pas prévu de faire un carton plein plusieurs semaines durant, et se retrouver avec plusieurs dizaines (centaines ?) de milliers de joueurs qui triturent dans tous les sens un prototype tout juste fonctionnel…

Ouvrant ainsi plein de nouvelles perspectives de features grâce à l’argent frais, tout en impliquant un vrai niveau de qualité.



Du coup bah, ils préfèrent laisser les gens s’amuser avec ce qu’ils ont et tout refaire à côté. Pour moi ce n’est même pas une décision courageuse, c’est juste LA décision raisonnable et pourtant rarement adoptée pour diverses raisons…

Mais j’ai pleinement confiance en Garry considérant 1) Garry’s Mod 2) la jouabilité de Rust actuelle 3) sa communication régulière et ouverte sur le dev.



Ce qu’ils vivent actuellement, c’est à peu près la même démarche que quand une boîte décide d’industrialiser un projet de recherche : on garde les concepts et on jette à peu près tout le reste. <img data-src=" />







le podoclaste a écrit :



Et sinon, il est bien comme jeu ?





De moyen à addictif selon ton appréciation du multijoueur PVP. En tout état de cause, pour peu de tomber sur un serveur fair play, tu as moyen de t’amuser largement quelques dizaines d’heures (le temps de vivre quelques chasses à l’homme et bâtir ta petite forteresse perso). Ensuite tu en auras fait le tour, en attendant la nouvelle branche.



En général, quand les dévs décident de repartir depuis le début, ça sent fort le pâté. Mais bon, de toute façon comme la majorité des jeux Early Access plus personne n’y jouera en version finale, donc seule l’alpha compte. Surtout pour un jeu en ligne qui sera désert une fois le buzz épuisé.





Par contre si quelqu’un sait ce qu’ils ont utilisé pour intégrer html dans leur moteur, ça m’intéresse (je ne pense pas qu’il soit possible de simplement rendre un contrôle html dans une texture - l’antialising ne fonctionnerait pas et donnerait un résultat crade).








Hebus25 a écrit :



ça montre surtout qu’ils n’ont pas d’architecte. Personnellement je ne prends pas ça comme une bonne nouvelle… Même si la décision est courageuse, sans architecte digne de ce nom, tu peux refactorer ton code indéfiniment…



@madoxav : +1







Pour architecturer correctement, encore faut t’il avoir une idée précise de ce qu’on doit réaliser.



Ce genre de jeu, c’est le cas typique du projet complexe, monté en peu de temps par des équipes peu expérimentées et dont les idées sont trouvée au fur et à mesure.



Donc forcément, il y a un moment ou ils vont réaliser que les choix de départ ne sont plus adaptés à ce que devient le projet.



Et la, deux cas de figure possible, soit c’est possible de corriger, soit les choix de départ sont irrémédiablement bloquants, auquel cas il vaut mieux repartir de zéro.



Il n’est pas rare qu’un programmeur refasse dans sa vie plusieurs fois le même programme, mais en l’écrivant de mieux en mieux.







HarmattanBlow a écrit :



En général, quand les dévs décident de repartir depuis le début, ça sent fort le pâté. Mais bon, de toute façon comme la majorité des jeux Early Access plus personne n’y jouera en version finale, donc seule l’alpha compte. Surtout pour un jeu en ligne qui sera désert une fois le buzz épuisé.







Oui, le risque de voir le buzz se tasser pendant qu’ils refont le jeu est quasiment certain. Et cette annonce risque plutôt de casser la dynamique qu’autre chose.



A leur place, j’aurais plutôt finalisé le prototype tant bien que mal et laissé la remise à plat pour un éventuel Rust 2.




Cette litanie d’analyses ‘yaka fokon’ de comptoir, de gugus qui viennent avec la prétention de t’expliquer ce que doit être la bonne gestion d’un projet qu’ils ne connaissent pas, en plus de n’avoir manifestement aucune compétence dans le domaine.



priceless <img data-src=" />








HarmattanBlow a écrit :



En général, quand les dévs décident de repartir depuis le début, ça sent fort le pâté. Mais bon, de toute façon comme la majorité des jeux Early Access plus personne n’y jouera en version finale, donc seule l’alpha compte. Surtout pour un jeu en ligne qui sera désert une fois le buzz épuisé.









sr17 a écrit :



Oui, le risque de voir le buzz se tasser pendant qu’ils refont le jeu est quasiment certain. Et cette annonce risque plutôt de casser la dynamique qu’autre chose.

A leur place, j’aurais plutôt finalisé le prototype tant bien que mal et laissé la remise à plat pour un éventuel Rust 2.







Il est vrai que beaucoup de jeux Early Access sont lâchés avant la version finale. Pour autant, je ne serais pas catégorique comme vous. Pourquoi ?

Garry est un chef de projet qui a un minimum d’expérience sur ce qu’est une communauté et comment elle vit. Du coup contrairement à beaucoup de projets EArly Access, il sait maintenir l’intérêt avec les annonces régulières.



Clairement l’alpha actuelle on en fait le tour relativement vite. Les gens passent à autre chose. N’empêche qu’une bonne partie de ceux qui auront apprécié l’alpha garderont un oeil sur le dev. Si Garry tient ses ambitions (et je veux croire qu’il les tiendra) ils reviendront volontiers. <img data-src=" />

A fortiori si avec la nouvelle version on peut enfin héberger soi-même son serveur Rust. Et d’autant plus compte tenu de la forte communauté qui s’est déjà développée autour du modding et qui servira à entretenir un noyau dur de joueurs futurs ambassadeurs…



Bravo pour cette décision pas facile à prendre bien que je connaisse pas le jeu je suis sûr que ça sera profitable.








brazomyna a écrit :



Cette litanie d’analyses ‘yaka fokon’ de comptoir, de gugus qui viennent avec la prétention de t’expliquer ce que doit être la bonne gestion d’un projet qu’ils ne connaissent pas, en plus de n’avoir manifestement aucune compétence dans le domaine.

priceless <img data-src=" />







Pas faux.



Mais en même temps, ce genre de projet, c’est tellement particulier qu’il est assez logique qu’il y ait des gens qui ne comprennent pas.



Et même pour des programmeurs étant donné que c’est plutôt a l’opposé d’une approche scolaire.









Citan666 a écrit :



Il est vrai que beaucoup de jeux Early Access sont lâchés avant la version finale. Pour autant, je ne serais pas catégorique comme vous. Pourquoi ?

Garry est un chef de projet qui a un minimum d’expérience sur ce qu’est une communauté et comment elle vit. Du coup contrairement à beaucoup de projets EArly Access, il sait maintenir l’intérêt avec les annonces régulières.









Justement, c’est bien ça le problème.



La première phase d’un projet, c’est celle qui produit le moins de matière intéressante pour faire des annonces.



Donc retourner au départ, c’est prendre le risque de n’avoir plus grand chose de sympa à montrer/annoncer auprès du joueur de base pendant un certain temps.



Je ne dit pas que c’est impossible de maintenir l’intérêt. Mais il vont devoir faire preuve d’un talent certain et de beaucoup d’imagination.



Il est aussi possible qu’il réussissent à refaire le buzz a la sortie de la nouvelle version.



En tant qu’amateur inconditionnel de ce genre de jeu, ça me ferait grand plaisir qu’ils réussissent.




On la acheter avec des potes et on y a passer un bon moment (~100h). On y joue plus trop parce que c’est vite répétitif et on en a fait le tour, mais si demain le jeu a été améliorer et qu’il permet de nouvelle chose, on y retournera volontiers, même si c’est dans 6 mois/1 ans.


En espérant qu’ils revoient leur Netcode et le côté Hack…. car c’était la foire quand même…








sr17 a écrit :



Pas faux.



Mais en même temps, ce genre de projet, c’est tellement particulier qu’il est assez logique qu’il y ait des gens qui ne comprennent pas.





Quand on comprend pas et/ou qu’on n’a pas le moindre élément pour arbitrer, une personne normalement constituée émet des hypothèses, des doutes, (se) pose des questions.

La personne normale vient pas t’expliquer en quoi la décision ne serait ‘évidemment’ pas la bonne. Elle a intégré qu’il n’y a pas de réponse simple et que c’est une question de compromis à partir d’élements de décision dont elle ne dispose pas, étant totalement extérieure au projet.



Donc défendre telle ou telle position ici bas, ça revient à expliquer qu’on est un abruti qui ne comprend rien au processus qui mène à de telles décisions (et je ne parle même pas de l’ego que ça reflète).