Facilitez-vous la vie Construisez un éditeur de niveau

La création de contenu peut être l'une des parties du développement de jeux qui prend le plus de temps. C'est pourquoi la création d'un éditeur de niveaux peut être si utile. Dans cet article, je vais partager mes astuces pour créer un éditeur de niveau efficace et expliquer en quoi l'utilisation de ce type d'outil a accéléré mon flux de travail..


introduction

Voici le scénario: vous avez passé des mois à travailler sur votre jeu et il commence enfin à se concrétiser. La base de code est forte et vous êtes arrivé au point où vous pouvez commencer à créer des niveaux pour votre jeu..

Il n'y a qu'un seul problème - votre fichier de niveau ressemble à ceci:

 Objet Texture rocks4 Position 78 540 Rotation 0 Échelle 1 1 Couleur 255 255 255 255 ScrollSpeed ​​1 1 CustomProperties End End Texture grass1 Position 60 450 Rotation 0 Échelle 1 1 Couleur 255 255 255 255 ScrollSpeed ​​1 1 CustomProperties End End Texture grass grass1 Position 622 Rotation 0 Échelle 1 1 Couleur 255 255 255 255 ScrollSpeed ​​1 1 CustomProperties End End

Beurk. Imaginez que vous essayez de créer des niveaux entiers comme celui-ci. Le processus serait incroyablement lent et prendrait beaucoup de temps - sans parler de frustrant. Le problème est qu’il est très difficile d’éditer quelque chose qui est censé être vu. Que peut-on alors faire à ce sujet? La réponse, étonnamment, réside dans le contexte du problème lui-même.

Les niveaux sont une forme de visuel la communication. Les joueurs ne consultent pas de fichiers texte, mais des images, des sprites, des animations, etc. Pensez à un peintre: Picasso n'a pas réalisé ses peintures en insérant des valeurs RVB par pixel dans un ordinateur. Il a fait ses peintures en les peignant. Pour appliquer la même logique à la conception de niveau, nous devons créer un outil qui nous permettra de modifier visuellement de tels niveaux: un éditeur de niveau..

L'un des avantages les plus importants d'un éditeur de niveau est la commodité de WYSIWYG ("Ce que vous voyez est ce que vous obtenez" - ce que vous voyez dans l'éditeur correspond à ce que vous obtiendrez dans le jeu). Comme décrit ci-dessus, il est beaucoup plus facile de concevoir quand vous pouvez voir ce que vous éditez.

Un autre avantage est qu'il permet une itération de conception plus rapide et plus efficace. Le processus de conception de niveau peut être décomposé en un simple organigramme comme celui-ci:

Il est essentiel que vous puissiez passer de manière transparente entre les phases de conception et de test, car cela permet des itérations plus rapides et moins de temps total.

La dernière raison d'avoir un éditeur de niveau est que cela rend le travail de conception de niveau beaucoup moins technique. Ceci est particulièrement pertinent lorsque vous travaillez en équipe: imaginez envoyer le fichier texte ci-dessus aux artistes et leur dire de définir les niveaux dans ce format.!

Une bonne communication - verbale et visuelle - est essentielle au sein d'une équipe et un éditeur de niveau peut faciliter la vie des concepteurs non techniques, tout en supprimant un obstacle potentiel à la communication entre eux et les développeurs..

Donc, en résumé, les trois principales raisons d’avoir un éditeur de niveaux sont qu’elles vous permettent de:

  1. Concevoir visuellement
  2. Itérer plus efficacement
  3. Être moins technique

Pourquoi ne pas utiliser un éditeur existant?

Vous vous demandez peut-être pourquoi vous voudriez créer votre propre éditeur alors qu’il en existe déjà un grand nombre qui sont librement disponibles - et je ne vais pas vous mentir, il existe d’excellents éditeurs..

Voici quelques exemples que je connaisse pour les jeux 2D:

  • Carrelé
  • Ogmo
  • GLEED2D
  • Tout le monde éditeur de plateforme

L'utilisation d'un éditeur générique existant présente des avantages et des inconvénients. Il est susceptible d'être robuste et bien entretenu, mais il ne connaît pas votre jeu. Vous devrez donc peut-être faire des astuces intelligentes pour qu'il interagisse correctement avec votre jeu. Cela creuse le temps d'itération et peut entraîner beaucoup plus de temps inutile lors de la création du contenu.

De plus, vous devez apprendre à l'utiliser, alors que si vous utilisez votre propre éditeur, vous en savez évidemment déjà tout..

Voici ma liste personnelle d'avantages et d'inconvénients pour chaque type d'éditeur:

Pré-construit:

  • Pro: Robuste et bien entretenu
  • Pro: Moins de code pour vous écrire
  • Con: Doit apprendre à utiliser
  • Con: Peut avoir des limites avec la conception de votre jeu

Auto-créé:

  • Pro: Personnalise exactement le fonctionnement de ton jeu
  • Pro: Vous savez déjà comment l'utiliser
  • Con: Plus de temps de développement pour construire l'éditeur

C'est à vous de décider, mais dans l'intérêt de cet article, je vais me concentrer sur la conception de votre propre.

Ensuite, je partagerai mes meilleurs conseils pour créer un éditeur de niveau robuste et efficace..


Astuce 1: Code de réutilisation

Vous risquez de vous plaindre du fait que vous devrez écrire plus de code pour un éditeur de niveau. Mais pourquoi ne pas rendre ce processus aussi indolore que possible?

Si vous êtes sur le point d'avoir besoin d'un éditeur de niveau, vous avez probablement déjà un peu de structure dans votre architecture de jeu (classes, interfaces, héritage, etc.). Réutilisez ce code! Si vous avez déjà plusieurs classes pour dessiner et mettre à jour des éléments du jeu, vous n'avez pas besoin de les réécrire pour l'éditeur. En d'autres termes, n'écrivez pas un moteur distinct pour l'éditeur. En plus de vous permettre de réutiliser le code du jeu, cela vous aidera à réduire l’écart entre l’apparence du niveau dans votre éditeur et celui du jeu..

Il existe deux approches pour implémenter un éditeur de niveaux: vous pouvez l'avoir dans le jeu ou le construire en tant qu'application externe. Encore une fois, les deux approches ont leurs hauts et leurs bas.

L'éditeur intégré au jeu réduirait essentiellement l'écart entre la conception et les tests, mais nécessiterait beaucoup plus de travail d'interface graphique, par exemple. L'éditeur externe pourrait utiliser des bibliothèques d'interface graphique utilisateur et disposer de fonctionnalités robustes, mais l'itération test de conception serait légèrement plus longue, étant donné qu'il faudrait basculer constamment entre deux applications différentes.

Personnellement, je préfère la première approche parce que je pense que c'est le plus naturel et j'aime vraiment l'avantage de pouvoir basculer instantanément entre la conception et les tests..


Astuce 2: Favoriser l'efficacité par rapport à l'esthétique

N'oubliez pas que cet éditeur est pour vous (ou votre concepteur de niveau, si vous travaillez en équipe). Il n'y a pas besoin de le rendre joli. En fait, c'est probablement une perte de temps, sauf si vous envisagez de distribuer l'éditeur. Au lieu de cela, concentrez-vous sur la création d'un éditeur de niveau fonctionnel le plus rapidement possible pour pouvoir accéder à la création de contenu. (Plus tard, lorsque votre jeu sera presque terminé, vous pourrez envisager des choses comme "embellir" l'éditeur.)

Cela peut sembler évident, mais les raccourcis sont tes amis. Ayez une clé liée à chaque action que vous pensez pouvoir faire. Je suis serieux; vous économiserez ainsi beaucoup de temps lors de la conception. Par exemple, appuyer sur "C" dans l'éditeur de niveau de mon jeu crée une copie de l'objet actuellement sélectionné. C'est simple, mais extrêmement utile et permet de gagner beaucoup de temps.

A titre d'exemple, laissez-moi vous montrer l'éditeur de mon jeu en développement, Mori. Voici une vignette que j'ai tournée et redimensionnée:

Tout ce que je dois faire, c'est appuyer sur 'C' et… voila!


Astuce 3: Rappelez-vous que c'est pour Votre Jeu

C’est la belle partie de la conception de votre propre éditeur: il peut faire tout ce que vous voulez..

Chaque jeu est différent. certains jeux requièrent des scripts approfondis, tandis que d'autres peuvent impliquer des comportements complexes d'IA. Tous ces éléments peuvent être intégrés à l'éditeur. Imaginez pouvoir ajouter un ennemi avec un certain comportement en appuyant simplement sur quelques touches dans l'éditeur. Maintenant, imaginez que vous essayez de faire la même chose en ajoutant du code à un fichier de script. Ce qui semble plus efficace?


Astuce 4: Facilitez-vous la vie

Il existe certaines conventions auxquelles nous sommes habitués lors de l'utilisation d'applications. Celles-ci incluent des fonctionnalités telles que les fonctions annuler / rétablir, copier / coller, les messages d’avertissement, etc. Si vous planifiez correctement, vous pouvez les implémenter dans votre éditeur sans trop de travail supplémentaire. Croyez-moi, vous vous remercierez à l'avenir si vous avez ces.

Une autre fonctionnalité qui peut vous faciliter la vie est la possibilité de tester des niveaux sans enregistrer le fichier sur le disque. Cela facilite grandement le processus de test de conception. Mon jeu utilise un système de gestion de l'état des jeux. J'ai donc deux "écrans" distincts pour le jeu et l'édition..

Depuis le jeu, je frappe une touche pour entrer dans l'éditeur. L'éditeur reçoit l'objet level, qui peut ensuite être manipulé depuis l'éditeur. De là, j'ai deux options: je peux enregistrer le niveau sur le disque ou appuyer sur une certaine touche et transmettre l'objet de niveau. retour à l'écran de jeu. Cela me permet de tester le niveau immédiatement sans craindre de remplacer mes anciennes modifications..


Conclusion

En bref, un éditeur de niveau représente un investissement rentable dans le processus de développement de jeux. Il permet une conception visuelle des niveaux, des temps d’itération plus courts et un besoin en compétences techniques moindre pour les concepteurs..

J'espère que vous avez trouvé cet article intéressant et utile. Merci d'être passé!