Commentaires : Le code source de Far Cry a fuité : que va faire le Web?

Breaking News ! Le code source de Far Cry premier du nom s’est échappé de sa cage virtuelle et a fuité sur le Web. Alors que le jeu a été développé par le studio Crytek en 2004 et édité la même année par Ubisoft, la nouvelle ne laisse personne indifférent.

Ça va surement être un truc de fou le résultat, un peu comme avec le code source de Doom3 :lying_face: :wink:

(Passer du temps sur un moteur Unreal engine ou unity récent me semble plus pertinent, même si j’ai bien aimé ce Far cry (bien + que doom3))

2 « J'aime »

Ah les souvenirs
Le trio far cry / doom 3 / half life 2 qui mettait les pc à genoux, c’était quand même quelque chose.

6 « J'aime »

FarCry qui faisait fondre ma GeForce 3 Ti 200 64Mo, j’avais du changer de PC rien que pour ca et prendre une ATi X800XT :slight_smile:

Sinon je n’ai jamais rien compris au ‹ code source ›… je vois pas la différence entre les fichiers d’un jeu/software et son code source… et pourquoi c’est super grave si ca fuite…

Cette news alarmiste pour un jeu de 2004 dont tout le monde se fout … mdr. C’est un abandonware ce jeu. Il était très sympa … en 2004 j’y jouais avec ma ATI 9800 Pro et mon pentium 4 ^^

4 « J'aime »

Un code source aussi vieux devrait de toute façon être mis dans le domaine publique pour sa concervation et l’apprentissage. C’est pas comme si il renfermait des secret industriels de pointe qui permettent à son propriétaire d’avoir une quelconque avance technologique sur la concurrence. Ce sont des algos connus et des fonctions DX9 d’un autre âge.

Id/Carmack l’avaient bien compris eux.

Il n’y à guère que Bethesda qui ne peut pas mettre son fork Gamebryo de 2001 dans le domaine publique vu que c’est toujours ce moteur qu’ils exploitent sur Starfield :stuck_out_tongue: (je trolle oui).

4 « J'aime »

Le code source c’est le langage brut, écrit par le développeur avant qu’il ne soit compilé. Les fichiers que tu as dans ton dossier d’installation par exemple sont interprétés par ton pc pour faire tourner le jeu mais tu ne peux pas les lire (il y a des méthodes mais c’est compliqué).

En gros si tu as le code source tu as toute la logique des développeurs, toute leur réflexion, leurs algorithmes, et tu peux repartir de cette base pour modifier le code source, et réécrire complètement le jeu.

@Crush: …et Crysis, mon bon monsieur ! :slight_smile:

Oui crysis aussi, ah la démo je m’en rappellerai toujours la hype avant qu’elle ne sorte.
Les 30 fps en very high sur des 8800 ultra
Crysis-France.fr
La belle époque :smiling_face_with_tear:

2 « J'aime »

Il n’y a aucun risque, le code est beaucoup trop éloigné de celui des Far Cry modernes. Impossible de produire autre chose qu’un jeu techniquement daté avec ça.

Très bien expliqué par @crush56 mais je me permet une autre analogie.

Entre 3000 et 2000 avant J-C, en Chine à été mis au point la méthode pour créer la Soie.

Pendant des millénaires, personne ne connaissait le secret de fabrication. Des civilisations se son construites et sont mortes sans savoir. Mais pendant des siècles et des siècles, la soie a été vendue sur une large part du globe au travers des fameuses Routes de la Soie. L’étoffe était un des biens les plus précieux jusqu’au moyen âge. On avait accès au produit fini, la Soie, mais pas à son secret de fabrication.

Un jour des « espions » venus d’autres contrées ont découvert le secret de la soie. Là où les romains coryaient que les Chinois récupèraient les fils sur des arbres inconnus, des coréen, japonais et autres ont découvert que le chinois récoltainet des vers particulier qu’ils faisent bouillir et récupéraient de leur cocon le fil à tisser si précieux. Ça a été le début de la fin de l’hégémonie chinoise sur la Soie.

Dans notre analogie, le code source, c’est le secret Chinois des vers à soie gardé précieusement pendant des millénaires. Ton jeu lui, c’est l’étoffe que tu achète au prix du vendeur.

Alors sur un jeu comme Far Cry premier du nom, ça va, on sait tous que le code source contient des cocon de chenilles, mais pour un jeu très récnet à la pointe de la technologie et avec des fonctionnalité de gameplay ou d’intelligence artificielle à la pointe, c’est plus problématique.

5 « J'aime »

Mon frangin s’était payé un pc gamer en 2005 (un Medion du Aldi lol) et arrivait à faire tourner ces jeux (qui mettaient une grosse claque graphique à leur façon), c’est là que j’ai commencé à jouer au pc.
Me souviens d’un petit jeu qui est sorti l’année d’après et qui a mis le retour de la baffe graphique … The Elder Scrolls 4 Oblivion !
De bons souvenirs en tout cas ^^

Belle analogie.

Un autre secret de fabrication du code que je trouve passionnant, c’est l’histoire du calcul de l’approximation de la racine inverse d’une valeur, nécessaire pour le calcul 3D isométrique. Le code de cette fonction est magique et relève du génie, à une époque où on cherchait les optimisations partout où on pouvait gagner un peu. Je vous laisse découvrir l’article.

https://medium.com/hard-mode/the-legendary-fast-inverse-square-root-e51fee3b49d9

Cette découverte sonna le glas d’une entreprise spécialisée dans le support graphique, juste avec cette optimisation gardée longtemps secrète et dont l’auteur s’est fait connaître longtemps après…

1 « J'aime »

Oui, j’avais suivi quelques articles et la vidéo de David Plummer, programmer est ingé chez Microsoft (et qui a cré pas mal d’outils qu’on connait tous depuis 30 ans) sur sa chaine Youtube Daves’ Garage :

1 « J'aime »

Le code source d’une application/site web ou encore jeu ou autre c’est le language utilisé par les développeurs pour ordonner leur instruction à la machine. En gros un exemple concret : le bouton souligner de word, toi tu sélectionnes ton texte, tu cliques sur le bouton et le texte se retrouve souligné. Derrière ça, le développeur a ajouté du code source qui répond à l’évènement du clique qui va dire, je prend le texte sélectionné, je lui applique le souligner puis je demande au moteur de rendu de document de redessiner le texte.
A quoi ça ressemble du code source par exemple ça :

public void buttonTestHelloWord(object sender, EventArgs e)
{
MessageBox.Show(« Hello word !!! »);
}

Dans mon exemple du dessus, on serait sur la méthode d’un événement clique d’un bouton, lorsqu’on clique, moi dev, j’ai demandé à ce qu’une boite de dialogue s’affiche avec le texte Hello word !!!

Par contre si ça moi, dev, je sais le lire et l’écrire, la machine ne peut pas comprendre ça, elle, elle comprend des instructions assembleur/code machine (en gros je prend tel index d’adresse mémoire, je met ça dans le cache du CPU, je fais tel opération et je stock le résultat dans tel autre index mémoire).
Pour passer de l’un à l’autre, on passe par un compilateur qui transforme le code source en code machine (ton .exe par exemple sur Windows).

Pour résumer
Code source = ce qu’écrit le développeur pour faire faire ce qu’il veut à la machine
Application compilée = code machine de ton jeu/application que ta machine peu comprendre.
Compilateur = outil pour passer de l’un à l’autre

La question que tu vas me poser c’est mais s’il y a un outil pour passer du code source au code machine, suffit de l’utiliser à l’envers pour passer du code machine au code source et en faite non, ça s’appel du retro engineering, tu ne peux pas retrouver le code source d’origine étant donnée que ton .exe n’est que le résultat de la compilation qui efface toutes autres informations que les développeurs mettent pour faire l’application mais tu peux retrouver des fonctionnements c’est ce qui permet de faire des cracks par exemple mais c’est très complexe sachant qu’évidement il y a des outils qui permettent de générer un code machine qu’on ne pourra pas décompiler, qui sera incompréhensible et j’en passe.

Voilà pourquoi le code source d’une application ou d’un jeu est très jalousement gardé par les sociétés de développement, sans compter qu’on peut aussi y retrouver des clés de cryptages, des accès aux API utilisés par les développeurs et autres informations sensibles.

P.S. : Désolé pour le pavé :stuck_out_tongue:

3 « J'aime »

Ca dépend de ce qu’on avait comme cg. A l’époque des sorties de ces jeux, j’avais une ATI 9700 Pro et pas de souci. neutre

Disons que pour le coup c’était effectivement surtout far cry 1 qui faisait office de benchmark, de mémoire avec une 6800 gt ou ultra en very high 1024x768 tu descendais en dessous de 30 fps dans certaines zones.

Mais à cette époque c’était quand même assez rare les pc de gaming et la majorité des pc familiaux (c’était mon cas) pouvaient difficilement faire tourner ces jeux, sinon en low.
Far cry c’était littéralement un diaporama sur ma pauvre ati 9200 se :disappointed_relieved:

Perso, le seul jeu qui ne tournait vraiment pas bien au moment de sa sortie et sur ma config du moment, c’était Crysis (démo téléchargée). Alors j’ai attendu des années avant de l’acheter, quand j’ai eu une config capable de le faire tourner toutes options à fond. ane

J’ai toujours eu de très bonnes configs, mon premier pc avait un Pentium 166 quand le seul qui était plus puissant à l’époque était le 200. Et ensuite, j’ai eu un Pentium II 450, le plus puissant de sa génération.^^

Merci pour tous ces commentaires, très instructif !

A moins que ça soit juste pour le plaisir de faire du « buzz », soit de la pub à moindre frais comme c’est à la mode, j’aimerais bien savoir ce qu’un jeu de 20 ans a de si extraordinaire en terme de secrets inavouables…

Peut etre justement le truc qu’on se dit depuis +20 ans : à part les graphismes, strictement rien ne change… Alors là oui c’est grave… d’avoir rien fait depuis 20 ans…

PS : normalement un jeu de 20 ans était considéré abandonware y’a encore pas si longtemps. Mais depuis on bouffe des remakes dans tous les sens… donc ça c’était avant