Eigener Titelbildschirm | Grandrorials

  • i_RMMV


    Hallo, ich bin es wieder mit einem neuen Tutorial! Dieses mal geht es darum einen eigenen Titelbildschirm zu erstellen und dass nur mit der Hilfe von ein paar Events.

    Wie auch sonst, habe ich für euch erst einmal ein Video, damit ihr wisst worauf ihr euch bei mir überhaupt einlasst :P.




    Ich dachte, es wäre cool einfach einen Charakter herumlaufen zu lassen, ein bisschen stimmige Atmosphäre zu schaffen mit Wolken und kleinen Lichteffekten und das ganze mit ruhiger Musik noch abzurunden.

    Doch wie habe ich es gemacht? Seht selbst!


    1) (notwendige) Plugins


    1) Ein beliebiges "Skip Title Screen" Plugin. Zu finden im DLC Ordner: \Steam\steamapps\common\RPG Maker MV\dlc\RPGmakerWeb_plugins\Yami\Yami_SkipTitle notwendig!

    2) YEP_CoreEngine (Zum verändern der Bildschirmgröße auf 1280x720) Zu finden im DLC Ordner: \Steam\steamapps\common\RPG Maker MV\dlc\RPGmakerWeb_plugins\Yanfly\YEP_CoreEngine nicht notwendig, wird hier aber verwendet. 

    3) Preload Manager Zu finden im DLC Ordner: \Steam\steamapps\common\RPG Maker MV\dlc\RPGmakerWeb_plugins\Galenmereth\TDDP_PreloadManager  nicht notwendig, wird hier aber verwendet.



    2) Der Anfang


    Eventseite 1 (Event 1)


    www.bilder-upload.eu



    1) Zuerst habe ich eine Schleife geschaffen, die bis zum Speicherslot 100 abfrägt, ob ein Spielstand existiert. Genauer wird der Vorgang unten erklärt. Und wenn dies nicht der Fall war, wurde ein Bild angezeigt, in dem in dem Fall "Grandro" auf weißem Hintergrund angezeigt wird.

    2) Der Schalter "Anfang" wird dafür verwendet, um die anderen Events zu aktivieren.

    3) Die Variablen "Spieler X" und "Spieler Y" werden für die Bildanzeige des Spielers angezeigt, der dann durch ein anderes Event durch den Screen gelenkt wird. Sie werden so gesetzt, dass der Spieler mittig am Rand ist.

    4) Die Variable "TitelCursor_Pos" ist für die Auswahl von "Neues Spiel", "Spiel Laden", "Optionen" und "Beenden".

    5) Danach werden die Bilder angezeigt, die auf der Karte gebraucht werden. Außer der vom Spieler und "Neues Spiel" usw., denn das wird woanders geregelt. Für die Map gibt es 2 Layer. Eine wird hinter dem Spieler angezeigt (Layer1, Bild ID 1) und die andere vor dem Spieler (Layer 2, Bild ID 3)

    Code
    1. I = 0; // Setzt die Variable I auf 0.
    2. I += 1; // Fügt der Variable I den Wert 1 hinzu.
    3. StorageManager.exists(I); // In einer Bedingung, fragt er damit ab, ob der Spielstand mit der ID von Variable I existiert.
    4. I == 100; // In einer Bedingung, fragt er damit ab, ob die Variable I = 100.

    3) Anzeige und Steuerung


    Eventseite 2 (Event 1)


    www.bilder-upload.eu



    Dieses Event dient dazu, je nachdem welchen Wert die Variable "TitelCursor_Pos" hat, das dementsprechende Bild anzuzeigen:


    1: Neues Spiel

    2: Spiel Laden

    3: Optionen

    4: Beenden


    Wenn die Variable 5 ist, wird sie zurück auf 1 gesetzt.

    Wenn die Variable 0 ist, wird sie zurück auf 4 gesetzt.


    Eventseite 1 (Event 2)


    www.bilder-upload.eu



    Dieses Event übernimmt die Steuerung, von dem was in Event 1 angezeigt wird.


    Links : Variable "TitelCursor_Pos" - 1

    Rechts: Variable "TitelCursor_Pos" + 1


    Außerdem werden noch die verschiedenen Szenen aufgerufen, wenn die Aktionstaste gedrückt wurde. Außer bei Neues Spiel, da fehlt noch das "Spieler teleportieren zu Karte [...]".

    Code
    1. SceneManager.push(Scene_Load); // Öffnet das "Spielstand Laden"- Menü
    2. SceneManager.push(Scene_Options); // Öffnet das "Optionen"- Menü
    3. window.close(); // Beendet das Spiel (Auch das beste Spiel muss einmal geschlossen werden :P)


    4) Aktion auf der Karte (In dem Fall: Bewegung des Spielers, Wolke)


    Was auf der Karte passiert ist eure Entscheidung. Ich habe in diesem Beispiel einfach 3 Bilder von dem Spieler genommen (3 Frames Animation) und hab ihn damit durch den Wald laufen lassen. Theoretisch kann dort aber so ziemlich alles passieren. Es muss halt nur zu eurem Spiel passen!


    Eventseite 1 (Event 3)


    www.bilder-upload.eu



    Dieses Event steuert die Bewegung des Spielers bzw. des Bildes.

    Das ganze Event ist eigentlich nur eine gesamte Abfolge von Schleifen.

    Beispiel:


    Schleife

    Wenn Spieler X <= 400

    Schleife unterbrechen

    ansonsten

    - Läuft weiter nach rechts (Laufanimation, X veränderung)


    Und dasselbe dann auch mit Y


    Ganz am Ende wird dann X und Y des Spielers wieder zurückgesetzt.


    Eventseite 1 (Event 4)


    www.bilder-upload.eu



    In diesem Event wird die Wolke angezeigt. "Die Wolke" ist übrigens auch ein sehr empfehlenswertes Buch... Okay, zurück zum Thema!


    1) Die X Variable der Wolke (Zufall X) wird auf einen Wert gesetzt, auf dem die Wolke noch nicht zu sehen ist (-700)

    2) Die Y Variable der Wolke (Zufall Y) wird auf einen Wert gesetzt, auf dem die Wolke zu sehen ist (-150 bis 680)

    3) In einer Schleife wird abgefragt, ob die Wolke am anderen Bildschirmrand angekommen ist und nicht mehr zu sehen ist (>= 1681)

    4) Die Wolke wird auf X und Y angezeigt und die X Variable wird stetig erhöht.


    5) Downloadlink


    http://www.mediafire.com/file/…utorial+%28Grandro%29.zip


    In dem Projekt sind keine RTP-Dateien enthalten


    6) Ende


    Das war es auch schon wieder. Ich hoffe alle Schritte waren nachvollziehbar und gut erklärt. Man sieht sich dann bald mal wieder, zu einer etwas spezielleren Idee, insofern keine Tutorialwünsche bestehen.



    -Grandro




  • Hmm, was es bringen soll das ganze in ein Common Event zu hauen, verstehe ich nicht. Mapübergreifung braucht man ja nicht, da das Menü eh nur auf einer Map stattfindet.

    Außerdem bräuchte man dann ziemlich viele Common Events, wenn man das ganze dann noch Ausschmücken will mit anderen Animationen und Ereignissen.


    Außerdem hätte ich folgende Verbesserungsvorschläge:


    - Anstatt der ganzen Schalter mit Titel Optionen, Titel Beenden, [...] einfach eine Variable benutzen. Das verbraucht viel weniger Ressourcen und auch weniger Befehle.

    - Wait-Befehle hinter der Steuerung von den Menüpunkten. Sonst ist das eher unkontrollierbar. Ich empfehle da 6-10 frames. (Das führt aber dazu, dass das Menü nicht mehr flüssig läuft, eben wegen dieser Wartezeit bevor die Bilder aktualisiert werden).

    Deswegen packe ich Steuerung und Anzeige immer in verschiedene Events.

    - Habe ich bei mir zwar glaube ich auch nicht, aber ein Wait 1 ganz am Ende des Events vermindert meistens die Chance, dass es zu Lags kommt.

  • Dadurch, dass es in einem Allgemeinen Event ist, kann man im Hintergrund per parallelen Prozess auf der Map ebenfalls Events ablaufen lassen und wie gesagt sogar auf einer andere Maps überwechseln, ohne das Event neu laden zu müssen - für den Fall, dass man mehr als nur einen Hintergrund zeigen möchte.


    Zu meinem Event kann ich nur sagen - ja es ginge auch mit einer Variable und viele Wege führen nach Rom.

  • Ja, nur manche Wege führen leider nicht nach Rom, sondern nach Bratislava. Es heißt ja nicht umsonst "Verbesserungsvorschläge".

    Ich habe nichts dagegen, wenn du deine Events lieber unnötig umständlich aufbauen willst, aber auf die wirklich Qualitätserhöhenden Tipps hättest du ruhig eingehen können.


    Das man mehrere Maps braucht um andere Hintergründe anzuzeigen, verstehe ich immer noch nicht. Immerhin kann man doch einfach ein Bild von der Map anzeigen, bzw., wenn man unbedingt mappen will, einfach den Spieler wo anders auf die selbe Map teleportieren und gegebenenfalls das Kachelset ändern.