Personnellement, je trouve ennuyeux la symétrie dans la conception de niveaux, et je ne pense pas que ce soit nécessairement le cas pour des niveaux équitables; la symétrie est un moyen de garantir que tout le monde a accès aux mêmes ressources et aux mêmes goulots d'étranglement en vertu du niveau littéralement reflété pour chaque joueur d'une manière ou d'une autre. Je pense que la partie importante est l'accès (à peu près) aux mêmes avantages et inconvénients. Pas tellement la symétrie elle-même.
Je pense aussi qu'un jeu équilibré de telle sorte que toutes les équipes sont de puissance équivalente et ont des opportunités équivalentes est ennuyeux. Vous ne voulez évidemment pas un déséquilibre total de ces facteurs, mais je pense que cela peut créer une dynamique de jeu intéressante pour offrir à chaque camp des opportunités et des obstacles légèrement différents.
C'est le genre de contexte de conception auquel je pense comme encadrant la réponse réelle à la question:
Si la symétrie est vraiment importante pour vous, vous pouvez simplement générer procéduralement un bloc de niveau, puis refléter ce niveau sur les deux axes. Le morceau que vous générez est essentiellement un quart du niveau et vous le mettez en miroir de sorte que chaque quadrant est le même. Par exemple, une carte de hauteur procédurale avec des gisements de ressources dispersés de manière aléatoire:
Mais comme je l'ai dit plus haut, cela semble terne. Une approche plus intéressante pourrait être de générer le terrain entier de manière procédurale, mais lors du placement des ressources, assurez-vous de contraindre chaque quadrant à avoir le même nombre de chacun (dans une certaine tolérance pour fournir une certaine variabilité). Vous voudrez peut-être biaiser le placement de divers types de ressources vers différentes zones (au hasard, près des points de départ, près des frontières) en fonction de l'importance des ressources. Par exemple:
Vous pouvez effectuer une analyse sur l'image générée pour essayer de trouver des bords d'entités - des canyons étroits, par exemple, qui peuvent être considérés comme des goulots d'étranglement. Vous pouvez décider de relancer la génération de terrain pour une partie de la carte si, par exemple, elle a beaucoup plus ou beaucoup moins de goulots d'étranglement ou de caractéristiques de terrain détectables de manière similaire que d'autres. Vous pouvez également effectuer une analyse de terrain similaire pour vous assurer que chaque ressource placée est, d'une certaine manière, accessible.
Par exemple, vous pouvez décider de relancer le quadrant inférieur gauche car il contient trop d'eau (en rouge) ou les quadrants contenant le vert car ils sont trop avantageux sur le plan tactique (goulots d'étranglement potentiels du canyon):
Vous pouvez également choisir de guider manuellement la génération de vos fonctionnalités; vous pouvez placer manuellement certains éléments, tels qu'une rivière divisant les sections du niveau ou des dépôts de ressources clés, et exécuter la génération procédurale par la suite de manière à préserver les fonctionnalités d'équilibrage des clés placées à la main tout en offrant la variété intéressante et organique que vous souhaitez. de génération procédurale.
Par exemple, un terrain généré qui préserve une rivière placée manuellement divisant la carte en deux et un couvert boisé a fourni une défense supplémentaire autour des bases: