Présentation à l'association de DcsBriefop, un programme de génération de briefings pour DCS
-
Edit 12/05/2023
Le programme a beaucoup évolué en concept et en fonctions, je vais mettre à jour ce post en conséquences quand j’aurais le temps.
En attendant pour les intéressés les releases sont dans GitHub : https://github.com/MacFlorent/DcsBriefop/releasesEn cas de problèmes/questions n’hésitez pas à me bipper sur Discord je regarderais avec plaisir.
Bonjour à tous,
Je souhaite vous présenter ici un programme qui m’occupe depuis quelques mois, que j’appelle DcsBriefop.
Pour l’instant, ce n’est pas un produit terminé, plus un “poc” encore assez rugueux, mais il arrive à un point où il est fonctionnel. C’est pour cela que j’ai envie de le partage avec la VEAF pour voir s’il suscite un interêt ou pas, et si cela vaut le coup de le faire avancer, et si oui dans quelle direction.En tous cas n’hésitez pas à me donner vos avis, et si vous êtes interessé par ce qu’il esquisse, si vous avez des idées de comment le faire évoluer vers quelque chose d’utile pour la création de missions, dites moi !
DcsBriefop est un programme qui pour objectif de faciliter la vie des créateurs de mission DCS en automatisant la génération de de certaines informations de briefing et en les incluant dans le kneeboard. Ce programme fonctionne en lisant un fichier .miz, en l’interprétant, et en permettant de configurer des paramètres de briefing. Il peut ensuite générer des fiches d’information, sous forme de fichiers ou directement dans le kneeboard.
Le fonctionnement typique est le suivant :- Création de la mission normalement dans l’éditeur de DCS
- Ouverture du fichier .miz dans DcsBriefop
- Vérification des paramètres automatiques, adaptations et modifications pour affiner en fonction des besoins
- Initialisation et configuration des presets radio si souhaité
- Enregistrement de ces paramètres dans le .miz
- Export des pages de briefing dans le kneeboard et/ou en fichiers externes
Les pages générées sont pour une coalition :
- Situation générale, description des objectifs, météo, date.
- Une carte générale
- Opérations de la coalition, bullseye, vols opérationnels, vols de support, bases
- Communications, presets radio
- Pages de mission individuelles, waypoints, cibles et cartes associées
Quelques images pour illustrer :
Ecran principal
Détail mission
Communications
Pages de briefing
-
Hello! Vachement intéressé sur le principe, on peut en discuter la semaine prochaine si tu veux!
-
Hello, ça a l’air cool ! Est-ce que tu rend ça open source ? si oui as-tu un repo qu’on peut aller voir pour tester localement et se rendre compte de son fonctionnement ? Merci à toi et Bravo pour le taff
-
Open source pourquoi pas, mais c’est du C# / .net 4.7 donc il faut le compiler. Mais je vais mettre le programme compilé à disposition quelque part pour ceux que ça intéresse.
Quelques point que j’ai oublié de préciser dans mon message hier. J’ai fait ça initialement parce que je trouvais laborieux de maintenir en cohérence certaines infos de la mission avec le briefing, et que souvent les incohérences sont détectées trop tard quand la mission est en cours :
- Tacan et fréquence radio des tankers, des awacs, porte-avions, etc
- Bullseye
- Description des missions
- Position (coordonnées géographiques) des cibles fixes
Ainsi ces informations comme présentées dans la page “Operations” ci-dessus sont lues et intégrées automatiquement par le programme. De même, le plan de fréquence est construit automatiquement sur la base du contenu de la mission.
Enfin, il est possible d’ajouter et de maintenir en cohérence un waypoint #1 “BULLS” pour tous les vols ouverts aux joueurs.
Jed, avec plaisir pour en parler un soir sur TS
-
@flogas ça m’intéresse et j’aimerais l’installer dés que possible
-
Bonjour,
Pour ce qui me concerne j’ai investit dans “combatflite” et c’est un logiciel au top !
Visuellement cela semble de meilleure qualité, -
Attention qu’on me comprenne bien :
-
Mon programme est loin d’être un produit fini (c’est une “alpha” si vous voulez). Il est fonctionnel dans les limites de mes objectifs initiaux mais pour l’instant reste très basique. Je fais ça pour le fun (au lieu de voler sur DCS )
-
Il n’a pas et n’aura jamais vocation à concurrencer un produit commercial comme CombatFlite. En revanche - même si j’espère que non - il est effectivement possible qu’il soit redondant avec ce dernier. J’ai aussi ouvert ce sujet afin d’éviter de perdre mon temps à faire “CombatFlite en moins bien”.
-
Je n’en fait pas ici la publicité, je suis à la recherche de gens intéressés pour m’aider à le faire avancer dans une direction intéressante. Explorer quelles fonctionnalités étoffer, ajouter, et abandonner. Essayer d’en faire quelque chose d’utile.
Merci pour vos retours en tous cas.
-
-
Super intéressant !
J’ai bien envie d’essayer et/ou de participer ! -
Merci pour ton boulot !
-
C’est classe. De mon coté je bidouille un moteur avec API pour suivre les campagnes. Je te tiendrai au jus si on peut interagir d’une manière ou d’une autre.
-
J’ai mis une version compilée en l’état dans le Drive Membres/735th :
https://drive.google.com/file/d/174T0sAEDwPH72vBJE39xb_UzgZ0am5sY/view?usp=sharingLimitations connues :
- Coordonnées géographiques disponibles pour Caucase, Persian, Nevada, Syria, Marianas seulement
- Base d’aérodromes uniquement disponible pour Caucase, Marianas, Persian
Comme j’ai testé avec seulement quelques missions pour l’instant, il est probable que d’autres missions posent des problèmes. J’ai donc mis deux .miz qui fonctionnenent dans le dossier pour l’exemple.
Pour ceux qui sont partants, je suis dispo pour en discuter/faire une présentation, ce soir ou demain soir. Dites-moi sur Discord.
-
@flogas Je suis intéressé, mais pas dispo avant la semaine prochaine
-
Très bon boulot bravo
Si besoin d’un testeur je veux bien aider. -
J’ai téléchargé et tenté de lancer mais ça a pas voulu fonctionner. je reçois un tas d’erreurs même avec les missions d’exemple fournies.
“Failed to build point LUT. Coordinates will not be managed” avec les missions Mortegraine et Mortegraine_mod
“Unhandled Error. This method is only supported on dictionnary values.” avec une mission perso -
@zed Argh c’est pire que ce que je pensais
Pour l’erreur de LUT
Elle n’est pas sensée être bloquante. Le progamme devrait continuer à charger la mission ensuite, et afficher les données sauf la carte. Est-ce le cas ?
Cette erreur devrait venir de ce que la table de correspondance des coordonnées DCS/lat-long n’est pas disponible. Peux-tu regarder si tu as le contenu du sous dossier “Resources” dans ton install :
Tu dois aussi avoir un fichier de log dcsbriefop.log dans le dossier du programme, si tu le trouves et que tu peux me l’envoyer peut-être que ça pourra aider.
Pour l’erreur sur ta mission
Si tu peux me transmettre la mission en question je vais regarder. -
@flogas A priori j’ai bien le fichier que tu me pointe dans ton capture. Effectivement je n’ai pas la carte sur une des mission et sur l’autre j’ai la carte mais les objets ont tous l’air d’être au même endroit en plein ocean atlantique à l’equateur en gros ^^
Je t’envoie ma mission via discord -
@flogas petite question sur ta recup des coordonnées. Dans les .miz c’est en X,Y, du coup pour traduire la projection tu utilises quoi ? C’est une forme de projection mercator ?
-
@magicbra Je n’ai pas trouvé de moyen pour convertir Y/X en latitude/longitude.
A la place j’ai retenu une solution de LookUp Tables à partir de laquelle j’interpole les coordonnées. Idée récupérée ici : https://gist.github.com/BManx2000/b04c64cb80046b577ba2Le lua utilisé pour générer les tables à partir de DCS est dans mon programme, les .txt sont les LUT en question :
La limitation de cette technique c’est que ça ne fonctionne que dans un sens. Pour pouvoir transformer du lat/long en Y/X il faudrait faire une autre table.
-
-
@zip a dit dans Présentation à l'association de DcsBriefop, un programme de génération de briefings pour DCS :
@flogas il y a une méthode dans le lua de DCS, je ne sais pas si ça te serait utile, mais elle permet de transformer les coordonnées justement : LOtoLL()
I know
Effectivement c’est comme ça que je construit la table de correspondance Y/X => Lat/Long :
Mais je ne sais pas faire mieux (genre, refaire ce que fait cette fonction directement dans mon programme).