*Note: I created the most of the tutorials using the Roboblitz and Gears of War editors. Based on the engine, and the version, some properties specified may be in slightly different locations than what is displayed in the screenshots.

If you need to learn how to create a basic map I would reccomend:
For UT99, UT2K3 & UT2K4: the Unreal Wiki.
For UT3: Waylon's Tutorials.



Interactions Classiques - Effets Aléatoires



J'ai créé une simple map de test consistant en un peu de BSP, une skylight, un playerstart, un skydome et une DirectionalLight.

Je vais seulement utiliser des éléments de base de l'éditeur qui se trouvent dans les packages officiels.

Les effets aléatoires peuvent aller du très simple au très compliqué, tout dépend de ce que vous souhaitez faire. Nous allons commencer par un système simple et le compliquer.

1) Que souhaitons nous faire ?
Nous allons faire une zone qui déclenche un emitter aléatoire avec un son toutes les 10 secondes quand le joueur est dans la zone.

2) Rassemblez vos ingrédients:
des emitters
1 trigger
1 action RandomSwitch
1 event Trigger Touch
des actions Toggle
des actions PlaySound
1 Delay

3) Mélangeons le tout :
D'abord, je vais positionner le trigger au milieu de la zone et agrandir son rayon de collision. Puisque la zone est carrée, j'aurais pu utiliser une trigger volume, mais nous allons rester sur un trigger. Ensuite je vais créer l'event du trigger, mettre quelques Toggles associés à des Play Sounds et enfin ajouter un random switch.




Du côté de Kismet, je connecte le Trigger Touch au Random Switch. Ensuite je vais assembler chaque Toggle avec un PlaySound et un emitter. Puis, je relie les sorties du Random à chaque groupe que je viens de créer. Enfin, j'ajoute le Delay à la fin et renvoie le signal dans le Random qui relance aléatoirement un nouvel emitter. J'ai réglé le MaxTriggerCount de l'event Touch à 1 puisque de toute façon, nous n'avons pas créé de moyen d'arrêter le Random quand le joueur quitte la zone.
* Note: J'utilise des 'burst' Emitters qui s'arrêtent donc d'eux même. Si vous avez un 'constant' emitter, vous aurez à ajouter quelque chose pour les arrêter après un certain temps.




4) Testons le. Lancer le jeu et testez le, cela marche bien pour moi.

5) Ajustons le. D'abord, pensez aux collision et à l'éclairage et régler le tout. Ici, nous avons à faire à des emitters, donc cela n'a pas d'importance, mais si ce n'était pas des emitters, il serait utile de se poser la question. Ensuite, envisagez tous les problèmes possibles. Que se passe t-il quand un joueur sort de la zone ? Rien, le système continue. Nous avons donc besoin d'ajouter quelque chose qui éteint le tout quand le joueur n'est plus dans la zone. Je vais ajouter un système qui déclenchera le tout la première fois qu'un joueur entrera, mais pas aux entrées d'autres joueurs, et qui éteindra le système lors du dernier Untouch (quand tous les joueurs seront sortis).




L'event Touch a son MaxTriggerCount à 0. A chaque fois qu'un joueur entre, le Int Counter s'incrémentera, mais la Gate se fermera après la première entrée. L'autre Int Counter décompte les sorties et rouvre la gate une fois tous les joueurs sortis. Cela arrête également le Delay et donc coupe la boucle du Random quand tous les joueurs sont sortis.

6) Ajustements pour les modes solo/multi-joueur. Comme vous l'avez sûrement lu dans la section Mode Solo/Co-op/Multi-joueur, il y a beaucoup de considérations à prendre en compte pour n'importe quel système que vous créez. Votre système peut être dans un premier temps OK pour un mode solo ou un mode multi-joueur. Mais vous devriez toujours vous poser quelques questions si vous travaillez avec des objets supplémentaires comme des Interpactors ou n'importe quoi relatif à la géométrie. Que se passe t-il si les joueurs restent dans le "passage" ? Souhaitez que le système réagisse uniquement au joueur ou aussi aux PNJs / bots ? Les réponses varient donc en fonction de ce que vous souhaitez faire.