J'ai vu que la symétrie et la cohérence sont importantes dans la conception de niveaux RTS, mais je suis paresseux et je veux faire des niveaux générés de manière procédurale.
Comment puis-je m'assurer de générer des règles du jeu équitables lors de la création procédurale de niveaux pour un RTS?
procedural-generation
level-design
rts
balance
James Pae
la source
la source
Réponses:
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:
la source
Dans certains cas, il pourrait être possible de s'appuyer sur les joueurs eux-mêmes pour créer des cartes asymétriques équilibrées en utilisant la mécanique de manipulation des tuiles.
À une extrémité du spectre, vous pouvez permettre aux joueurs de créer la carte, partiellement ou entièrement, en sélectionnant et en plaçant des tuiles de carte. Il y a un tas de façons différentes que cela pourrait être modifié:
À l'autre extrémité du spectre de manipulation des tuiles, les joueurs peuvent manipuler des tuiles de carte. Dans cette solution, le jeu démarre avec une carte initiale. La carte initiale pourrait être symétrique ou pourrait être «assez juste» en utilisant l'une des autres réponses.
Ensuite, une phase de manipulation de carte se produit au cours de laquelle les joueurs peuvent effectuer certaines des opérations suivantes:
Ces manipulations pourraient être exécutées une par une, auquel cas un joueur aurait une chance de réagir aux manipulations d'un autre joueur, ou le joueur pourrait faire la queue d'une liste de changements qui seront exécutés. De plus, vous pouvez permettre aux joueurs de manipuler la carte entière ou de restreindre les choses à leurs zones de départ.
Un inconvénient de cette approche est que le résultat final doit être protégé contre les résultats indésirables - c'est-à-dire la manipulation d'une chaîne de montagnes impraticable de telle sorte qu'une partie de la carte devient inaccessible. Les solutions possibles à cet inconvénient sont:
la source
Demandez à votre algorithme de génération de carte de générer des niveaux symétriques en générant un niveau, en le reflétant et en plaçant chaque joueur d'un côté. Une carte à quatre joueurs peut être créée en la mettant en miroir sur les axes x et y.
De cette façon, la carte sera également bonne (ou mauvaise) pour tous les joueurs. Un effet secondaire dont vous devez être conscient est que cela signifie que les joueurs sont conscients de la position des autres joueurs et de la disposition des autres parties de la carte après avoir exploré la leur.
Une autre option consiste à générer une carte sans cette astuce de symétrie, mais ensuite à montrer toute la carte aux joueurs et à chaque joueur de choisir librement son emplacement de départ.
la source
Une approche consiste à utiliser d'autres facteurs pour équilibrer la carte. Vous pourriez être en mesure d'automatiser cela en utilisant des algorithmes d'analyse de carte et en fournissant des ressources de démarrage supplémentaires aux emplacements jugés défavorisés. Alternativement, vous pouvez utiliser les joueurs eux-mêmes pour cette étape. Un exemple actuel de ceci est l'utilisation d' enchères inversées en mode révélation dans Offworld Trading Company (OTC) pour fonder votre réclamation initiale (c'est-à-dire choisir un emplacement de base de départ):
Je ne me souviens pas s'il s'agissait de l' interview de 3 Moves Ahead ou Game Design Round Table , mais dans l'un d'eux, Soren Johnson (le développeur) dit que ce mécanicien change essentiellement le problème de la carte de "puis-je trouver le meilleur emplacement en premier" en " quelle est la 2e meilleure position sur la carte. "
Un avantage est que cette solution permet des cartes très asymétriques. Un inconvénient est que la carte entière est révélée à tous les joueurs, au moins au début. L'approche OTC révèle également les emplacements des bases de joueurs. D'autres mécanismes, comme les enchères à l'aveugle, pourraient éviter de révéler les emplacements de base.
la source