Recherche
 
Fermer
TRANSLATE
Documentation - BOTROUTES

BOTROUTES

Botroutes WPS  -  par FSMOD

CREATION DES BOTROUTES WPS

Certains modes comme CRSBOT ou PWNBOT exploitent des fichiers botroutes en extension WPS.
Il existe de nombreuses bibliothèques qui disposent d'un choix assez large de route WPS, toutefois j'ai écrit cette documentation à l'attention des managers qui voudraient s'essayer dans la conception de ce type de routes ou à tout le moins dans la modification de routes déjà existantes. Je précise que les routes WPS sont beaucoup plus élaborées que les routes WNT et sont plus adaptées à "l'intelligence" artificielle des bots des modes CRSBOT ou PWNBOT.

Avant de démarrer ce tuto je vous invite à télécharger le pack wps.rar ICI

fin.gif Installation:

  1. Décompacter le fichier rar, vous obtenez 4 fichiers fswps.pk3, map.cfg, set.cfg et wps.bat et un répertoire botroutes vide pour le moment.
  2. Dans votre répertoire principal SOF2, créer un répertoire wps.
  3. Placer les 3 fichiers fswps.pk3, map.cfg et set.cfg ainsi que le répertoire botroutes dans le répertoire wps.
  4. Placer le répertoire wps  et le fichier wps.bat dans votre répertoire principal SOF2.

wps est désormais considéré comme un mode particulier qui va vous permettre la création des botroutes.

A ce stade je précise que les routes seront créées en mode client. Il n'est donc point besoin de solliciter un quelconque serveur.

Dans le répertoire principal SOF2, créer un raccourci vers le bureau à partir du fichier wps.bat


icon_rac.jpg

En résumé voici 2 captures illustrant l'emplacement des différents composants:

Répertoire WPS Répertoire principal SOF2
wps_rep.jpg rep_sof.jpg

fin.gif Examen des composants:

  • fswps.pk3 a été recodé à partir du mode CRSBOT, il est spécifiquement dédié à la création des botroutes wps.
  • set.cfg regroupe les réglages serveur et client pour la gestion des principales commandes. Il n'y a pas lieu de le modifier. Voir ICI.
  • wps.bat batch de lancement du mode wps. Il n'y a pas lieu de le modifier. Voir ICI.
  • map.cfg regroupe 2 CVARS primordiaux, à savoir la définition de la map et de son gametype. C'est le seul fichier qu'il faudra modifier en fonction de ce que vous voulez faire. Le fichier présent concerne la création des routes pour la map mp_raven en mode DM. A noter que si vous vouliez créer des routes pour une map non standard, c'est-à-dire non incluse dans les fichiers système d'origine, il faudra préalablement placer cette map dans le répertoire BASE de votre SOF2. A noter également que le gametype pour lequel vous voulez faire des routes doit être accepté par la map. Dans le cas contraire un gametype standard sera automatiquement sélectionné. Exemple: si vous vouliez créer des routes CTF pour la map mp_finca, le lancement de WPS orientera son action vers la conception de routes TDM, attendu que le codage de mp_finca ne prévoit pas le CTF. Voir ICI
  • botroutes est un répertoire vide au démarrage. Il est destiné à stocker vos routes finies. Dans le cas où vous désireriez modifier un fichier wps existant il faudra bien entendu qu'il soit présent dans ce répertoire.

fin.gif Lancement initial:

Important: Ne reportez pas le fichier sof2mp.cfg d'un autre mode vers votre répertoire wps. Le lancement initial a pour but d'en créer un, spécifique au mode wps, quels que soient vos paramètres préférés pour les autres modes. Si vous avez configuré vos paramètres dans un fichier autoexec.cfg, la plupart les réglages vidéo et audio seront déjà acquis.

Cliquer sur le raccourci wps.bat à partir du bureau. Après avoir réglé éventuellement les paramètres vidéo et audio, vous entrez dans le mode WPS comme le montre l'intro suivante:

wps_dm.jpg

On constate que, conformément aux réglages contenus dans le fichier map.cfg c'est bien la map mp_raven associée au gametype DM qui est sollicitée. Si le fichier map.cfg avait été renseigné de la sorte:

set g_gametype ctf
devmap mp_kam5

Vous auriez obtenu l'intro suivante, paré à accéder à la conception des routes pour la map mp_kam5 en mode CTF.

wps_ctf.jpg

fin.gif Initialisation des commandes:

Dans le bandeau supérieur des menus cliquez sur GO, la commande exec set sera lancée automatiquement.

go.jpg

Le retour en console confirme la validation des paramètres et vous informe par le CVAR wp_DebugRender = qtrue, que le programme est prêt pour la création des routes. Vous serez même gratifié d'un "bonnes routes" qui devrait vous encourager.

bonnes_routes.jpg

fin.gif Les commandes et leur action en détail:

A votre arrivée sur la map vous constaterez la présence de traits verticaux rouges, il s'agit de la position des bots à leur point de respawn. Ils apparaissent au fur et à mesure que vous vous déplacez sur la map. A noter qu'indépendamment du gametype fixé dans le fichier map.cfg, tous les points de respawn apparaîtront, DM et CTF confondus.

Bots visibles en DM Bots visibles en CTF
bots_trait.jpg bots_ctf.jpg

fin.gif Commandes principales (WP=waypoint)

TOUCHES ACTIONS AVANT ESRESULTATU INFOS CONSOLE
R Création du premier WP (N°1) no_trait.jpg trait.jpg creating_point.jpg
Création du WP suivant. Il sera relié au premier. A chaque nouvel appui sur R, un WP sera créé et relié au précédent. Leur numéro de baptême est incrémenté à chaque fois. point_av.jpg point_suiv.jpg linking.jpg
SOURIS CLIC DROIT Désélectionne le WP en cours. Permet ainsi de se positionner à un autre endroit sur la map et de créer un nouveau WP qui ne sera pas relié au précédent. A noter qu'après un certain temps les traits verticaux matérialisant le WP, disparaissent.  Vous pouvez désélectionner n'importe quel WP pour  quitter le pattern en cours et vous positionner à un autre endroit de la map. 2lignes.jpg clearing_point.jpg
SOURIS CLIC GAUCHE Sélectionne un WP. Il se matérialise par un trait vertical. Le WP peut être un simple point si les vecteurs adjacents ont été effacés. av_recup_point.jpg recup_point.jpg selecting_point.jpg
DEL (Suppr)

Efface le WP sélectionné. Les routes de part et d'autres du WP effacé disparaitront. Il sera toujours possible de relier ces 2 WP d'extrémités libres ou  de créer d'autres WP intermédiaires et de les relier.

del.jpg del2.jpg deleting_point.jpg
ENTER (Entrée) Etablit un lien entre le WP sélectionné et le WP visé. av_lien.jpg lien.jpg linking_point.jpg

Efface un lien existant entre le WP sélectionné et le WP visé. Dans l'exemple 3 vecteurs on été effacés, il ne subsiste que les 4 points de leurs WP respectifs. A noter que ces WP peuvent être sélectionnés à nouveau et reliés entre eux ou vers d'autres WP. 

3vector.jpg 4points.jpg unlink.jpg
SHIFT(Maj) + ENTER Etablit un lien unidirectionnel entre un WP sélectionné et un WP visé. A utiliser lorsqu'un bot saute depuis un point haut qu'il ne pourra pas franchir en sens inverse. A noter que le vecteur rouge est interrompu vers le WP visé. av_non_retour.jpg non_retour.jpg one_way_link.jpg
END (Fin) Sauvegarde le fichier route wps. Dans cet exemple de gametype DM, le fichier sera de la forme mp_jor1_dm.wps. Le suffixe dm étant automatiquement apposé en fonction du gametype défini dans le fichier map.cfg save.jpg

fin.gif Commandes de déplacements

 Touches Action
Z  Courir en avant
SHIFT + Z  Marcher en avant
ESPACE  Sauter

NOTA: Les textes G_EditWPS retournés en mode info console sont natifs dans les sources originelles de CRSBOT. Toutefois pour des impératifs de clarté, j'ai codé des textes additifs en anglais en mode écran et surtout en français en mode chat, qui font clairement apparaître les actions assorties aux touches qui les ont générées. Voir les exemples ci-après.

ex1.jpg

ex2.jpg

ex3.jpg

fin.gif Conseils et réflexions:

Lorsque que vous voulez viser un WP soit pour le sélectionner, le désélectionner ou l'effacer vous devez être très près ou quasiment à sa verticale. De toute manière si l'action n'est pas suivie d'effet, vous recevrez une information.

Pour gravir ou descendre une échelle, il suffit de définir un WP en bas de l'échelle et un autre vers le haut. Toutefois, ce précepte prévaut surtout pour le cas d'échelles courtes car il m'a été rapporté le constat que dans certaines maps, de longues échelles nécessitaient des WP intermédiaires, sans toutefois garantir à coup sur, un résultat efficient . Les difficultés liées au gravissement d'échelles sont d'ailleurs ciblées plus bas.

Les routes doivent être tracées au plus près des bots. Dans le cas contraire le bot restera à son point de respawn mais conservera ses facultés de tir. Au même titre assurez vous que tous les points de la map qui proposent des articles de jeux tels que armes, santé, armure, drapeaux, attaché-case, bombe, etc...,  possèdent un WP proche de leur position.

A l'opposé des routes WNT dont l'élaboration consistait à démarrer d'un point et de tracer un seul vecteur ininterrompu englobant tous les points de respawn et les différents articles de jeu, les routes WPS proposent des vecteurs multiples reliés ou non entre eux, établissant ainsi une véritable toile d'araignée. A partir d'un noeud de routes le bot prendra la direction qu'il jugera la plus opportune en fonction des ennemis et selon les critères définis par son intelligence artificielle.

En conséquence, si vous aviez coutume de tracer des routes WNT, il faudra perdre cette habitude trop facile qui consiste à démarrer à un point de la map et de la parcourir aléatoirement  sans jamais relever votre traceur. WPS est plus subtil et il faudra souvent interrompre son tracé en annulant la sélection d'un WP pour en choisir un nouveau, généralement un nœud, afin de dessiner un carroyage du plus bel effet. L'opération est plus longue mais le rendu est beaucoup plus en adéquation avec l'IA des bots.

 Dans cet exemple, à partir de son point de respawn, le bot rejoindra le noeud d'où partent 5 routes et pourra choisir sa direction en fonction de la présence des ennemis potentiels. routes_finies.jpg

Ne soyez pas surpris si il s'écoule parfois un certain temps entre une action et son effet, notamment dans les actions visant à modifier des liens existants. Le programme a en effet besoin de recalculer les rangs de chaque WP et la puissance de votre ordinateur peut ne pas être suffisante pour mener à bien rapidement ces opérations.

Voici une vue qui illustre un exemple de carroyage de botroutes dans la map mp_finca1. A remarquer les routes à sens unique. Les WP A rejoignent les WP B mais pas l'inverse. La route interrompue juste avant les WP B caractérise l'impossibilité du bot de revenir sur ses pas.

canevas.jpg

fin.gif Cas particuliers

Des problèmes peuvent se présenter dans certaines maps. J'ai recensé plusieurs cas mais je n'exposerai que les plus importants. Cette rubrique est surtout destinée à attirer une attention scrupuleuse de votre part chaque fois que vous vous lancerez dans la création des routes WPS.

Le plus sur moyen de vérifier votre travail final est de lancer votre map assortie de votre fichier botroutes nouvellement créé sur votre serveur LAN, de ne pas hésiter à paramétrer préalablement un nombre important de slots par les CVAR sv_maxclient , g_maxGameClients et bot_minPlayers afin d'occuper tous les points de spawn et de générer ainsi une grande activité des bots.
Il vous suffira ensuite de passer en spectateur et de vérifier si des anomalies se présentent dans leur mobilité.

new.gif Bots coincés

C'est le cas le plus répandu. Les concepteurs de maps placent souvent les points de spawn dans des endroits exigus ou créent de véritables pièges dans lesquels les bots peuvent tomber et se débattre sans pouvoir regagner le champ de bataille. Pour pallier à ce problème il suffira de prévoir des routes en conséquence.

EXEMPLES

  • Dans la map boabsters_madness un amoncellement de caisses réserve en son milieu un espace dans lequel un bot peut tomber et ne plus pouvoir remonter sans aide. Il faudra donc prévoir un segment duquel des routes partiront vers le sommet des caisses. Elles rejoindront ensuite le réseau extérieur par des liaisons à sens unique.

boabsters_caisses.jpg

  • Dans un escalier de la map mp_cargo cette route à double sens est opérationnelle sauf si des bots s'y croisent. L'un deux pourrait très bien chuter d'un côté ou de l'autre des marches. Dans ce cas il tentera de rejoindre la route principale mais sans ordre de sauter, il piétinera sur place jusqu'à ce qu'un autre belligérant le cloue sur place. Le remède est de créer un pattern autour de l'escalier destiné à recevoir le bot puis à le diriger vers le réseau.

AVANT APRES
mp_cargo_escalier.jpg mp_cargo_escalier_secours.jpg

  • Dans la map mp_office ce bot en respawn derrière une colonne de classeurs ne pourra pas rejoindre directement la route, attendu que conformément à sa programmation il devra viser le point le plus court vers la route et se heurtera au classeur. La solution évidente est de créer une liaison à sens unique vers la route principale.

AVANT APRES
mp_office_tiroirs_route.jpg
mp_office_tiroirs_route_join.jpg

  • Dans la map courtyard_carnage, un cas identique à celui de la map mp_cargo, à savoir que l'escalier à colimaçon peut comporter un piège pour le bot qui se voit chuter en dehors des marches. Il suffira une fois de plus de prévoir un circuit de récupération pour recueillir le bot et le remettre dans le droit chemin.

AVANT APRES
courtyard_carnage_escalier.jpg courtyard_carnage_escalie_recup.jpg

  • Pour revenir dans la map mp_cargo, voici encore un cas typique d'un bot qui ne pourra joindre la route principale du fait de son respawn derrière une caisse. La solution consistera toujours par l'ajout d'une liaison, éventuellement à sens unique, vers le réseau.

mp_cargo_bot_caisses.jpg

  • Dans la map mp_fabrica le bot 1 pourra joindre la route car il n'a pas d'obstacle, en revanche le bot 2 sera empêché par la caisse. Pour le tirer d'affaire, il conviendra de l'aider un peu par une route de liaison, éventuellement à sens unique. Il n'est pas superflu d'aider également le bot 1 à rejoindre la route. Ne pas perdre de vue qu'un bot ralliera plus facilement un WP qu'une route.

AVANT ENSUITE AU FINAL
mp_fabrica_bots.jpg mp_fabrica_bots_join1.jpg mp_fabrica_bots_join2.jpg

  • Dans la map UK_morocco, j'ai eu la surprise de voir un bot coincé derrière la porte de ce couloir. Vraisemblablement a t-il été poussé par une rafale adverse. Pour pallier à cette occurrence rare, j'ai quand même ajouté un itinéraire de délestage.

AVANT APRES
uk_morocco_coin_porte_route_secours.jpg uk_morocco_coin_porte_route.jpg

  • Dans la map adm_malta en CTF, une des équipes se trouve parquée dans une pièce munie d'une seule porte. Ils devront tous, un par un, gagner le champ de bataille par cette seule issue. J'ai constaté que des bousculades avaient bloqué un bot ou deux de part et d'autre de la porte. Lorsqu'ils se situaient proche de la route de sortie, ils pouvaient la rejoindre et quitter librement la pièce. Toutefois un bot plus éloigné de la route de sortie piétinait bêtement sur place en tentant de traverser le mur pour rejoindre la route qui se trouvait à l'extérieur. Se rappeler qu'un bot tentera toujours de rejoindre la route ou le WP le plus proche même si ces objectifs se situent derrière un obstacle infranchissable. Le remède, comme toujours a été de créer une ligne traversière devant la porte afin de leur permettre de regagner l'axe de sortie.

TEAM REMEDE VUE EXTERNE
adm_malta_ctf.jpg adm_malta_porte.jpg adm_malta_ctf_sortie.jpg

  • Ne pas oublier les chutes dans les milieux aquatiques. Il n'est pas toujours possible de faire remonter les bots sur la terre ferme, toutefois certaines maps le permettent. Ainsi dans la map adm_malta il est bon de prévoir un itinéraire "fluvial" pour capter les bots qui chuteraient dans l'eau. Cette vue aérienne illustre un canevas possible qu'un nageur pourra rejoindre pour regagner la berge.

adm_malta_water.jpg

  • Dans la map mp_jordaly1 j'ai longtemps cherché le moyen de libérer 2 bots enfermés chacun dans une pièce. L'ouverture de la porte était commandée par une pression sur une pierre amovible très discrète. Pour que le bot puisse sortir lui-même de la pièce il faut donc prévoir une première action sur cette pierre puis tracer un chemin vers la sortie.

Pierre peu visible Bot en attente Bot en mouvement vers la sortie
jordaly_ouverture.jpg jordaly_piece.jpg jordaly_route.jpg

new.gif Conversion des routes d'un gametype vers un autre gametype.

Si vous avez déjà créé des routes pour une map en CTF ou si vous les avez récupérées sur le net en vous méfiant toutefois de leur intégrité, vous pouvez les transformer aisément en routes DM. Au prix de quelques modifications cela vous évitera de tout réécrire. La conversion inverse est bien entendu envisageable.

lu.gif1er point : Prenons pour exemple la map mp_aztec. Vous possédez le fichier route CTF soit mp_aztec_ctf.wps
A l'aide d'un simple éditeur de texte modifier le suffixe ctf en le remplaçant par dm.

Votre fichier route devient donc mp_aztec_dm.wps

lu.gif 2ème point : Dans votre répertoire WPS ouvrez le fichier map.cfg et entrez les paramètres suivants
set g_gametype dm
devmap mp_aztec

lu.gif3ème point : Lancez le programme wps. Vérifiez que toutes les routes passent à proximité des points de respawn. Au besoin corrigez les.
La sauvegarde de votre travail créera un nouveau fichier mp_aztec_dm.wps qui pourra désormais être lu par le serveur réglé en DM.

close_pop.pngATTENTION : Beaucoup de maps différent dans leur leur conception, d'un gametype à l'autre. Des portes peuvent être fermées, des cloisons érigées ou des obstacles ajoutés.

EXEMPLE: Dans la map chronicle_desert les routes créées en CTF passent par des portes qui n'existeront plus en mode DM. Si vous avez converti des routes CTF en DM pour cette map, vous verrez des bots se taper la tête contre les murs à l'emplacement des anciennes portes. Il faudra donc effacer ces routes. A noter que, dans le cas d'une impossibilité d'effacer l'ensemble des WP rendus inaccessibles de l'autre côté du mur, il suffira d'effacer les premiers. L'interruption de la route la rendra injoignable pour les bots.

CTF DM
chronicle_desert_ct_routesf.jpg chronicle_desert_ct_routes_dm.jpg

new.gif Maps buguées

Il arrive parfois, malgré une élaboration des routes dans le respect des règles de l'art, que les résultats obtenus ne correspondent pas vraiment à vos attentes. Dans ce cas il convient peut-être de se pencher sur le codage même de la map. Bien entendu il n'est pas question de recoder la map même si vous possédez les sources mais avec quelques modifications simples, il est possible de lui corriger ses défauts.

J'ai constaté d'une manière générale que les bots descendent plus facilement les échelles qu'ils ne les gravissent et cette analyse vaut autant pour les routes WNT que WPS. Ce n'est pas toujours probant sur la plupart des maps mais certaines se montrent très hostiles à l'escalade des bots. Je ne saurais dire quelle en est la cause précise pour n'avoir jamais tenté la création de map mais ce fait est avéré.

EXEMPLE : Dans la map dhc_roost il est impossible à coup sur de faire grimper les bots le long des échelles. Ils hésitent, tournent en rond ou restent bloqués sur un échelon le nez dans les étoiles. Ces bots sont au nombre de trois, un au fond du trou au milieu de la place, les deux autres à mi-parcours des échelles vers la corniche supérieure.

Une seule solution : éradiquer ces bots. Et c'est là qu'il va falloir modifier la map elle-même.

lu.gif 1ère étape : Lancer la fonction Ent Editor sous le mode MDK. Voir documentation  ici
Après avoir cliqué sur Load Source Data, rejoignez les bots incriminés et notez leur coordonnées.
Voici une capture du bot au fond du puits dans la cour principale:

:dhc_roost_player_trou.jpg

lu.gif 2ème étape : A l'aide de Pakscape, décompactez le fichier dhc_roost.pk3
Dans le répertoire maps déplacez le fichier dhc_roost.bsp vers votre bureau.
Ouvrez ce fichier et rechercher le bot de coordonnées -44 0 -400
Il se présentera comme suit:

dhc_roost_bot1.jpg

Effacez tout le paragraphe de l'accolade ouvrante à l'accolade fermante (lignes 15669 à 15672)

De la même manière effacer les 2 autres bots dont voici les coordonnées, repérées précédemment avec Ent Editor :

dhc_roost_bot2_3.jpg

lu.gif 3ème étape : sauvegardez le fichier dhc_roost.bsp, le replacer dans le répertoire maps et sauvegardez dhc_roost.pk3 sous Pakscape.

Placez ce fichier sur votre serveur et créez vos routes.

Afin de préserver une bonne circulation des bots dans toute la map on pourra conserver l'usage des échelles menant aux corniches mais uniquement dans un sens descendant par paliers successifs et en sens unique comme le montre l'illustration suivante.

Bot venant de la corniche 1er palier sans retour 2ème palier sans retour Rez-de-chaussée sans retour
dhc_roost_montee.jpg dhc_roost_desc1.jpg dhc_roost_desc2.jpg dhc_roost_desc3.jpg

robot.gifLa méthode d'élimination des bots indisciplinés par l'emploi de la fonction Ent Editor sous MDK peut être dans certains cas, heureusement rares, une nécessité absolue pour les éradiquer et conserver le bon usage d'une map que vous affectionnez particulièrement. 

Le cas le plus extrême est le point de spawn enchâssé dans le décor. Ce bug de codage de la map incapacite aussi bien le bot que le joueur réél qui se retrouve alors les pieds dans le sol ou un bras dans le mur avec l'impossibilité de se mouvoir.

Si vous examinez le fichier qconsole.log du serveur vous découvrirez sans doute pour certaines maps ce genre de libellé:

dm_one_start_solid.jpg

Dans cet exemple la map dm_one présente 2 coordonnées de respawn qui interfèrent avec le décor. Des tests effectués révèlent en fait que cette promiscuité entre le décor et l'entité est légère et non bloquante. Dans d'autres maps cela pourra être plus grave et le recours à la suppression des points de respawns bloquants devra être envisagée.

Ces problèmes ne sont pas toujours liés aux maps customisées car la map standard mp_hk1 bien connue depuis les origines de SOF2, montre ce surprenant log où les bots se retrouvent massivement englués dans le décor. Heureusement que ces implantations ne sont pas bloquantes:

mp_hk1_start_solid.jpg

Un autre exempe : dans la map factory_assault, bien connue des anciens qui ont pratiqué le mode GOLDRUSH, il existe un point de spawn vraiment bloquant qui immobilise tant le bot que le joueur réel et qu'il convient en conséquence de corriger au coeur de la map.

Les coordonnées sont récupérables dans le fichier qconsole.log :

factory_assault_log.jpg

Cette avarie se traduit sur le terrain par la jambe droite du sujet prisonnière d'une console informatique :

factory_assault_solid.jpg

On procédera donc , comme dans l'exemple de la map dhc_root, à la suppression du paragraphe concerné, dans le fichier factory_assault.bsp.

Encore un exemple: Dans la map mp_yordan, on peut découvrir un point de respawn sous la map. A part le suicide, vous ne pourrez pas vous échapper si vous réapparaissez à ces coordonnées. Sans doute un moment de fatigue du 'mapeur' eek

mp_yordan_bot2.jpg

La solution, comme d'habitude est de supprimer le paragraphe erroné dans le fichier mp_yordan.bsp.

mp_yordan_bot_bsp.jpg

Un dernier exemple : Dans la map mp_dust2, si vous réapparaissez au point -1416, 2760,-48, vous aurez au moins la chance de voir arriver votre exécuteur, mais vous ne pourrez pas riposter. cry

mp_dust2_bot3.jpg

A noter que la map the_clash, conçue sur la même matrice que mp_dust2, présente le même défaut.

close_pop.png IMPORTANT : Vous allez peut-être penser que le fichier pk3 modifié installé sur le serveur, ne sera pas le même que celui que possèdent les clients et que des anomalies de correspondance vont apparaître.

Non il n'en sera rien car c'est le fichier du serveur qui prime sur celui du client. De plus la partie modifiée du fichier BSP n'a été opérée que dans la zone de texte, la partie binaire n'ayant pas été altérée.

new.gif Reconnaître les bots en fonction du gametype.

Ce point est très important car comme il a été mentionné plus haut, quel que soit le gametype choisi dans le fichier map.cfg, tous les bots apparaîtront sur le terrain. En général, les bots associés aux gametype en équipe (CTF, TDM,etc) seront groupés en ordre serrés dans 2 teams distinctes. Leur identification sera donc aisée. Toutefois quelques bots en DM pourront  y être mêlés et "oubliés" par une route trop éloignée. 

Exemple : Considérons la map mp_aimtrain. Sous ce préau les bots DM et CTF sont alignés comme le montre ces 2 captures:

Sous WPS ROUTES MAKER Sous MDK EDITOR
mp_aimtrain_wps_bots.jpg mp_train_mdk_bots.jpg

En fait le seul bot DM de cet alignement se situe à l'extrême gauche, les autres sont des bots CTF. Bien entendu si une route est créée d'un bout à l'autre de cet alignement, elle pourra servir pour tous les gametypes. Toutefois, dans certaines maps cette clarté dans la disposition des bots n'est pas toujours aussi évidente.

Comment les différencier?

Dans le doute il convient de se plonger dans le fichier BSP de la map visée. Les classes des bots sont ainsi déclarées:

BOT DM BOT TEAM
player_dm.jpg player_gametype.jpg

Ces "classname" apparaissent d'ailleurs très clairement dans ENT EDITOR de MDK où l'on retrouve les bots de la map mp_aimtrain.

BOT DM BOT TEAM
mp_aimtrain_info_player_gametype.jpg mp_aimtrain_gametype_player.jpg

new.gif Les fantaisies délirantes glanées sur le net

Je terminerai cette rubrique des cas particuliers en évoquant les horreurs que j'ai pu découvrir sur le net. J'ai téléchargé une foultitude de fichiers route tant en WNT qu'en WPS et je me suis souvent trouvé en face de délires graphiques que je n'aurais même pas imaginés dans mes idées les plus noires.

La palme revient sans doute à la map 13th_floor dont l'avarie m'a été signalée par Mjr Miche, manager du serveur m8 (click here), lequel avait connu un plantage serveur à l'exploitation de cette map avec le traditionnel message:

Error: BotLibShutdown: bot library used before being setup.

Voici des captures illustrant les 2 états entre l'incongruité de l'original et le nouveau tracé accompli dans le respect du travail bien fait !

ORIGINAL NOUVEAU
13th_floor_orig.jpg 13th_floor_new.jpg

A ce stade il convient de noter que le poids du fichier routes doit être un indice sur la pertinence de sa conception. Dans le cas de la map ci dessus, il affichait un poids de 48 k. Au regard d'une petite map de 540 k,  c'est exorbitant. Le nouveau fichier que j'ai créé ne dépasse pas les 7 k.

Voici pêle-mêle quelques autres exemples parmi tant d'autres:

lu.gif map chem1 : Les routes traversent même les murs :

chem1_ctf.jpg chem1_ctf_wall.jpg chem1_ctf_wall2.jpg

lu.gif map fragcity : Les bots doivent connaître un vrai calvaire pour retrouver leur chemin !

fragcity.jpg fragcity_2.jpg

lu.gif map mp_air1 : Il est curieux que cette map standard qui possédait déjà à l'origine des routes parfaitement conçues ait pu faire l'objet d'un tel massacre:

mp_air1.jpg

lu.gif map thecarlot : Pourquoi 3 routes parallèles pour grimper une échelle étroite, une suffit largement et évite les embouteillages !

thecarlot_echelle.jpg

J'arrêterai ici mon développement sur ces incohérences conceptuelles aux fins ne pas fatiguer les lecteurs et encombrer inutilement le site. Mais je pense que cela était nécessaire et suffisant pour que vous abordiez avec prudence certains sites qui hébergent des produits douteux, corrompus ou inexploitables.

Je pense surtout que certains créateurs de routes WPS ont été largement influencés, voire déformés pour avoir trop exercé la conception de routes WNT. Les exemples ci-dessus évoqués en sont le probant exemple.

Pour le fun voici des illustrations qui résument ce qu'il faut faire et ce qu'il ne faut pas faire, en matière de création de routes WPS.

mp_finca_survol_ok.jpg mp_finca_survo_bad.jpg
mp_hk1_trame.jpg mp_hk1_rail.jpg

new.gif Un dernier point :

Quelques maps possèdent leurs propres routes encapsulées dans le fichier pk3. C'est la cas par exemple de la très belle map Austria dont le répertoire Botroutes renferme un fichier WPS.
Dommage que tous les créateurs de map n'aient pas la même méticulosité et le même talent.  Que l'auteur inconnu en soit remercié.

austria.jpg pic_austria.jpg

fin.gif Aide

A tout moment vous pouvez cliquer sur l'option Aide du bandeau supérieur des menus pour obtenir un rappel des commandes.

prerequis.jpg souris.jpg
clavier.jpg resume.jpg

fin.gif Une demo pour terminer

Ce fichier peut être lu dans n'importe quel mode. Si vous désirez le visionner en mode WPS il vous suffira au préalable de créer dans le répertoire WPS un répertoire demos et d'y inclure le présent fichier wps.dm_2004.

La création de botroutes WPS ne présente rien d'insurmontable mais requiert surtout de la patience et beaucoup d'essais successifs.

Bon courage!

Dernière mise à jour du 27 mai 2023

-=eek=-

Publié le 31/01/2019 17:37   Haut
Rubriques

Vous êtes ici :   Accueil » Documentation » BOTROUTES