Release Raptor : bases de l'éditeur de niveaux

## Étape 1 : Trouver l'éditeur de niveau

Non pas que nous voulions le cacher, mais nous ne voulons pas non plus que cela soit visible devant tous ceux qui commencent le jeu. Il faut donc aller dans l'onglet Divers du menu des paramètres et cliquer pour activer l'éditeur de niveau. Ensuite, il apparaîtra désormais pour vous dans le menu principal.

## Étape 2 : Apprentissage des raccourcis clavier

Il y a un bouton d'aide dans l'éditeur. Assurez-vous de l'utiliser! Il y a des TONNES de raccourcis clavier super utiles. Ils peuvent vous faire gagner beaucoup de temps, en particulier si vous échangez un tas d'apparences sur des objets, ou si vous devez sélectionner des éléments en masse, ou si vous devez remplacer des objets existants par de nouveaux au même endroit, ou dupliquer des objets existants. ... la liste continue.

Vous n'avez pas besoin de tout mémoriser au premier instant, mais il existe de nombreux outils qui font passer l'expérience d'édition de quelque chose de fastidieux et qui prend une éternité à quelque chose qui passe vite. Une fois que vous maîtrisez les bases, ne restez pas en mode fastidieux !  :)

## CONCEPT CLÉ : « Portes » extérieures

### "Portes" intérieures ou extérieures

Vous pourriez créer une partie d'un niveau contenant une ou plusieurs pièces, et dans celui-ci vous pourriez avoir des portes. C'est bien beau tout ça, et celles-là sont appelées portes « intérieures ». Cela ne veut pas dire qu’ils sont à l’intérieur – en effet, rien ne dit que cela ne pourrait pas être à l’extérieur ou dans une grotte. Mais cela signifie que cela ne quitte pas le morceau de niveau actuel que vous modifiez.

Les portes EXTÉRIEURES sont cependant très importantes et portent un marqueur de portail bleu, avec un trio de lignes pointant vers l'extérieur. Ces portes indiquent comment le fragment de niveau *peut* être connecté à d'autres fragments de niveau par la génération procédurale.

### Minimum de deux « portes » extérieures

Chaque morceau de niveau que vous créez DOIT avoir au moins 2 portes extérieures, sinon il ne peut pas être utilisé par l'outil de génération procédurale. Mais idéalement, ils devraient avoir plus que cela – cela augmente la variabilité des niveaux dans la façon dont ils utilisent ce morceau de niveau.

*REMARQUE CLÉ :*  « Portes » ne désigne pas de véritables portes. Cela signifie simplement des connexions d’un morceau de niveau à un autre.

Exemple : En d’autres termes, dans un appartement, vous n’auriez qu’une seule porte littérale pour sortir de l’appartement. Qui a deux portes d’appartement menant à des couloirs ? Ça n'a aucun sens. Mais vous DEVEZ avoir deux « portes extérieures » pour sortir de l’appartement – ​​alors que faire ? Dans ce cas, vous utilisez le « trou dans le mur extérieur » ou les variantes au plafond ou au sol – idéalement un mélange des trois. Ceux-ci représentent alors des endroits où des trous ont été mal percés dans l’appartement, ce qui est idéal pour vous permettre de vous déplacer thématiquement.

### Limites d'occlusion

Attends une seconde, je pensais qu'on parlait de portes ? Ouais! C’est un concept important lié à cela. Dans la partie inférieure droite de l'éditeur de niveau, il y a un petit bouton OCCLUDE que vous pouvez activer et désactiver. Cela montre un cadre de délimitation cyan qui définit la taille de votre morceau de niveau.

Il s'agit toujours d'une boîte rectangulaire. Autrement dit, si vous faites en sorte que votre niveau soit un zigzag diagonal, c'est génial et je suis sûr que ce sera très amusant à jouer, mais cela crée un AABB (Axis-Aligned Bounding Box) global autour de tout ce que vous créez. Lorsque la génération du niveau procédural a lieu, aucun AABB ne peut se chevaucher. Ceci est fait principalement pour la vitesse.

Pourquoi vous en souciez-vous, en particulier dans une section sur les portes ? Bien...

### Les portes extérieures doivent être au bord des limites du dispositif d'occlusion et pointées vers l'extérieur.

C'est pourquoi vous vous souciez des limites du bloqueur. Si vous avez une porte extérieure, elle doit se trouver tout au bord de cette boîte bleue et pointer vers l'extérieur. Si vous le placez quelque part à l'intérieur de la boîte, même s'il se trouve au "bord" de votre joli niveau en zigzag, cela provoquera toutes sortes de problèmes de chevauchement lors de la génération procédurale.

Lorsque vous enregistrez le niveau sur lequel vous travaillez, si vous remarquez que votre porte extérieure jaillit soudainement vers l'avant de l'endroit où vous l'avez placée, voici pourquoi. Il s'agit de l'aligner sur l'AABB de l'Occluder, afin que vous puissiez réellement voir l'erreur que vous avez commise et ensuite décider comment la corriger. L'alternative est celle des erreurs invisibles qui n'apparaissent que dans les niveaux mutilés.

### Questions thématiques sur les portes extérieures

Dans de nombreux cas, nous essayons de créer une vraisemblance avec une architecture réelle, n'est-ce pas ? Autrement dit, peut-être que nous construisons un immeuble d'appartements. Cela signifie donc que les appartements se détachent des couloirs, que les cages d'escalier se détachent des couloirs et que les appartements ne se détachent PAS des autres appartements. Si nous sommes voisins, vous n'arrivez pas à votre appartement en passant par le mien.

Le problème avec ce qui précède est que c'est ennuyeux. Nous voulons une sensation de réalisme, mais des chemins plus intéressants à travers le niveau. Ce qu'il faut faire? Comme la plupart des jeux : destruction !

Dans un appartement, par exemple, faites ce que vous verriez normalement et n'installez qu'une seule porte d'entrée. Donnez du sens à cela ! Ensuite, il y a les « trous dans les murs », les « trous dans le plafond » et les « trous dans le sol » que vous pouvez mettre en place. La plupart du temps, ceux-ci ressembleront à des sols ou des murs ordinaires, ce qui est génial. Mais d’autres fois, cela me fournira un *moyen valable* de me rendre de mon appartement au vôtre : il suffit d’abattre le mur.

Cela interrompt le flux de niveaux qui seraient autrement très ennuyeux et permet des constructions de niveaux constamment surprenantes même si elles se déroulent dans des environnements familiers du monde réel.

#### Ce à quoi vous n'avez pas besoin de penser

Vous pensez peut-être maintenant à ce que j'ai dit à propos des pièces qui doivent se connecter à d'autres types de pièces de manière spécifique pour avoir un sens. Autrement dit, il n'y a pas une porte d'entrée d'un appartement qui s'ouvre sur la porte d'entrée d'un autre appartement. Ne vous inquiétez pas ! Tant que vous configurez votre bloc de niveau d'une manière qui a du sens lorsque vous regardez son isolation (c'est-à-dire qu'il n'a qu'une seule porte d'entrée par appartement), alors la logique du générateur de niveau procédural saura comment l'utiliser. La logique concernant les couloirs, les cages d'escalier et tout ce jazz est définie en fonction du dossier dans lequel vous avez enregistré votre travail.

## À propos des sauvegardes

Notez que le jeu effectue une sauvegarde chaque fois que vous enregistrez votre niveau avec des différences réelles, vous pouvez donc sauvegarder très fréquemment (elles sont minuscules) et ne jamais perdre de travail. Toutes les anciennes versions sont là au cas où quelque chose se passerait mal.

### Sauvegardes automatiques

Le jeu enregistre très fréquemment (toutes les minutes environ, plus chaque fois que vous cliquez sur Playtest ou quittez) les versions de sauvegarde automatique de vos niveaux dans un dossier de sauvegarde automatique brut. Vous ignorerez probablement cela presque complètement. Cependant, si quelque chose ne va pas avec ce que vous éditez, c'est ici que vous pouvez revenir en arrière et trouver votre travail !

## Dépannage

### Quelque chose ne va pas !

1. D'une part, l'objet peut avoir une erreur dans sa définition que Chris doit corriger. Vous pouvez continuer et placer l'objet s'il est légèrement décalé, et il pourra le réparer et votre objet se corrigera automatiquement.

2. Par contre, il est plus probable dans beaucoup de cas que vous ayez une mauvaise rotation sur votre objet. La plupart des objets ont une « face » (y compris les murs), et ils ne s'alignent pas correctement si vous avez des objets avec leurs faces avant et arrière mélangés les uns à côté des autres.

2.a. Les montants de porte sont courants dans ce cas : il vous suffit généralement de les faire pivoter s'ils dépassent davantage d'un côté d'un mur que de l'autre.

2.b. Parfois aussi, les murs eux-mêmes semblent ne pas s’aligner. Encore une fois, il suffit de les faire pivoter. Il y a une petite boîte filaire qui permet de vous montrer le « dos » des murs. Si tout cela s’aligne correctement, alors les murs devraient l’être aussi.

### Se déplacer dans l'éditeur semble lent !

Si vous utilisez les fonctions de panoramique et de zoom, c'est en effet un moyen très lent de contourner l'éditeur - celui-ci ou l'éditeur Unity, d'ailleurs. Les outils de panoramique et de zoom sont excellents pour les petits mouvements de détails, mais c'est pour cela qu'ils sont faits.

Le véritable mouvement autour de cet espace est censé fonctionner comme un jeu FPS. Maintenez le bouton droit de la souris enfoncé, puis les touches WASD vous déplaceront tandis que vous pourrez également déplacer la souris pour pointer là où vous le souhaitez. Superduper vite !

Même cela ne vous mène pas loin, cependant - les choses deviennent compliquées lorsque vous êtes près de quelque chose mais c'est un peu au-dessus ou en dessous de vous. Dans ces cas-là, c'est là que les touches Q et E sont votre amie. Comme dans de nombreux jeux de tir à "6 degrés de liberté" (Descente, etc.) -- ou l'éditeur Unity, encore une fois -- cela vous permet de monter et descendre.

Entre maintenir le bouton droit de la souris enfoncé, puis utiliser WASD + QE pour vous déplacer et utiliser la souris pour regarder, vous pouvez parcourir les niveaux très très rapidement.

Oh! Bien sûr, si vous n'utilisez pas la touche Maj pour "exécuter", alors bien sûr, vous serez toujours très lent en zoom, en panoramique ou en "mode de déplacement clic droit-maintenir". En effet, vous effectuerez souvent un travail de détail qui signifie que vous ne voulez pas aller trop vite. Mais ensuite, lorsque vous souhaitez vous déplacer rapidement, maintenez la touche Maj enfoncée et vous vous dirigerez vers n'importe où.

Si vous avez joué à de nombreux jeux de tir, la plupart de ces jeux devraient être une seconde nature, à l'exception des questions et réponses.

### Je veux que les côtés opposés d'un mur soient de couleurs différentes

Si vous souhaitez faire cela, placez simplement deux murs dos à dos. Les murs ont une orientation et si vous les faites pivoter dans des orientations opposées, ils s'emboîteront parfaitement les uns contre les autres.

### Mon Raptor de test-démarrage-emplacement est au mauvais endroit !

Oops! Cela arrive aux meilleurs d’entre nous, ne vous inquiétez pas. Si vous avez construit votre niveau de telle manière que votre raptor de début de test se trouve soit dans un endroit qui ne vous convient pas, soit même en dehors du niveau, alors vous voudrez déplacer le niveau, pas le raptor.

Ctrl+A effectue une sélection totale dans l'éditeur de niveau, afin que vous puissiez rapidement déplacer l'orientation de l'ensemble de votre morceau de niveau si vous en avez besoin. De cette façon, si le point de départ de votre test de raptor se trouve au mauvais endroit, vous pouvez déplacer le niveau autour de lui. Notez que cela n'a absolument aucun effet sur le niveau réel du jeu lorsqu'il est connecté de manière procédurale à un niveau plus grand. Ce qui est bon!

### Une source de lumière traverse un mur !

Si cela se produit, c’est presque certainement intentionnel en termes de fonctionnement de la lumière. Consultez la section ci-dessous sur les performances d'éclairage pour savoir pourquoi certaines lumières fonctionnent ainsi.

Mais la version courte est que je voulais vous fournir une lumière très brillante et dramatique, et pourtant, cela va généralement très mal manger le GPU et le CPU. Le compromis est de faire en sorte que la lumière n'ait pas d'ombres, ce qui vous donne cet outil dans votre boîte à outils – mais signifie que la lumière traverse les murs.

Cela vous donne alors une restriction de conception de niveau dans la mesure où ces types de lumières ne peuvent pas être placés trop près des murs qu'ils traverseraient sans avoir l'air faux : alors surveillez cela et ne le faites pas. C’est malheureusement l’un de ces cas où une restriction technique a un impact sur les choix de conception que vous pouvez faire.

### Les décombres/débris sont mal alignés sur la grille de tuiles !

C'est par conception ! Hé, ce sont des décombres. S’il était bien aligné, cela aurait l’air incroyablement étrange. Au lieu de cela, nous avons des paramètres de vignettes incorrects sur chacun d'eux, qui fonctionnent à merveille lorsque vous les faites pivoter de différentes manières pour obtenir des effets différents. Par exemple:

Et ces chevauchements normalement incorrects produisent ce bel effet :

## Correction des mauvaises performances des fragments de niveau

Le jeu essaie de nous empêcher de nous tirer une balle dans le pied en termes de performances lorsque nous créons des morceaux de niveau, mais c'est toujours possible de le faire. Voici les principaux coupables :

### Votre tranche de niveau est-elle trop grande ?

Le jeu doit restituer tout ce qui se trouve dans votre bloc de niveau pendant tout le temps où le joueur y est ou juste à côté. Les morceaux optimaux sont petits en termes de ce qu’ils contiennent.

Cela dit, la taille physique n’a pas d’importance : un espace vide géant ne nécessite pratiquement aucun traitement. Il ne s’agit donc pas vraiment de la taille globale, mais du nombre d’objets qu’il contient. Un petit espace rempli de déchets fonctionnera moins bien qu’un immense espace qui contient peu de choses. Dans l’ensemble, il est bon de viser un juste milieu.

### Votre niveau est-il rempli de trucs interactifs ?

Les murs, les montants de portes, etc. sont bon marché. Le jeu peut les regrouper et votre GPU les mange au petit-déjeuner. Mais les choses qui pourraient bouger sont une autre affaire : si vous avez rempli votre morceau de niveau avec des objets qui peuvent être cassés ou déplacés, comme des lumières ou des portes ou des meubles cassables ou des petits bibelots ou des débris mobiles ou des boîtes, alors il finira par commencer à bouger. Plus de deux douzaines de ces éléments dans un seul niveau sont une mauvaise idée.

### Votre niveau est-il rempli de trop de skins différents ?

Vous vous souvenez de la façon dont j'ai dit que les murs étaient bon marché ? Eh bien... c'est en grande partie vrai. Tous les murs partageant la même peau sont combinés, quelle que soit la forme du mur. Cependant, pour chaque nouveau skin que vous utilisez pour une couleur supplémentaire, cela constitue un lot distinct. Plus de 2 à 3 peaux chacune pour les murs, les sols et les plafonds dans un morceau de niveau n'est pas seulement exagéré, cela devient probablement rapidement collant.

### Votre niveau est-il rempli de trop de lumières ?

Ce sont de loin les principaux responsables des baisses de performances. Surtout les énormes projecteurs qui ont des ombres. Utilisez-les EXTRÊMEMENT avec parcimonie. Si la lumière est énorme et brillante, cela coûte cher au GPU. S'il est énorme et lumineux mais que les ombres ne sont pas activées, vous le remarquerez car il traversera les murs et autres obstacles comme s'ils n'étaient même pas là.

Ces lumières sont plutôt un compromis en termes de dépenses, mais vous devez faire attention à l'endroit où vous les placez, sinon vous aurez une lumière vraiment étrange qui traversera les murs.

Les lumières très petites et tamisées qui n'affectent qu'une petite zone sont celles qui peuvent être utilisées plus fréquemment, mais même dans ce cas, il est bon de ne pas en avoir trop. Plus d'une douzaine de lumières de toute sorte dans un bloc de niveau sont susceptibles de commencer à causer des problèmes de performances, et il est préférable d'en utiliser encore moins lorsque toutes les autres choses sont égales.

### Y a-t-il beaucoup d’objets partiellement ou entièrement transparents ?

Ceux-ci doivent être rendus en mode avancé, puis fusionnés dans le chemin d'ombrage différé, ce qui est coûteux. Ainsi, même s’ils sont formidables à avoir sous la main, ils sont certainement quelque chose à utiliser avec parcimonie.

### Est-ce que ça bouge toujours de toute façon ?

Dans ce cas, c'est probablement quelque chose que vous devriez envoyer à Chris afin qu'il puisse regarder et voir si c'est quelque chose dans les définitions de certains objets eux-mêmes, ou dans une autre optimisation du jeu lui-même qui doit être effectuée. Les éléments ci-dessus sont à peu près les principaux pièges qu’un véritable concepteur de niveaux pourrait rencontrer en termes de performances.