Projet de formation à Godot - Pong (Partie 1) Création et personnalisation d'une scène de gameplay

Je te salue, Khabrovites! Comme promis à la fin du dernier article , j'ai tourné les yeux vers le moteur de jeu. C'est vrai, j'aimais plus Godot.



Pourquoi? Le sujet d'un article séparé est la réflexion, mais je ne sais pas penser longtemps et surtout penser.


Malgré le fait que Pong soit sur la liste des projets de formation de moteurs proposés, j'ai décidé de commencer par cela. Tout d'abord - c'est le jeu le plus simple qui me soit venu à l'esprit. Deuxièmement, le Pong proposé dans les supports de formation est très modernisé. Je veux le rendre aussi proche de l'original que je peux l'imaginer.


Pour l'étrangeté de l'apprentissage, j'ai décidé de le créer à l'aide des outils de programmation visuelle intégrés, ce que je fais pour la première fois.


Attention! Sous la coupe, beaucoup de captures d'écran.

Comme le code source de ce projet n'appartient à personne, je l'ai posté sur GitHub .
Et à tous ceux qui souhaitent lire mon expérience de bienvenue sous cat.


J'ai commencé par la création du projet, l'avantage ici est que ce processus ne diffère pas fondamentalement des autres langages de programmation ou moteurs de jeu:


  • Vous pouvez choisir un dossier où toutes les données du projet seront stockées

écran


deuxième écran


  • Ce dossier doit être vide au moment de la création du projet.

écran


deuxième écran


  • Si ce dossier n'est pas vide, vous pouvez créer un nouveau dossier

écran


deuxième écran


Le seul élément non standard est la possibilité de sélectionner une bibliothèque graphique lors de la création d'un projet. Cependant, selon la fenêtre de création de projet, ce paramètre peut être modifié ultérieurement, mais vous devrez peut-être reconfigurer les scènes.


écran


Vous pouvez en savoir plus sur la différence entre les versions 2 et 3 dans la documentation du moteur , et des listes de périphériques prenant en charge différentes versions de la bibliothèque peuvent être trouvées sur Wikipedia .


Les personnes ayant des difficultés avec l'anglais

Je recommanderais de traiter ces difficultés dès que possible, mais pour l'instant l'interface du moteur peut être traduite en courbe Langue russe, mais je ne le ferai pas.


Selon la totalité des articles ci-dessus, si je veux jouer mon un chef-d'œuvre sur mon RaspberryPI 3, je dois utiliser OpenGL ES 2.0. Alors je l'ai fait. D'autant plus que je ne compte utiliser aucune des capacités de la troisième version de la bibliothèque.


La fenêtre du moteur s'ouvre par défaut en mode 3D. À gauche et à droite de la fenêtre principale se trouvent les champs des fenêtres auxiliaires. La partie principale de la fenêtre affiche: scène 2D, scène 3D, éditeur de script ou magasin de ressources. Selon le mode sélectionné.


écran


Dans l'interface, par défaut, en haut à gauche se trouve l'onglet "Scène" dans Unity, son équivalent est appelé "Hiérarchie".
Cet onglet affiche tous les objets de la scène organisés en arborescence . Lors de la création d'un projet, il n'y a pas de nœuds et il existe un conseil pour créer un nœud racine.


écran


Pong - le jeu est en deux dimensions et donc le nœud racine sera "Scène 2D", ce qui a automatiquement transféré la partie principale de la fenêtre en mode 2D. Un double clic avec une pause ou le choix de renommer dans le menu contextuel vous permet de changer le nom du noeud (note f2 effectue ici une autre action). Je vais nommer mon "World2D".


Il est alors temps d'économiser.


écran


J'ai créé un dossier séparé pour les scènes dans le dossier du projet, car je prévois de créer au moins une scène de plus pour le menu Démarrer. Et en ce moment, le dossier du projet contient des fichiers standard et je ne veux pas confondre les ressources que j'ai créées avec eux.


écran


Le nom de la seule scène de jeu que j'utilise habituellement est "Main". Le moteur propose trois formats pour enregistrer la scène, mais seul TSCN est décrit dans la documentation .
Je suis comme un homme debout l'inquisiteur a enregistré la scène dans les trois formats et s'est assuré que les deux autres fichiers sont binaires. Cela m'a convaincu de l'opportunité de stocker les scènes au format TSCN.


écran


L'étape suivante consiste à ajuster l'apparence de la scène.


Ici, vous pouvez modifier tous les paramètres nécessaires.


écran


Ce paramètre vous permet de modifier la couleur d'arrière-plan de la scène. (Pong a un fond noir)


écran


Et sur cet onglet, je vous conseille d'essayer tous les paramètres et de comprendre ce qu'ils font. Portez une attention particulière au comportement du bloc Stretch lors du changement de la fenêtre de jeu dans le débogueur. Pour voir les changements, vous pouvez d'abord ajouter une image à la scène, par exemple, l'icône Godot.


écran


Je sais déjà à quoi devrait ressembler la scène de ma version de Pong et les paramètres devraient être comme sur l'écran suivant.


écran


Et bien sûr, je n'ai pas pris ces paramètres du plafond. Et il a regardé l'écran du jeu original et a vu que la plus petite valeur était la largeur de la grille. La hauteur de la ligne symbolisant la grille était environ trois fois sa largeur. Et il y avait 30 lignes de ce type, séparées par des espaces de même longueur que la ligne. À ce que les lacunes étaient également de 30 pièces.


preuve

Si nous prenons la largeur de la grille pour un pixel, nous obtenons la hauteur d'écran 3 * 2 * 30 = 180.
Comme je veux toujours faire un jeu pour les moniteurs modernes, et que la plupart des moniteurs modernes ont un rapport d'aspect de 16: 9, la largeur devrait être de 180/9 * 16 = 320.


À ce sujet, je pense qu'il vaut la peine de terminer cette partie, dans la prochaine, j'apprendrai à créer une balle et à décrire son comportement. Merci pour votre temps, en attendant vos critiques dans les commentaires.

Source: https://habr.com/ru/post/fr464847/


All Articles