Tacview 2.0 – Regard du développeur sur l'avancement et les perspectives.
Rompre le silence radio
De quoi s'agit-il ?
Parler d'un logiciel en cours de développement est toujours délicat. On attend souvent le moment idéal, espérant avoir quelque chose d'intéressant à partager. On a parfois peur de dévoiler quelque chose de pas assez abouti, qui pourrait être mal compris. En conséquence, il arrive que nous n'entendions pas parler de nos produits préférés pendant des années, nous laissant dans le doute quant à l'avancement, pour finalement apprendre que le développement se poursuit et que le produit arrivera un jour.
Aujourd'hui, j'ai décidé de briser ce silence radio et de parler ouvertement du développement de Tacview 2. Même s'il n'est pas encore totalement prêt à être présenté, je pense qu'il vaut mieux communiquer plus ouvertement que de laisser tout le monde dans le flou jusqu'à la sortie finale.
Avertissement : À lire à vos risques et périls.
Ce que vous allez découvrir est le véritable état d'avancement du développement de la suite de votre outil de débriefing préféré. Les graphismes et l'interface utilisateur que vous verrez ne sont pas définitifs ; ce sont principalement des éléments temporaires qui seront remplacés par des designs bien plus aboutis une fois le travail technique terminé. Soyez assuré que le produit final sera bien plus impressionnant que le Tacview que vous utilisez actuellement.
Pourquoi cela prend-il autant de temps ?
La réponse est simple : ambition et une équipe de deux ! Honnêtement, je n'avais jamais imaginé que Tacview deviendrait si populaire. Dès les débuts, j’ai senti votre enthousiasme et j’ai accéléré son développement pour le rendre disponible le plus rapidement possible. Au fil des ans, il est devenu le couteau suisse que vous avez en main aujourd’hui. Mais en grandissant, il est aussi devenu vraiment complexe, à tel point que même de petites corrections ou améliorations peuvent prendre des jours. Et pourtant, il reste encore tant de choses que je veux y ajouter.
Depuis plusieurs années maintenant, je travaille presque à plein temps sur Tacview 2, tandis que BuzyBee fait un travail incroyable en continuant de soutenir Tacview 1 et en l’enrichissant avec de nombreux addons.
Le défi est d’intégrer 15 ans d'idées et de demandes d'utilisateurs dans une nouvelle plateforme qui sera encore performante dans 20 ans. Pour y parvenir, j'ai dû reprogrammer environ 95% de Tacview à partir de zéro, depuis le moteur qui affiche la vue 3D jusqu'aux outils avancés que vous utiliserez bientôt.
C’est pour cela que cela prend autant de temps : un seul développeur travaillant sur un projet ambitieux. Mais rassurez-vous, même si les progrès sont lents, ils sont constants. Et lorsque qu’un module est terminé (même en bêta), le résultat est toujours bien plus impressionnant que ce qui était initialement prévu.
Prochaines étapes : les grandes avancées à venir
Beaucoup de travail a déjà été accompli, mais il en reste encore beaucoup... Ce sera prêt quand ce sera prêt.
Le premier grand jalon est la version alpha. Pour moi, ce sera la première version utilisable, avec suffisamment d'outils pour faire un débriefing en ligne avec Tacview 1. Rien de visuellement extraordinaire, mais un ensemble d'outils de base stables, fluides et fonctionnels. Cette version est prévue pour un usage interne uniquement, car elle sera trop brute pour un usage quotidien. Mais on ne sait jamais…
Le deuxième grand jalon sera la version bêta. Cette étape sera à la fois plus facile et plus difficile à atteindre. Plus facile, car la plupart des modules complexes et risqués seront déjà finalisés. Plus difficile, car il faudra alors intégrer un grand nombre d'addons pour reproduire la majorité des fonctionnalités de Tacview 1. Ce sera aussi le moment de concevoir l’interface utilisateur finale, avec le design, les polices et l’ergonomie appropriés. Cette version sera la première à être testée en bêta fermée par un groupe d’utilisateurs sélectionnés, pour s’assurer que tout est sur la bonne voie et fonctionne comme prévu.
Ensuite, viendra le grand final : la version stable pour le public. Pour atteindre ce point, nous corrigerons les bugs évidents et effectuerons des optimisations additionnelles. Même si tout semble fluide, certains utilisateurs mettront sans doute en lumière des points à améliorer, que ce soit dans le moteur principal ou parmi les outils disponibles. Cette première version sera uniquement pour Windows, supportant x64 et ARM64 si cela est pertinent à ce moment-là.
Par la suite, nous stabiliserons la version Linux pour qu’elle soit au même niveau que la version Windows, suivie de macOS, puis nous passerons aux tablettes et smartphones. Mais nous prendrons les choses étape par étape, afin de ne rien casser ou perturber en cours de route.
Travail en cours :
Le menu principal !
Enfin, cela va donner à Tacview 2 l’apparence d’un véritable logiciel utilisable !
Le menu principal de Tacview 2 doit être à la fois élégant et accessible sur tous les appareils, des ordinateurs aux smartphones. Il doit être intuitif et facile à utiliser, non seulement pour les utilisateurs, mais aussi pour les développeurs qui créent des addons tiers.
L’objectif actuel est de développer une barre de menu verticale repliable, qui peut être agrandie ou réduite à volonté. Ce menu affichera des sous-menus, pouvant être remplis par les divers outils de Tacview 2—y compris vos propres créations !
Zoom sur les fonctionnalités clés
Prêt pour le multiplateforme : Linux prend son envol
Tacview 2 est conçu pour fonctionner nativement sur toutes les plateformes, c'est pourquoi je consacre régulièrement du temps à m'assurer qu'il compile et fonctionne proprement sous Linux, quelle que soit la distribution. Ce processus est devenu plus simple car la majorité des composants bas niveau, dépendants de l'OS, sont déjà développés.
Le moteur principal offre une API indépendante des plateformes qui permet aux addons de construire les outils de Tacview, garantissant qu'ils aient le même aspect et fonctionnement sur tous les systèmes, quel que soit l’environnement.
En m'assurant que Tacview 2 fonctionne bien sous Linux, je prépare également le terrain pour un portage facile vers d'autres plateformes comme macOS, les tablettes et les smartphones.
Notre planète : Plutôt une patate qu'une belle sphère
Tacview a toujours pris en charge un modèle de Terre sphérique, mais en réalité, la Terre n’est pas une sphère parfaite—elle ressemble plutôt à une patate. Pour améliorer la précision, le nouveau moteur de terrain dans Tacview 2 prend désormais en charge des formes ellipsoïdales aplaties, offrant des calculs de distance et de vitesse encore plus précis.
Par défaut, le système utilise les paramètres WGS84, mais vous êtes libre de les personnaliser selon vos besoins !
Le chemin le plus court n’est pas une ligne droite
Tacview 1.5 a introduit des trajectoires d'objets améliorées en utilisant une interpolation sphérique. Cependant, dans la réalité, le chemin le plus court sur une planète est une Orthodromie, et son calcul demande plus de ressources de calcul. J’ai implémenté une version précise de cela dans Tacview 2, vous permettant de visualiser le véritable chemin le plus court entre deux points—que ce soit pour de courtes distances ou des vols long-courriers comme Paris LFPG à New York KJFK.
Télémétrie suralimentée : précision et performance
Pour mettre à l'épreuve le moteur de télémétrie réécrit à 90%, j'avais besoin de données complexes. La meilleure façon d’y parvenir était de supporter le format de fichier ACMI existant. Cela signifie que Tacview 2.0 peut désormais charger tous les fichiers produits par l'exportateur de Tacview 1.9.4. Bien que certaines fonctionnalités ne soient pas encore entièrement affichées, cela a constitué un excellent banc d’essai, aboutissant à un moteur de télémétrie entièrement neuf, plus puissant, précis et rapide que celui de Tacview 1.
Voir la vie en couleur
Tacview a besoin d'une base de données pour savoir comment afficher tous les objets que vous y importez. Essentiellement, il s'agit d'une vaste liste de désignations d'objets et de leurs propriétés associées, comme leur forme et la portée d'engagement. J'ai intégré et restructuré la majeure partie du moteur de base de données de Tacview 1 dans Tacview 2, le rendant à la fois plus simple pour les addons et plus puissant. Parmi les nouveautés, vous pouvez désormais afficher les objets dans la couleur de votre choix !
Franchir le mur du son
Je n’ai jamais été satisfait des performances de Tacview 1. Utilisant OpenGL 1.4, sans même un seul shader et principalement monothread (à part pour le chargement en arrière-plan et le réseau), il avait ses limites. Saviez-vous que la logique de terrain et les traînées d'objets sont les principaux goulots d'étranglement de performance dans Tacview 1 ? Si vous réduisez la longueur des traînées à zéro, vous remarquerez une augmentation significative du taux de rafraîchissement.
Le moteur de Tacview 2 est entièrement repensé—multithreadé à fond et exploitant Vulkan, l'une des façons les plus modernes d’utiliser un GPU. J'ai constaté qu'utiliser environ 50 % des threads du processeur est l’équilibre parfait. Trop peu gaspille la puissance, tandis qu’en utiliser trop ralentit le système.
Mon objectif est que Tacview 2 fonctionne de manière fluide avec tous les détails graphiques, même en mode debug. Cela signifie qu’il devrait offrir d'excellentes performances, même sur des ordinateurs portables à faible consommation avec GPU intégré.
Clair comme le cristal : un rendu précis et lisible
Le nouveau moteur de rendu 3D de Tacview 2 décharge les calculs de terrain sur le GPU grâce aux shaders, laissant ainsi le CPU libre pour des tâches plus critiques. Bien que le réalisme soit amélioré avec le PBR (Physically Based Rendering), l'objectif principal reste la clarté et la lisibilité. Que vous affichiez des modèles d'avions ou des emplacements au sol, l'accent est mis sur une interprétation facile des données.
Cela dit, Tacview 2 prend en charge plus de fonctionnalités de modèles 3D qu'auparavant—comme les textures, l'éclairage et les détails de surface—ce qui facilite l'importation de vos modèles personnalisés préférés. Et si vous visez des visuels plus photoréalistes, Tacview 2 vous offre la flexibilité pour repousser ces limites.
Possibilités infinies : la puissance des addons
Pour faire simple : Tacview 2 est comme Microsoft Flight Simulator ou Elder Scrolls—80 % de ses fonctionnalités sont constituées d'addons, et tout le monde peut modifier ou étendre presque tout. Vous n’aimez pas les couleurs par défaut ? Changez-les dans le fichier de configuration. Vous avez un ciel plus esthétique ? Partagez-le sur le Steam Workshop pour que la communauté en profite ! Vous savez programmer une caméra cinématique ? Codez-la dans le langage de votre choix et publiez-la en ligne !
Que vous soyez un artiste, un programmeur ou simplement quelqu’un qui veut ajuster quelques paramètres, vous pouvez facilement modifier ou ajouter des fonctionnalités à Tacview 2 selon vos besoins. Partager vos personnalisations avec la communauté est désormais bien plus simple qu’avant.
Voir double : perspectives multiples
Une des limitations de Tacview 1 était la fenêtre unique de rendu 3D. Ajouter plusieurs vues aurait demandé trop de reprogrammation. Dans Tacview 2, vous pouvez avoir autant de perspectives et de fenêtres que votre système peut gérer ! Disposez-les sur vos différents écrans, et passez-en certaines en plein écran—parce que, pourquoi pas, si ça vous chante !