Bonjour à tous,
Je vous fait rapidement une petite introduction pour passer ensuite rapidement au vif du sujet. En effet, beaucoup de joueurs ne savent pas que certaines manipulations peuvent vous permettre de jouer à TF2 convenablement. les développeurs n'ont de cesse de mettre à jour leur jeu, mettant en péril nos précieuses images par seconde et mettant en difficulté vos PC's qui en deviennent obsolètes. Je me propose donc à travers plusieurs petites leçons, de vous transmettre quelques astuces et autres connaissances, qui après de longues recherches sur le net m'ont grandement aidé à jouer plus confortablement.
Ces tutoriels s'adressent à tous. Je pense que certaines astuces sont évidemment très connues, d'autres moins, cela reste néanmoins une bonne occasion d'apprendre certaines choses et ce même pour les joueurs habitués.
Si vous souhaitez contribuer, m'aider dans la rédaction de ces astuces, n'hésitez pas à me contacter. Et n'hésitez pas à critiquer ce travail, aussi noble soit-il.
Leçon n°4 - ???
Pour bientôt... peut-être !
( Aucune fautes ? Normale texte corriger avant =D )
Je vous fait rapidement une petite introduction pour passer ensuite rapidement au vif du sujet. En effet, beaucoup de joueurs ne savent pas que certaines manipulations peuvent vous permettre de jouer à TF2 convenablement. les développeurs n'ont de cesse de mettre à jour leur jeu, mettant en péril nos précieuses images par seconde et mettant en difficulté vos PC's qui en deviennent obsolètes. Je me propose donc à travers plusieurs petites leçons, de vous transmettre quelques astuces et autres connaissances, qui après de longues recherches sur le net m'ont grandement aidé à jouer plus confortablement.
Ces tutoriels s'adressent à tous. Je pense que certaines astuces sont évidemment très connues, d'autres moins, cela reste néanmoins une bonne occasion d'apprendre certaines choses et ce même pour les joueurs habitués.
Si vous souhaitez contribuer, m'aider dans la rédaction de ces astuces, n'hésitez pas à me contacter. Et n'hésitez pas à critiquer ce travail, aussi noble soit-il.
- Leçon n°1 - Les options de lancement.:
- La particularité des jeux sur steam est de pouvoir facilement appliquer des options au lancement de votre jeu. Ce n'est pas difficile à faire et elles vous permettent de faire plusieurs choses utiles. Je vous propose donc de résumer ces options et de vous apprendre à les utiliser (dans le cas où vous ne sauriez pas le faire).
Les options de lancement sont accessible sur steam. Il vous suffit de cliquer-droit sur votre jeu, de sélectionner ses propriétés et de cliquer sur le bouton « Définir les options de lancement ». Vous avez alors accès à une boite de texte vous permettant d'y définir vos options. Pour activer une option, il vous suffit de l'ajouter dans cette boite en y mettant un tiret « - » devant. (Voir screenshot)
Je vous propose donc une liste non exhaustive, mais qui regroupe les options de lancement les plus générales et qui ont chacune une utilité propre.
-autoconfig : Remet votre jeu à zéro, c'est une commande qui ne s'utilise lorsque vous souhaitez remettre dans l'état où il était lors de votre premier téléchargement. Pour l'utiliser, il faut que la rentriez dans les options de lancement via steam, que vous lanciez votre jeu. Une fois que la jeu a été lancé une première fois, vous pourrez enlever la commande des options de lancement, il aura été entièrement remis à zéro. Attention toutefois, depuis la mise à jour de valve et de son système steam cloud, cette commande ne marche plus réellement.
-console : Cette commande vous permettras de lancer la console dès le lancement du jeu.
-dev : Lance le jeu en mode développeur. Une commande inutile pour nous mais qui est toujours intéressante à connaître.
-window ou -sw ou -startwindowed ou -windowed : Lance le jeu en mode fenêtré. Utile pour faire des retours windows rapidement. Cette commande est généralement couplée à -noborder qui permet d'enlever les bordures de votre fenêtre windows.
-full ou -fullscren : Permet de lancer le jeu en plein écran.
-novid : Permet d'enlever l'intro de valve au début du jeu et donc, de lancer votre plus rapidement.
-refresh <%> ou -refreshrate <%> ou -freq <%> : Cette option permet de définir le taux de rafraichissement de votre écran. Pour le définir, il vous suffit de remplacer <%> par le taux souhaité (exemple : -refresh 60).
-w <%> ou -width <%> : Permet de définir la résolution en longueur de votre jeu. <%> est à remplacer par la longueur souhaitée (exemple : -w 1024).
-h <%> ou -height <%> : Permet de définir la résolution en largeur de votre jeu. <%> est à remplacer par la longueur souhaitée (exemple : -h 768).
-nojoy : désactive le joystick
-d3d : Permet d'utiliser direct3d uniquement (utile pour les cartes graphiques ATI)
-gl : Permet d'utiliser OpenGL uniquement (utile pour les cartes graphiques Nvidia)
-noforcemspd et -noforcemaccel : Ces deux commandes permettent respectivement de désactiver les paramètres de vitesse et d'accélération souris. Ces deux commandes ne marcheront que si vous les ajoutez avec la commande -useforcedmparms (qui permet d'autoriser l'utilisation des deux options).
La commande qui pourrait avoir la plus grosse importance et pour laquelle je réserve ce paragraphe est la commande -dxlevel. Elle permet en fait de définir le niveau directx de votre jeu. Directx, qu'est-ce que c'est ? il s'agit en fait de librairies informatiques provenant de Microsoft permettant de faire tourner les jeux-vidéo sur les systèmes windows. Ce système a été mis à jour depuis sa première version (comme tout logiciel qui se respecte) et est actuellement à la version 11. Team Fortress 2 se limite à la version 9.8. Vous pouvez donc grâce à cette option définir librement ce niveau directx, mais qu'est-ce qu'il change ? Les graphismes du jeu. L'avantage est donc de pouvoir abaisser cette commande à la version 8 pour gagner en performances au mépris de la qualité graphique du jeu (qui sera, je le crains, plus moche). Beaucoup de configurations dîtes "High FPS" qui permettent de booster un peu votre jeu et ainsi de jouer convenablement se basent sur ce niveau directx. Je les évoquerais souvent, et je vous en parlerais d'avantage dans la leçon les concernant d'ici un futur proche. Pour définir cette option, il vous suffit de l'ajouter à la zone de texte en la couplant avec la niveau directx souhaité. Exemple : -dxlevel 95 (Qui permettras donc de jouer avec le niveau directx 9.5).
Comme je vous l'ai dit au début, cette liste n'est pas exhaustive, il existe beaucoup de commandes et vous pouvez en avoir la liste en cliquant ici. Attention, blog officiel de Valve, il faut savoir comprendre l'anglais.
Pour terminer, premier mot d'une longue série à connaître, le mot FPS qui signifie Frames Per Second (en français, il se traduit par "Images par seconde") qui défini le taux de fluidité du jeu. En effet, plus vous avez d'image par seconde et plus votre jeu est fluide (fluide est synonyme de parfaitement jouable sur les jeux-vidéos), tandis que plus ce nombre d'image est faible et plus votre jeu est injouable d'un point de vue visuel. Notez que je parlerais souvent ce terme dans la plupart de ces leçons. /!\ Attention, à ne pas confondre avec First Person Shooter qui veut dire jeux de tir à la première personne. /!\
C'est ainsi donc que se termine cette première leçon. Dans la prochaine, nous aborderons une partie obscure du moteur source, à savoir le netcode de celui-ci.
- Leçon n°2 - Le netcode ? Kezako ?:
- Leçon n°2 - Le netcode ? Kezako ?
Vous avez peut-être entendu sur certains jeux (et pourquoi pas sur TF2) en pleine partie par exemple une personne qui disait : « Hey toi, règles tes rates, tu lag ». C'est par ce cliché que je vais vous introduire cette seconde leçon qui concerne donc le netcode de notre jeu.
Le netcode, qu'est-ce que c'est ? Il s'agit tout simplement d'un ensemble de CVARs (configuration VARiable) qui permettent d'améliorer sensiblement la connexion entre vous et le serveur auquel vous vous connectez lorsque vous jouez.
Mais avant tout, autant que l'on soit bien clair. Seuls les joueurs cherchant le gain de performance pour mieux jouer en compétition voudront s'accaparer ses informations. Je ne les conseille pas pour les personnes jouant occasionnellement en FFA et dont le résultat de leurs frags n'ont pas d'incidence sur la fin de la partie (mis à part de vous taper la honte si vous avez un score vraiment minable ). Les valeurs par défaut sont d'ailleurs amplement suffisantes pour bien profiter du jeu et vous ne verrez généralement aucune différence lors de la modification de ces réglages, sauf si bien sur, les CVARS sont mal réglées...
Pour pouvoir faire ces modifications, nous allons devoir modifier, ou plutôt créer un nouveau fichier CFG (un fichier texte de configuration contenant des commandes qui influent sur le jeu) qu'on appellera autoexec.cfg. Ce fichier doit bien porter l'extension .cfg (sinon il ne sera pas considéré comme tel par le jeu). L'avantage de ce fichier est qu'il se lancera directement au lancement du jeu (mais on ne s'en rend pas compte, l’exécution du fichier étant instantanée). Ce fichier est à placer dans votre dossier cfg du dossier racine de votre jeu. Exemple : C:\Program Files\Steam\SteamApps\votre-nom-de-compte\team fortress 2\tf\cfg. (Voir screenshot) Une fois cela fait, prenez un petit instant pour lire ce qui va suivre, ça devient important.
Vous n'êtes pas sans savoir qu'un jeu tourne grâce à un moteur, un peu comme une voiture, et que ce moteur a justement des mécanismes très précis qui sont assez difficiles à comprendre. J'ai donc fait des recherches dans le but de comprendre le fonctionnement de ce moteur et surtout les éléments qui sont en rapport avec la configuration internet, éléments qui font partie intégrante du netcode.
Je vais donc vous définir rapidement quelques termes génériques en rapport avec ce netcode. Je vais vous donner des définitions basiques, je vous renvoie à mes liens en fin de paragraphe pour des informations beaucoup plus complètes et précises :
Le choke : Le fait que le jeu n'ai pas assez de bande passante disponible pour échanger les paquets de données à la fréquence voulue. Ce problème peut être dû à un netcode mauvais, ou encore à un serveur de mauvaise qualité.
Le loss : Lorsque vous jouez, votre jeu envoie des informations au serveur et en reçoit également sous forme de paquets. Avoir du loss signifie que certains de ces paquets se perdent en route causant ainsi des lags. Ce problème est généralement dû à la qualité de votre connexion internet. Un coup de fil à la hotline de votre FAI devrait pouvoir résoudre ce problème.
L'interpolation : Peut-être un des passages les plus difficiles à comprendre du moteur source, l'interpolation consiste à fluidifier le jeu (non pas aux niveau des FPS, quoique si, un peu aussi, mais au niveau surtout de la connexion client/serveur). L'interpolation va "inventer" des points du joueur situés entre deux positions. Ainsi, si vous avez 85 images par seconde lorsque vous jouez et que le joueur que vous regardez change 20 fois de position par seconde, 65 points seront "inventés" par l'interpolation pour fluidifier son mouvement. Bien sur, rien n'est fait au hasard, ces points sont calculés par des algorithmes et suivent les trajectoires du joueur. L'interpolation induit donc forcément un décalage de temps entre la vue du client et les mises à jour que celui-ci reçoit, compensé par le lag compensation. Attention néanmoins, certaines personnes définissent l'interpolation comme un décalage entre vous et la hitbox (= boite de tir : ce qui permet de calculer si vous avez touché ou non votre adversaire. Elle permet aussi de calculer si votre tir était dans la tête ou non lorsque vous jouez sniper ou si vous avez poignardé dans le dos un ennemi en spy) : Ceci est strictement faux. L'interpolation n'a rien à voir avec la hitbox !
Le lag compensation : Le gros problème des jeux en réseau est la latence aussi appelé « ping ». Elle/il se traduit par un temps (généralement en milliseconde qui peut monter en secondes pour certains joueurs). Le gros problème que cette latence occasionne, c'est que lorsque ce temps est trop long pour un joueur X, il se retrouve obligé de faire des pré-shots (= action consistant à anticiper son tir avant d'avoir son curseur sur l'adversaire) pour espérer toucher sa cible. Grâce au lag compensation, ce besoin ne se fait plus sentir. Comment ? En revenant en arrière ! En effet, le moteur calcule (grâce à des algorithmes) l'instant T précis où le joueur a cliqué et le répercute sur le jeu.
Je vous renvoie à ma documentation, celle qui m'a apprit tout ce que je vous dit aujourd'hui. Je remercie au passage toutes les personnes qui ont travaillé sur le moteur pour nous donner ces définitions claires :
- http://www.siteduzero.com/tutoriel-3-38504-optimiser-le-netcode-de-source.html
- http://www.e-t172.net/articles/srcnetcode/
- http://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking (En anglais)
C'est bien beau tout ça, mais comment je fais pour savoir si j'ai du choke ou du loss ? Et bien figurez-vous que ce n'est pas compliqué, il nous suffit d'utiliser un outil remarquable : la console des développeurs. Pour l'activer, il y a plusieurs solutions, mais je vais vous livrer celle qui me paraît la plus simple.
Lancez steam, et allez dans vos options de lancement (comme je vous l'ai apprit dans la première leçon). Une fois la boite de texte ouverte, entrez l'option de lancement -console dedans. (Voir screenshot). Au lancement du jeu, vous pourrez ainsi admirer une nouvelle fenêtre qu'on appelle « console ». Elle permet principalement d'entrer des commandes. Vous allez pouvoir entrer la première qui vous permet de lié à la console à une touche. Pour cela, dans la zone de texte, vous allez taper : bind « p » « toggleconsole ». (Voir screenshot : Vous pouvez observer que mon menu est différent de celui de base, je vous en parlerais dans une prochaine leçon, ne vous inquiétez pas). Ainsi, à chaque fois que vous appuierez sur « p » en jeu, la console s'ouvrira. Vous pouvez bien sur utiliser une autre touche, pour ça, remplacez le "p" par une autre lettre sur la ligne de commande.
Revenons à nos moutons, c'est à dire comment voir le choke et le loss en jeu. Pour ça, c'est très simple, vous entrez sur un serveur (je vous conseille de tester votre choke/loss sur un serveur de match, les configurations de ceux-ci étant optimales pour le jeu en ligne) et dans la console, vous tapez « net_graph 3 » . Vous verrez alors apparaître un tableau très exhaustif dans un coin de votre écran vous montrant 3 valeurs très importantes en temps réel : le ping, le choke et le loss et la durée d'interpolation (Voir screenshot).
Comment optimiser ce netcode alors ? Il existe en fait plusieurs CVARs qui permettent d'améliorer ce netcode. Les voici :
- la CVAR « Rate » qui permet de limiter justement le netcode. En fait, elle définit le débit maximal d'octets par seconde que vous pouvez envoyer au serveur de jeu. Il est recommandé de mettre cette CVAR à sa valeur maximale (qui est de 1048576) pour profiter pleinement de votre connexion mais les serveurs restreignent généralement cette valeur. Par exemple, sur les configurations de ligue, la valeur maximale est de 60000. En revanche, si votre connexion est connue pour être médiocre, je vous conseille de ne pas dépasser 40000.
- Les CVARs cl_updaterate et cl_cmdrate. La valeur maximale de ces deux commandes sont bridées par le moteur du jeu à 66 toutes les deux, ceci dû au moteur de l'orangebox qui ne permet pas aux serveurs de jeux de dépasser le tickrate 66. Normalement, ces deux variables se règlent en fonction du serveur de jeu sur lequel vous jouez. Si vous voyez que vous avez du choke, il faudra généralement les diminuer jusqu'à qu'il n'y en ai plus ou presque plus. Généralement, vous n'aurez aucun problème en mettant ces deux commandes à 66 (la valeur maximale) si vous avez une bonne connexion. Petite astuce : Mettre la cl_cmdrate à 5 vous permet d'avoir un « faux ping » qui stagnera à 5 (mais, ça reste complètement inutile )
- La CVAR cl_interp. Celle-ci permet justement de contrôler le temps (en secondes) d'interpolation. Là, c'est à vous de voir. Par défaut, cette commande est à 0,1 (ce qui correspond à 100 millisecondes). Le problème, c'est que plus cette durée est élevé, et plus le décalage entre vous et le serveur est grand. Mais l'avantage est que le jeu paraît plus fluide (puisque beaucoup plus de points d'interpolation sont créés). Cette commande se règle donc à votre guise. Certains préfèrent avoir un temps d'interpolation minimal et se rapprocher d'un jeu plus fidèle et règlent donc cette commande à 0,0152 (la valeur minimale) mais perdent en fluidité en fonction de la connexion des autres joueurs. D'autres la laissent par défaut, et arrivent à jouer correctement avec. Pour ma part, je l'ai laissé à 0,1 sur les classes comme le scout et le sniper, et je l'ai mise à 0,030 sur les classes qui balancent des engins explosifs comme le demoman/soldier. Si elle a tendance à virer au jaune sur le net_graph sur certains serveurs, il est néanmoins conseillé de remonter la variable jusqu'à qu'elle vire à l'orange (voire même au blanc). Cette CVAR est aussi géré par une autre, la CVAR cl_interp_ratio qui par défaut est à 1, elle vous permet notamment de définir la valeur minimale de cl_interp. Je vous conseille de la laisser à 1, de toutes manières, la plupart des serveurs la bride à 1, 2 au maximum (divisant ainsi le temps d'interpolation par deux et permettant un temps d'interpolation encore plus petit). Les configurations de ligue, elles, la bloquent à 1.
- La CVAR cl_lagcompensation qui comme son nom l'indique permet d'activer le lag compensation.
C'est bien beau tout ça, mais j'en fait quoi ces commandes moi ? C'est là qu'on va se servir du fichier autoexec.cfg que vous avez utilisé tout à l'heure ! En effet, il vous suffit d'ouvrir ce fichier avec le bloc note et d'ajouter dedans toutes les commandes que vous souhaitez et c'est ce que nous allons faire pour les CVARs de netcode que je vous conseille plus haut. Mais avant que vous vous emmerdiez à tout réécrire comme vous vous attendez à le faire, je vais vous faciliter la tache en ne vous faisant faire qu'un copié-collé !
En effet, un anglais connu sous le pseudonyme de Chris (Son site web : connu aussi pour ses CFG's High FPS dont je vous parlerais sûrement dans une prochaine leçon) a eu la brillante idée de faire deux configuration de netcode toute prêtes en fonction de la qualité de votre connexion internet.
Si vous avez donc « une bonne connexion » internet, il serait préférable d'utiliser ces réglages. N'hésitez pas néanmoins à les adapter en fonction de ce que je vous ai dit plus haut.
Code: [Sélectionner]
cl_cmdrate "67"
cl_interp "0.0152"
cl_interp_ratio "1"
cl_lagcompensation "1"
cl_pred_optimize "2"
cl_smooth "0"
cl_smoothtime "0.01"
cl_updaterate "67"
rate "60000"
Et si vous avez une connexion plus raisonnable, utilisez ces réglages :
Code: [Sélectionner]
cl_cmdrate "40"
cl_interp "0.025"
cl_interp_ratio "1"
cl_lagcompensation "1"
cl_pred_optimize "2"
cl_smooth "0"
cl_smoothtime "0.01"
cl_updaterate "40"
rate "35000"
Il ne vous reste plus qu'a choisir le bout de code que vous souhaitez et le copié-collé sur votre autoexec.cfg. (Voir screenshot)
Dernière astuce du jour : Il est conseillé de brider ses FPS à une limite maximale (ceci pour éviter les retombées trop astronomiques qui peuvent provoquer des freezes). Pour cela, rien de bien difficile, il vous suffit d'ajouter la commande fps_max à votre cfg en lui ajoutant une variable définie par votre rafraîchissement d'écran (fréquence x2 + 1). Ainsi, si votre écran fonctionne à une fréquence de 85 Hz, il est conseillé de mettre fps_max « 171 ». Pour une fréquence de 75 Hz, mettez fps_max « 151 » et enfin pour une fréquence de 60 Hz, mettez fps_max « 121 ».
C'est donc la fin de cette seconde leçon. J'espère que tout ce qui a été dit dedans a été instructif pour vous, et vous pouvez maintenant vous vanter d'avoir quelques connaissances sur le netcode de notre moteur !
- Leçon n°3 - Petites astuces en vrac:
- L'anti-virus : source de conflits ?
En tant qu'utilisateur d'un ordinateur, il paraît évident que vous êtes équipés d'un antivirus. Or, il se trouve que celui-ci peut créer un conflit avec steam provoquant des baisses de FPS.
En effet, dans votre dossier steam (à la racine), il y a un dossier « appcache » lequel contient un autre dossier « stats ». Ce dossier contient des fichiers nécessaire au jeu qui sont fréquemment mis à jour et c'est là qu'intervient votre antivirus. En effet, celui-ci scan continuellement les fichiers de votre ordinateur qui sont mis à jour/nouveaux, et comme ce dossier est mis à jour fréquemment, l'antivirus le scan fréquemment ce qui peut provoquer des chutes de FPS en jeu...
Comment y remédier ? Il n'y a qu'une seule solution qui est compatible pour tous les antivirus : mettre le dossier stats en exception dans les propriétés de votre antivirus ! Pour vous aider à le faire, voici plusieurs screenshots (ou tutoriels selon les antivirus) à choisir en fonction de votre antivirus. Bon, comme ils proviennent du forum de steam, il est possible que certains soient en anglais, mais vous devriez facilement pouvoir vous repérer. Si ce n'est pas le cas, n'hésitez pas à me contacter par mp, je vous aiderais
La ligne a mettre en exception est la suivante :
Citer
C:\Program Files\Steam\appcache\stats
Pour les PC 64 bits, elle change un peu :
Citer
C:\Program Files (x86)\Steam\appcache\stats
Microsoft Security Essentials
Avast 5
Avira AntiVir Personal
Nod32
Trend Micro
AVG
Bit Defender
Kapersky
Norton
Une meilleure visibilité en jeu ?
En compétition, il y a actuellement deux commandes qui peuvent faire la différence. Ces deux commandes agissent sur le champ de vision et vous permet une visibilité importante. Toute les commandes que vous donne doivent être mise soit dans la console, soit donc un autoexec.
La première commande permet tout simplement d'augmenter votre champ de vision (et je doit avouer que c'est d'une utilité presque cruciale en match). Cette première commande s'écrit de la manière suivante :
Code: [Sélectionner]
fov_desired « 90 »
Ici, la valeur 90 est la valeur maximale du champ de vision que l'on peut avoir In-Game. Par défaut, elle est à 75. Pour vous prouvez que cette variable apporte un changement, je vous propose de regarder cette vidéo. Elle en anglais, mais elle vous montre clairement la différence entre un champ de vision à 75 degrés et un à 90.
Deuxième commande qui cette fois est utile selon les joueurs, celle qui permet de modifier le champ de vision de votre arme. En effet, il est parfois possible que vous ayez vu sur certains fragmovie des armes « plus longues » que sur votre jeu. Ceci est normal, car il y a justement une commande qui permet d'allonger votre arme. Cette commande, c'est :
Code: [Sélectionner]
viewmodel_fov « 54 »
54 est la variable de défaut. Plus vous augmenter cette valeur, et plus votre arme vous paraît éloignée. Je vous laisse sur cet exemple en image.
Après, c'est à vous de tester et de trouver la valeur qui convient. Vous pouvez aussi même carrément désactiver la vision de votre arme ! Pour ça, une seule commande à connaître :
Code: [Sélectionner]
r_drawviewmodel « 0 »
Dernière astuce pour cette troisième leçon (ne vous inquiétez pas, il y en aura d'autres) : Vous voulez voir vos fps, mais le net_graph prend trop de place ? Rien de bien difficile, il y a une autre commande qui permet d'afficher vos fps en temps réels sans pour autant monopoliser le coin de votre écran. C'est la commande :
Code: [Sélectionner]
cl_showfps « 1 »
Ainsi, vous avez toujours moyen de voir vos images par seconde, sans pour autant vous encombrer l'écran. (Voir screen).
C'est ainsi qu'on se quitte, mais rassurez-vous, on se retrouve prochainement pour une 4ème leçon !
Leçon n°4 - ???
Pour bientôt... peut-être !
( Aucune fautes ? Normale texte corriger avant =D )