Faire apparaitre des ennemis.

retour au sommaire

Texte original : Spawning AI's in sp map
Auteur : HAUI
Du site : Manstein leveldesign
Traduction et interprétation par
Tropheus.

Nous allons ici apprendre à faire apparaitre des ennemis.
Vous savez celui qui vient vous tirer dans le dos alors que 2 secondes plus tôt il n'était pas là ! Celui qui apparait toujours lorsque vous avez les maains occupées à autre chose comme à ouvrir une porte par exemple.

Il y a deux possibilité pour faire naitre des enemis. nous verrons ici la première qui est la moins compliquée.
La seconde façon "naissance après la mort d'un enemi" (plus compliquée) sera expliquée dans un autre tutorial.

1/ MAPPING

Vous allez construire une map assez longue (comme un couloir) (512 X 144) que vous allez appelez "test_spawn". Vous allez placer un info_player_start dans un des coin comme d'habitude, de la lumière.
Ensuite, vous allez placer votre ennemi à apparaitre dans le coin opposé. Pour cela placer un "
AI_Actor" un parallélépipède rectangle gris apparait dans la vue 3D. Tant que vous l'avez sélectionné, appuyé sur la touche "n" et donnez lui les Key /Value suivantes :

$targetname / enemyspawner
#group  / 1
#set  /  1
model / human/german_panzer_obershutze.tik

Maintenant cet ennemi doit courir vers une destination avant de vous attaquer.
Vous allez donc placer entre vous et votre ai_actor un info_pathnode auquel vous donnerez les valeurs suivantes :

$targetname / enemyspawnerdestination
#group  / 1
#set  / 1

Notez qu'il faut mettre le même #group et #set que pour l'enemyspawner.

Pour activer le tout il vous faut maintenant un "trigger_multiple" à placer ici entre l'info_pathnode et vous. (sur l'image j'ai mis un mur pour bien montrer où se fait l'activation).

Donc vous allez lui donnez les valeurs suivantes :

$targetname  / enemyspawnertrigger
#set  / 1
cnt  / 1

Voici ce que vous pouvez voir dans les vues 2D et 3D

Votre map est maintenant prête. Il ne vous reste plus qu'à la compiler.

2/ SCRIPTING

Toujours pareil prenez notepad ou un autre éditeur de texte et tapez ceci.

exec global/ai.scr
exec global/loadout.scr maps/test_spawn.scr
main:
        thread global/ai.scr::spawngroup #1 #1
     level waittill prespawn
        exec global/ambient.scr test_spawn
    level waittill spawn
        $player item weapons/colt45.tik
        $player ammo pistol 1000
    level.script="map/test_spawn.scr"
end

Explications.

exec global/ai.scr
exec global/loadout.scr maps/test_spawn.scr
main:
thread global/ai.scr::spawngroup #1 #1
//l'apparition du personnage se fera lorsque vous passerez par le trigger_multiple.
level waittill prespawn
exec global/ambient.scr test_spawn
level waittill spawn
$player item weapons/colt45.tik
$player ammo pistol 1000
level.script="map/test_spawn.scr"
end

Vous enregistrez le tout sous test_spawn.scr et le tour est joué.

3/ VARIANTES.

a/ Nombre d'enemis.

Vous pouvez avoir plusieurs ennemis dont l'apparition est activée par le trigger_multiple. Il vous suffit de positionner autant d'ai_actor que vous voulez avec les mêmes valeurs qu'au-dessus sauf pour le #group.

b/ La valeur #set.

La valeur #set détermine quelle "vague" d'ennemis sera activer. Vous pouvez avoir plusiseurs système de "spawning". Dans ce cas, si vous avez plus d'un ai_actor, info_pathnode, trigger_multiple vous devez donnez à chaque groupe, une unique valeur #set (1, 2, 3 ...)

c/ La valeur #group.

Cette valeur determine combien d'ennemi doivent apparaitre en passant le trigger. Vous pouvez avoir 3 ou plus encore d'ennemis à apparaitre.

NDT : je ne suis pas sûr de ma traduction sur cette dernière phrase. Cependant, si la valeur #set est indispensable au fonctionnement du système de spawn, la valeur #group elle ne l'est pas. en effet si vous avez qu'une seule Ai à spwaner ce n'est pas nécessaire. aussi dan sle script ceci ce traduit par :
thread global/ai.scr::spawngroup #1 la dernière valeur a disparu.

Il existe d'autres façons de faire apparaitre des AI sur la map, mais c'est cette manière qui est la plus académique et la plus simple. Cependant elle semble aussi très sensible aux mauvaises manipulation de valeur et risque tout à coup de vous lacher. Maintenant si vous travaillez correctement tout doit bien ce passer.
Je pense aussi qu'il est possible de faire apparaitre des allié des cette même façon.

Dans le jeu ça se traduit par :

- avant le spawn 

 - et après le passage du trigger.

Télécharger le pk3.

retour au sommaire