Trainingsprojekt bei Godot - Pong (Teil 1) Erstellen und Anpassen einer Gameplay-Szene

Ich grüße dich, Chabrowiten! Wie am Ende des letzten Artikels versprochen, wandte ich mich der Spiel-Engine zu. Es stimmt, ich mochte Godot mehr.



Warum? Das Thema für einen separaten Artikel ist Reflexion, aber ich weiß nicht, wie ich lange denken und insbesondere denken soll.


Trotz der Tatsache, dass Pong auf der Liste der vorgeschlagenen Motortrainingsprojekte steht, habe ich beschlossen, damit zu beginnen. Erstens - das ist das einfachste Spiel, das mir in den Sinn gekommen ist. Zweitens ist das in den Schulungsunterlagen vorgeschlagene Pong stark modernisiert. Ich möchte es so nah wie möglich an das Original bringen.


Aus Gründen der Seltsamkeit des Lernens habe ich beschlossen, es mit den integrierten visuellen Programmierwerkzeugen zu erstellen, die ich zum ersten Mal mache.


Achtung! Unter dem Schnitt viele Screenshots.

Da der Quellcode dieses Projekts niemandem gehört, habe ich ihn auf GitHub gepostet.
Und an alle, die meine willkommene Erfahrung unter Katze lesen möchten.


Ich habe mit der Erstellung des Projekts begonnen. Der Vorteil hierbei ist, dass sich dieser Prozess nicht grundlegend von anderen Programmiersprachen oder Spiel-Engines unterscheidet:


  • Sie können einen Ordner auswählen, in dem alle Projektdaten gespeichert werden

Bildschirm


zweiter Bildschirm


  • Dieser Ordner muss zum Zeitpunkt der Projekterstellung leer sein.

Bildschirm


zweiter Bildschirm


  • Wenn dieser Ordner nicht leer ist, können Sie einen neuen Ordner erstellen

Bildschirm


zweiter Bildschirm


Das einzige nicht standardmäßige Element ist die Möglichkeit, beim Erstellen eines Projekts eine Grafikbibliothek auszuwählen. Entsprechend dem Projekterstellungsfenster kann diese Einstellung jedoch später geändert werden, Sie müssen jedoch möglicherweise die Szenen neu konfigurieren.


Bildschirm


Weitere Informationen zum Unterschied zwischen Version 2 und 3 finden Sie in der Engine-Dokumentation . Eine Liste der Geräte, die verschiedene Versionen der Bibliothek unterstützen, finden Sie auf Wikipedia .


Menschen, die Schwierigkeiten mit Englisch haben

Ich würde empfehlen, diese Schwierigkeiten so schnell wie möglich zu beheben, aber im Moment kann die Motorschnittstelle in übersetzt werden Kurve Russische Sprache, aber ich werde das nicht tun.


Nach der Gesamtheit der oben genannten Artikel, wenn ich meine spielen möchte ein Meisterwerk Auf meinem RaspberryPI 3 muss ich OpenGL ES 2.0 verwenden. Also habe ich es getan. Zumal ich nicht vorhabe, die Funktionen der dritten Version der Bibliothek zu nutzen.


Das Engine-Fenster wird standardmäßig im 3D-Modus geöffnet. Links und rechts vom Hauptfenster befinden sich die Felder für Hilfsfenster. Der Hauptteil des Fensters wird angezeigt: 2D-Szene, 3D-Szene, Skripteditor oder Asset Store. Abhängig vom ausgewählten Modus.


Bildschirm


In der Benutzeroberfläche befindet sich standardmäßig oben links die Registerkarte "Szene" in Unity. Das Gegenstück heißt "Hierarchie".
Diese Registerkarte zeigt alle Objekte in der Szene an, die in einer Baumstruktur organisiert sind . Beim Erstellen eines Projekts sind dort keine Knoten vorhanden, und es gibt einen Hinweis zum Erstellen eines Stammknotens.


Bildschirm


Pong - das Spiel ist zweidimensional und daher ist der Wurzelknoten "2D-Szene". Dadurch wird der Hauptteil des Fensters automatisch in den 2D-Modus versetzt. Durch einen Doppelklick mit einer Pause oder die Wahl der Umbenennung im Kontextmenü können Sie den Namen des Knotens ändern (Hinweis f2 führt hier eine weitere Aktion aus). Ich werde meine "World2D" nennen.


Dann ist es Zeit zu sparen.


Bildschirm


Ich habe einen separaten Ordner für Szenen im Projektordner erstellt, da ich mindestens eine weitere Szene für das Startmenü erstellen möchte. Und im Moment enthält der Projektordner Standarddateien und ich möchte die von mir erstellten Ressourcen nicht mit ihnen verwechseln.


Bildschirm


Der Name für die einzige Spielszene, die ich normalerweise benutze, ist "Main". Die Engine bietet drei Formate zum Speichern der Szene, in der Dokumentation wird jedoch nur TSCN beschrieben.
Ich bin wie ein Mann aufrecht Der Neugierige hat die Szene in allen drei Formaten gespeichert und sichergestellt, dass die beiden anderen Dateien binär sind. Dies überzeugte mich von der Zweckmäßigkeit, die Szenen im TSCN-Format zu speichern.


Bildschirm


Der nächste Schritt besteht darin, das Erscheinungsbild der Szene anzupassen.


Hier können Sie alle notwendigen Einstellungen ändern.


Bildschirm


Mit dieser Einstellung können Sie die Hintergrundfarbe der Szene ändern. (Pong hat schwarzen Hintergrund)


Bildschirm


Und auf dieser Registerkarte empfehle ich Ihnen, alle Einstellungen auszuprobieren und herauszufinden, was sie tun. Achten Sie besonders auf das Verhalten des Stretch-Blocks, wenn Sie das Spielfenster im Debugger ändern. Um die Änderungen zu sehen, können Sie der Szene zunächst ein beliebiges Bild hinzufügen, z. B. das Godot-Symbol.


Bildschirm


Ich weiß bereits, wie die Szene meiner Version von Pong aussehen sollte und wie die Einstellungen auf dem nächsten Bildschirm aussehen sollten.


Bildschirm


Und natürlich habe ich diese Einstellungen nicht von der Decke genommen. Und er schaute auf den Bildschirm des ursprünglichen Spiels und sah, dass der kleinste Wert dort die Breite des Gitters war. Die Höhe der Linie, die das Gitter symbolisiert, betrug etwa das Dreifache ihrer Breite. Und es gab 30 solcher Linien, die durch Lücken von der gleichen Länge wie die Linie getrennt waren. Bei was waren die Lücken auch 30 Stück.


Beweis

Wenn wir die Rasterbreite für ein Pixel nehmen, erhalten wir die Bildschirmhöhe 3 * 2 * 30 = 180.
Da ich immer noch ein Spiel für moderne Monitore machen möchte und die meisten modernen Monitore ein Seitenverhältnis von 16: 9 haben, sollte die Breite 180/9 * 16 = 320 betragen.


Ich denke, es lohnt sich, diesen Teil zu vervollständigen. Im nächsten Teil werde ich lernen, wie man einen Ball erstellt und sein Verhalten beschreibt. Vielen Dank für Ihre Zeit und warten auf Ihre Kritik in den Kommentaren.

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


All Articles