Intéressons nous maintenant au
vols, packadge, COMAO
Le fichier de configuration continue par le traitement des vols amis et ennemis. Globalement la philosophie est la même que celle exposée au dessus pour les bataillons avec pour différence que dans le cas présent c'est en fait la probabilité d'activation et l'heure de démarrage sur laquelle on va jouer pour les vols IA et la présence d'humain pour les vols non IA. Le script gère aussi intelligemment (c'est a dire en évitant les redondances) les dépendances de vols (packadge). Voyons cela a nouveau avec quelques exemples du fichier de configuration fourni :
Code : Tout sélectionner
Enfield = {role="Player", startup=nil, startT=nil, started=false, flights={"Texaco1"}, task="4 F-18C CAS/SEAD"}
Cette ligne stipule simplement qu'il y a un vol humain disponible (role="Player") lié (voir dans la suite la relation entre les vols) au vol
Texaco (flights={"Texaco1"}). La clef task="4 F-18C CAS/SEAD" était la initialement seulement des fins de débogage mais au final j'ai décidé de la laisser car c'est une info bien pratique pour permettre de s'y retrouver lorsqu'il y a de nombreux vols et de nombreuses dépendances entre eux dans la mission. Les autres clefs (startup=nil, startT=nil, started=false) sont a usage interne du script (ou pour une utilisation "avancée" pour ceux qui veulent une certaine prévisibilité dans l'imprévisibilité sur laquelle je reviendrais plus tard si nécessaire).
Par analogie pour les vols IA l'exemple :
Code : Tout sélectionner
Magic1 = {role="IA", startup={30, 25*60}, startT=nil, started=false, flights={"Springfield1"}, comms = {"Magic1",nil,"Magic1"}, task="E-3A AWACS", prob=100}
indique cette fois si qu'il s'agit du vol IA M
agic1 dont la tache, a titre purement informatif est un E-3A AWACS dont on a paramétré la mise en route moteur (et donc le décollage qui s'ensuivra pour partir sur son plan de vol et faire ce que l'éditeur de mission lui ordonne) entre 30 sec et 25 min (startup={30, 25*60}) après le démarrage du simulateur. A la différence des vols humains, il y a la un sens a remplir la clef startup (même remarque qu'avant concernant
startT et started) même si on peut aussi décider de ne pas le remplir, raison d'être de
blueStartRange = {60, 50*60} (et sont équivalent rouge, les deux pouvant évidement être changés a sa guise), auquel cas le script prendra automatiquement les bornes définies par défaut (vous aurez donc compris que dans ce cas Magic1 démarrera entre 60 sec et 50 minutes après l'entrée du pilote dans le jeu). Dans le cas présent, Magic1 démarrera a coup sur dans l'intervalle de temps défini car il n'est pas lié a l'activation d'un vol humain et que sa probabilité d'activation est de 100% (prob=100, qu'on aurait pu omettre ce qui serait revenu au même). Si l'on avait voulu avoir un soutient AWACS seulement une fois sur deux (statistiquement parlant), il aurait suffit de mettre prob à 50 (prob=50). On constate aussi que le la mise en route de Magic1 va conditionner d'une façon ou d'une autre celle de Springfield1 (qui dans le cas présent est son escorte). C 'est effectivement ce que nous dit la ligne caractérisant ce vol:
Code : Tout sélectionner
Springfield1 = {role="IA", startup={-60, 1.5*60}, startT=nil, started=false, flights={}, comms={"Springfield1","Springfield1",nil}, task="4 F15-C ESCORT Magic1", prob=85}
L'analyse de cette ligne nous indique qu'il s'agit d'un vol IA (de 4 F15-E dont la tache est d'escorter Magic1, toujours purement informatif) dont la mise route, si elle se fait (probabilité de 85%) aura lieux entre 60 secondes avant (à noter qu'on peut mettre des valeurs négative (startup={-60...)) et un minute 30 sec après (startup={... 1.5*60}) le démarrage du vol lead (ici Magic1). A noter que dans les cas des vols pasckadge, l'intervalle de temps se fait par rapport au temps de démarrage programmé du vol lead (et non par rapport a l'entrée en jeu du joueur comme c'est le cas des vols lead). Pour résumer, dans le cas présent si Magic1 était au final programmé 5min (conforme a son startup={30, 25*60}) après l'entrée du joueur dans le monde 3D, Springfield1 démarrera, si ce doit être le cas (rappelons que prob vaut 85%), entre 4mn (5-1) et 6mn30 (5+1.5) après la mise en route de Magic1. A noter que si Magic1 avait été programmé a sa borne minimum (30 sec) il y a la possibilité que Springfield1 eut été programmé 30 sec avant l'entrée en jeu du joueur et donc impossible. Dans ce cas, le vol est automatiquement reprogrammé a l'heure de d'entrée en jeu + 15 seconde.
Concentrons nous maintenant sur l'entrée dans le jeu d'un pilote en Ford1 ou Ford2
Code : Tout sélectionner
Ford1 = {role="Player", startup=nil, startT=nil, started=false, flights={"Ford3", "Shell1"}, task="2 F-18C STRIKE"},
Code : Tout sélectionner
Ford2 = {role="Player", startup=nil, startT=nil, started=false, flights={"Ford3", "Shell2"}, task="2 F-16C STRIKE"},
On voit que dans les 2 cas, l'entrée cockpit d'un joueur déclenchera automatiquement Ford3.
En plus Ford1 déclenchera Shell1 alors que Ford2 déclenchera Shell2
La suite nous éclaire sur le pourquoi de cela :
Code : Tout sélectionner
Ford3 = {role="IA", startup={3.*60, 4.5*60}, startT=nil, started=false, flights={"Ford4","Ford5","Shell2"}, comms={"Ford3",nil,"Ford3"}, task="3 F-15E STRIKE"}
Nous indique que Ford3 est un vol de 3F15E en Strike (qui accompagnera Ford1 et/ou Ford2).
Ford3 déclenche aussi Ford 5 et Shell2 (a noter que Shell2 était possiblement déclenché par Ford2)
Code : Tout sélectionner
Ford4 = {role="IA", startup={-30, 60}, startT=nil, started=false, flights={}, comms={"Ford4",nil,"Ford4"}, task="4 F-15E STRIKE", prob=50}
Ford4 est un autre strike de 4F15-E cette fois (sans dépendance suivante) mais qui dans le cas présent ne serait mis en place dans notre packadge qu'une fois sur deux (prob=50)
Code : Tout sélectionner
Ford5 = {role="IA", startup={-60, 60}, startT=nil, started=false, flights={}, comms={"Ford5",nil,"Ford5"}, task="2 F-18C ESCORTE"}
Ford5 est l'escorte
Code : Tout sélectionner
Shell1 = {role="IA", startup={3*60, 20*60}, startT=nil, started=false, flights={"Dodge1"}, comms={}, task="KC-135MPRS TANKER TAC SH1 7Y"}
Shell1 est un ravitailleur de type MPRS, pas étonnant donc qu'on ait décidé de ne le déclenché que si Ford1 ets actif
Code : Tout sélectionner
Shell2 = {role="IA", startup={3*60, 20*60}, startT=nil, started=false, flights={"Dodge2"}, comms={}, task="KC-135 TANKER TAC SH2 6Y"}
Quand a shell2 c'est un second ravitailleur KC135 (non MPRS), pas étonnant donc qu'on ait décidé de le déclenché seulement si Ford2 (F16) ou Ford3 (F15) sont actifs.
On voit aussi que Shell1 et Shell2 déclenche respectivement Dodge1 et Dodge2 qui comme vous le découvrirait si vous avez la curiosité de regarder le fichier de config fourni sont ni plus ni moins que les escortes des 2 Tankers.
Au final ce que l'on a fait avec ces quelques lignes (ca parait long comme ca mais dans ce ne sont au final que quelques lignes avec toujours le même format). Nous avons :
- un vol Awacs (Magic1) et son escorte (Sprinfieldd)
- un packadge constitué de:
- si Ford1 et/ou Ford2 sont occupés : un vol Strike (Ford3) et son escorte (Ford5) et possiblement un second vol Strike (Ford4)
- un autre packadge constitué de
- si Ford1 est occupé (indépendamment de Ford2) : un KC135MPRS (Shell1) et sont escorte (Dodge1) et un second packadge avec un KC135 (Shell2) et son escorte 5dodge2)
- si seulement Ford2 est occupé : un KC135 (Shell2) et son escorte (dodge2)
Tout cela avec des temps de démarrage au hasard dans la limite de ce qui est imposé
Maintenant examinons ce que j'ai mis pour les vols rouges (oui je sais je n'ai pas été très imaginatif sur le nom des vols rouges
):
Code : Tout sélectionner
Andreii1 = {role="IA", startup={}, startT=nil, started=false, flights={}, comms={}, task="2 Su-27 CAP", prob=65},
Code : Tout sélectionner
Andreii2 = {role="IA", startup={}, startT=nil, started=false, flights={}, comms={}, task="2 Su-27 CAP", prob=35},
Code : Tout sélectionner
Ruskov = {role="IA", startup={}, startT=nil, started=false, flights={"Popov"}, comms={}, task="2 SU-25T STRIKE"},
En ainsi de suite..;
Peut-être avez vous remarquer la différence majeur qui existe entre mes vols bleus et rouges... Pour les vols bleus j'ai mis systématiquement un intervalle pour startup (vous avez compris maintenant que c'est l'intervalle de timing pour leurs décollage) alors que la, startup est systématiquement vide. D'autre part j'ai aussi rajouté systématiquement des probabilités. Vous en déduisez donc que les vols rouges ne décolleront pas systématiquement et s'ils le font ce sera dans l'intervalle par défaut que j'ai défini ainsi :
Soit entre 2 et 90mn après l'entrée en jeu des joueurs..
J'espère que c'est le déclic dans votre tête
car ceci implique donc que tout les vols rouges peuvent aussi bien être présent ou pas amis surtout qu'ils peuvent aussi bien décoller en tout début de mission que 90 minutes plus tard, heure a laquelle surement vous serez RTB voir même déjà dans vos chaussons...
Avec cette simple mission et le fichier de config proposé ici voici donc quelques scénario autant probables a partir de cette même mission:
- Ford1 et 2 ainsi que les F15E et leur escorte de F18 ne sont aucunement inquiétés par aucune menace que ce soit des Sam fixe, mobiles ou des menaces air/air
- Ford1 et 2 ainsi que les F15E et leur escorte de F18 ne sont pas iniquités par des Sam mais rencontrent une légère opposition Air/Air
- Ford1 et 2 ainsi que les F15E et leur escorte de F18 rencontre une opposition air/air modéré et se font engagés de façon inattendue par plusieurs Sams passé subitement actifs
- C'est la bérésina... des Sams qui s'activent soudainement lors de la phase de bombardement, des convois a proximités qui balancent Sa15, Sa13 Sa8 en vetu en voila et comme si ca ne suffisait pas 2 CAP ennemies sur le retour qui n'étaient pas la a l'allée...
tout ca avec une seule et même mission a la base
Alors imaginez une mission avec x vols, convois, Sam aussi bien bleus que rouges et un paramétrage sans contraintes fortes sur les décollages (on va dire par défaut entre 1mn et 2H (ou plus) pour être large). Certes il vous faudra un peu de temps pour mettre tout ces vols en place sur la mission de base mais une fois cela fait, c'est des missions et des missions, toujours renouvelés et différentes. Je pense que l'effort de départ sera largement rentabilisé d'autant qu'il faut bien voir que tout cela peut simplement servir de trame de fond ou l'on peut rajouter a chaque fois son petit vol dédié de la soirée... Et d'ailleurs cette trame de fond n'a pas besoin d'étre faite en une seule fois mais elle peut se construire au fil des vols.
CE MESSAGE EST EN COURS D'EDITION - La suite et fin de ces explications ca sera seulement pour demain...