vendredi 13 mars 2020

DCS - Ravitaillement en vol

Cela fait plus d'une semaine que je passe une partie de mes soirées à tenter de faire un ravitaillement en vol en Mirage-2000 dans DCS. Quelle plaie !

C'est vraiment difficile : l'approche vers l'avion ravitailleur se passe plutôt bien, j'arrive à être à peu près stable à quelques mètres du panier, mais alors, pour finaliser, il n'y a plus personne. La difficulté est que chaque action sur les commandes modifie plusieurs paramètres : l'on approche par exemple un poil bas du panier, alors on tire sur le manche, mais cela ralentit. On donne un poil de gaz, et pouf, on se retrouve au dessus et devant l'avion. Non seulement ça se joue au pouillème, mais en plus il faut apprendre a coordonner le manche, la manette et le palonnier d'une manière plutôt contre-intuitive pour aller viser dans le panier à 10 centimètres près.

Ça me rend complètement fou.

vendredi 21 février 2020

Tacview, DCS World et Linux

Il ne m'a pas fallu beaucoup de temps à faire du combat air/air dans DCS World pour comprendre l'intérêt de l'outil Tacview. En effet, lorsque l'on commence à comprendre les tactiques d'approche et d'évitement, on aimerait bien comprendre comment on a pu se faire dégommer par ce missile venu de nulle part. L'approche de Tacview est de fournir un petit plugin à DCS World (et X-Plane, et de nombreux autres softs de simu aérienne) qui enregistre les paramètres du vol, et qui permet de les rejouer dans leur interface, et donc d'observer manœuvres, départ (et arrivée !) de missiles, et ainsi de suite.

Maintenant, Tacview, c'est Windows-only. Mais de nos jours, Windows-only, c'est tout relatif. Alors, je n'avais pas spécialement envie de me lancer dans une complexe configuration de Wine, mais heureusement, Tacview est disponible directement dans Steam, et on peut donc laisser Steamplay faire sa magie (qui consiste, comme nous le verrons plus tard, à créer pour chaque application une espèce de chroot Windows minimal avec ses dépendances).

Tacview ayant démarré comme un grand, reste encore à enregistrer ses vols DCS World. Normalement, l'installeur trouve DCS World et copie les scripts au bon endroit, mais là, il est dans sa petite chroot Windows. Il faut donc copier manuellement les scripts. C'est expliqué sur le site Tacview, il faut donc l'adapter à ProtonDB. Il suffit de faire ceci, depuis la racine de son répertoire home (en supposant que c'est là qu'est le répertoire .steam qui contient les jeux) :

cp ~/.steam/steam/steamapps/common/Tacview/DCS/* ~/steam/steamapps/compatdata/223750/pfx/drive_c/users/steamuser/Saved\ Games/DCS/

Alors, qu'est ce que ça fait ? Ça copie le plugin DCS dans la chroot Windows (certains parlent de préfixe) de DCS World, le numéro magique, 223750, étant l'ID de l'application DCS World. Et là, en démarrant DCS World, on voit bien le plugin dans les options spéciales. Tout va bien !

Après un petit vol, on peut vérifier l'existence d'un fichier .acmi dans le répertoire "~/.steam/steam/steamapps/compatdata/223750/pfx/drive_c/users/steamuser/My Documents/Tacview", qui est donc dans le "My documents" du préfixe de DCS World. Sauf que forcément, depuis Tacview, on ne voit rien (puisque lui est dans son propre préfixe. Faut suive !). Une solution simple consiste simplement à faire un lien symbolique Tacview. Par exemple:

cd "~/.steam/steam/steamapps/compatdata/1174860/pfx/drive_c/users/steamuser/My Documents/Tacview"

ln -n "~/.steam/steam/steamapps/compatdata/223750/pfx/drive_c/users/steamuser/My Documents/Tacview" DCS

Et là, depuis Tacview, l'on peut charger un fichier, aller dans "My documents", puis dans le répertoire Tacview, puis dans le répertoire DCS, et hop, les vols sont là !

mercredi 29 janvier 2020

Plaque low-cost pour Warthog Hotas - Partie 2

Voilà, voilà, c'est fait, et c'est moins pire que je ne pensais ! Il a fallu se battre un peu avec la lamination à froid, qui n'adhère que d'un côté, mais je m'en suis sorti, et c'est plutôt utilisable.

lundi 20 janvier 2020

Plaque low-cost pour Warthog Hotas

Le souci, lorsque l'on a autant de boutons sur ses manettes, c'est de ne plus savoir ce qu'ils contrôlent. Alors afin de s'en souvenir (et aussi de faire joli !), de grands cinglés créent leurs propres plaques à poser par dessus leur manette des gaz, et cela donne des choses vraiment jolies. Pour des jeux plus grand public, comme Elite Dangerous, c'est carrément un business !

Ces plaques là, très pro, sont faites avec des plaques acryliques ou encore métalliques. Mais est-ce qu'on peut faire quelque chose à bas coût avec du matériel un peu plus standard ? C'est ce que j'essaie de découvrir.

Mon plan : imprimer sur papier simple ou légèrement cartonné, à partir des patrons de Arrowdynamixx fournis sur le forum X-Plane, mes propres plaques adaptées à chacun de mes avions favoris. Les laminer ensuite à froid, et basta, on devrait avoir quelque chose de raisonnablement solide et joli sans avoir besoin d'outillage spécialisé.

Ma première étape fut d'imprimer un patron représentant juste les contours, puis de le découper pour vérifier que la taille est correcte, et enfin choisir les fonctions de chaque bouton pour les rajouter au crayon à papier. Voici donc mon patron pour le Cirrus SF-50, le petit mono-réacteur fourni de base sur X-Plane.

Malheureusement, le papier trop fin laisse passer l'affichage luminescent. Il faudra donc soit utiliser un papier plus épais (à voir comment mon imprimante va le prendre), ou trouver comment éteindre les LED de la manette sous Linux (apparemment, il y a une astuce).

Prochaine étape, faire la plaque au propre avec Inkscape, puis faire l'impression et le laminage. Si cela fonctionne comme attendu, il ne me restera plus alors qu'à créer les plaques pour mes autres avions favoris : A320, A350, Diamond DA62, peut-être le Boeing 737, et peut-être bien également le Mirage 2000 de DCS World.

samedi 4 janvier 2020

Warthog HOTAS

C'est l'événement de ce début d'année, le Père Noël ayant été généreux, je suis maintenant l'heureux possesseur d'un Warthog HOTAS (pour "hands on throttle and stick", c'est à dire un joystick et une manette des gaz) et d'un palonnier TFRP. Et ça change la vie, aussi bien dans X-Plane que dans DCS World (et aussi dans Kerbal Space Program, mais on y reviendra).

Le HOTAS est de toute beauté, bien lourd, avec tout plein de boutons partout pour tout configurer comme on a envie. La manette des gaz vient avec deux poignées pour les gaz, un axe supplémentaire bien pratique pour les volets, et tout un tas de boutons que j'ai configuré dans X-Plane pour les trains d'atterrissage, le frein de parc, l'ouverture de la verrière (fun !), ou encore l'inversion de poussée des réacteurs et l'armement des aérofreins.

Le joystick, lui, monté sur une énorme plaque de métal, ne bougera pas. Muni d'un nombre impressionnant de boutons et de chapeaux, réplique du véritable A-10 oblige, on le sent bien dans la main et c'est un plaisir de faire les atterrissages manuels de gros porteurs.

Le palonnier, lui, est nettement moins impressionnant (mais nettement moins cher aussi). J'ai longuement hésité entre cet entrée de gamme et d'autres beaucoup plus sérieux, comme le MFG Crosswind, ou encore le Slaw Device, mais mon choix se confirme comme étant le bon: à moins de faire de l'hélico, là où la précision des pédales est fondamentale, ou beaucoup de GA (general aviation, c'est à dire pas de l'avion de ligne), c'est vraiment overkill. Pour gérer quelques virages avant et après la phase en pilote automatique, et pour le roulage, c'est amplement suffisant, surtout si l'on contrôle la roulette de nez avec la molette située sur la manette des gaz (qui manque cependant de précision, probablement le seul point noir de la manette).

Reste qu'il faut passer du temps à configurer tout ça. En particulier, il est à noter que les boutons métalliques à deux ou trois états ont généralement un état de moins: c'est à dire que l'enclencher correspond à une pression de bouton, et le dés-enclencher correspond au relâchement du bouton. Ce qui veut dire que si vous mettez, par exemple, la montée du train d'atterrissage sur la position haute, vous n'avez par défaut pas de position basse dans l'interface X-plane, par exemple, pour y configurer la descente du train d'atterrissage.

La solution officielle est d'utiliser le logiciel de configuration fourni par Thrustmaster, qui ne fonctionne que sous Windows. Heureusement pour nous autres Linuxiens, X-Plane comme DCS World proposent des fichiers de configuration supplémentaires pour créer des boutons virtuels correspondant aux positions relâchées de tous les boutons (voir les explications ici). Dans X-Plane version 1.41, le fichier pour Linux (HOTAS Warthog Throttle - Linux.joy) est incomplet, et il faut le compléter avec le fichier pour Windows (Joystick - HOTAS Warthog - Windows.joy). J'ai donc gardé l'en tête du premier, puis le corps du deuxième, et tout marche impeccable (à part un échange des axes gaz et volets, mais c'est bénin).

J'ai maintenant hâte de continuer à configurer mon HOTAS aux petits oignons pour X-Plane, et de commencer sérieusement à l'utiliser avec DCS World. Quant à Kerbal Space Program, les problèmes de contrôleurs sous Linux semblant avoir été résolus, ce sera l'occasion de tester en profondeur.

vendredi 3 janvier 2020

Bonne année !

Je vous souhaite à toutes et à tous une excellente année 2020, pleine de bonnes choses !

Petite année pour le blog, avec un minimum historique de 17 messages. J'étais bien parti, et puis la fin de l'année ayant apporté pas mal de changements, j'ai complètement oublié de venir vous causer. Je n'ai plus qu'à prendre une nouvelle fois la résolution d'être un peu plus loquace. Restez branché !

lundi 23 septembre 2019

Et on rebondit !

Voilà les principaux éléments mis en place: l'on a la balle, et la surface sur laquelle elle rebondit. Je lui ai donné un moment (c'est à dire une vitesse de rotation, pas une petite pause, hein...), histoire de rendre son mouvement plus intéressant.

J'ai modélisé la balle et la surface marbrée dans Blender, puis exporté au format GLTF. Ensuite, j'ai intégré les modèles au sein d'une architecture entité-composant-système où chaque entité (la balle et la surface) a un composant physique, utilisant le moteur physique Bullet, et un composant graphique, qui référence le modèle GLTF et l'affiche via mes primitives de rendu OpenGL.

L'on notera les bugs graphiques sur la balle. Je ne sais pas encore s'ils sont dus à mon modèle, à l'export, ou à mon lecteur de GLTF, il faudra que je creuse la question.