Ergebnis 1 bis 20 von 296

Thema: Detail-Wissen und Geheimnise des RPG-Makers -vorallem für Erfahrene/Profis lehrreich

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    Detail-Wissen und Geheimnise des RPG-Makers -vorallem für Erfahrene/Profis lehrreich

    Vorwort:

    Ich habe mich mal dazu entschieden einen etwas anderen Hilfe-Thread zu machen, der weniger die Funktionen des Makers beschreibt, sondern auf ein paar Kleinigkeiten aufmerksam macht, die einem vielleicht nicht so schnell auffallen würden...

    Deswegen gilt:
    Dieser Thread ist NICHT für Neulinge gedacht, sondern sollte nur für die interessant sein, die sich wirklich intensiv mit dem Maker beschäftigen (und das seit längerer Zeit)
    Mit den meisten Infos werden die Neuen sowieso wenig anfangen können ^^°

    also...

    Viele Sachen hier dürften einigen hier schon recht klar sein. Aber wenn hier nicht auch nur EINE Sache ist, die euch NEU ist, seit ihr WIRKLICH gut mit dem RPG-Maker! Also lest euch das ganze mal durch...

    Hier geht's los:

    Als erstes habe ich mal nachgestest wie "Lange" eigentlich dies und jenes in "Wait"-Zeit (die Zeit, die mit der Funktion "Wait" totgeschlagen wird) dauert. Ich bin so auf folgende Ergebnisse gekommen:

    Erstmal für alle die, die es nicht wissen: Wenn man mit der Funktion "Wait" einen Wert von 0,0 tangibt, ist das sehr wohl eine warte Zeit... eine SEHR Kurze..
    Man hat mir zwar gesagt, dass die Länge dieser Wartezeit von der Leistung des Rechners abhängt, allerdings hab ich es sehr ausgiebig getestet, auch mit umständen, wo das gesamte Spiel geruckelt hat. Ich habe zwei parallele Events nach einer Warte-Zeit einen Ton-Abspielen lassen (natürlich zwei verschiedene)
    Das eine hat nach 0,1 Sekunden Wartezeit den Ton abgespielt... das andere nach 6x 0,0 Sek Wartezeit... Und egal, wie viele Parallel-Events ich hinzugefügt habe, selbst als das Spiel schon stark geruckelt hat:
    Die Töne kamen IMMER gleichzeitig...
    Daraus folge ich mal:


    Ein Wait mit 0,1 Sekunden ist = 6 Waits mit 0,0 Sekunden


    Des Weiteren hab ich versucht herauszufinden, wie lange ein "Schritt" in einem Move-Event je nach Geschwindigkeit in "Wait"-Zeit dauert...
    Ich kam zu folgendem Ergebnis:


    Ein Schritt mit der Geschwindigkeit "Normal" dauert In "Wait": "0,1 Sek" + 2x "0,0 Sek" (also 8x 0,0 Sek)
    Ein Schritt mit der Geschwindigkeit "2xSlower" dauert In "Wait": "0,2 Sek" + 4x "0,0 Sek" (also 16x 0,0 Sek)
    Ein Schritt mit der Geschwindigkeit "4xSlower" dauert In "Wait": "0,4 Sek" +8x "0,0 Sek" (also 32x 0,0 Sek)
    Ein Schritt mit der Geschwindigkeit "8xSlower" dauert In "Wait": "0,8 Sek" +16x "0,0 Sek" (also 64x 0,0 Sek)
    Ein Schritt mit der Geschwindigkeit "2xFaster" dauert In "Wait": 4x "0,0 Sek"
    Ein Schritt mit der Geschwindigkeit "4xFaster" dauert In "Wait": 2x "0,0 Sek"


    Was ich eigentlich schon seit längerer Zeit weiß, was ich aber hier noch mal passend erwähnen will ist das Verhältnis von Battle-Animation-Frames zur Wait-Zeit

    Es ist (so ziemlich GENAU):
    3 Frames pro 0,1 Sekunde "Wait"-Zeit
    (eine Battle-Animation kann so maximal 3,3 Sekunden lang sein...)

    Speziell wegen meinem neuen KS musste ich zudem das Verhältnis von "Move-Event-Speed" zu Parallax-Scrolling wissen.... Und so war mein Ergebnis:


    Parallax-BG-Scolling mit der Geschwindigkeit +3 oder -3 ist = Move-Events-Speed: 8xSlower
    Parallax-BG-Scolling mit der Geschwindigkeit +4 oder -4 ist = Move-Events-Speed: 4xSlower
    Parallax-BG-Scolling mit der Geschwindigkeit +5 oder -5 ist = Move-Events-Speed: 2xSlower
    Parallax-BG-Scolling mit der Geschwindigkeit +6 oder -6 ist = Move-Events-Speed: Normal
    Parallax-BG-Scolling mit der Geschwindigkeit +7 oder -7 ist = Move-Events-Speed: 2xFaster
    Parallax-BG-Scolling mit der Geschwindigkeit +8 oder -8 ist = Move-Events-Speed: 4xFaster


    Soviel zu den Zeit-Verhältnissen des Makers. Speziell bei Wait 0,0 könnte es tatsächlich schon so sein, dass vor allem bei Schwächeren PCs das ganze etwas anders ist... Ich konnte das nicht testen. Aber als das Geschehen auf einem 600 Mhz-PC mit TNT2-Grafik-Kart (32 MB) und 128 MB-RAM geruckelt hat, lief es immer noch so, wie ich es berechnet habe...

    Wie dem auch sei....

    Zusätzlich zu dieser Sache habe ich noch ein paar (mehr oder weniger unbekannte) Kleinigkeiten und Eigenarten des RPG-Makers aus meinem Gedächtnis gekramt.. Und hab sie hier zusammengefasst:

    Wusstet ihr,....

    ... dass Autostart Map-Events weiterlaufen", obwohl man die Map verlassen hat, wenn sie sich in einem Cycle befinden (welcher auch mit Labels gestaltet werden kann)

    ... dass Parralel-Events ohne irgendein "Wait"" das ganze Spiel einfrieren können, wenn der Rechner schwächer ist?

    ... dass ein Auto-Start Event nicht starten kann, während ein "Push-Key", "OnHeroTouch" , "OnEventTouch" oder ein andere Auto-Start Event am laufen ist? (es wird dann erst danach ausgeführt)

    ... dass Move-All auf ALLE Move-Events (außer natürlich die im Movement-Typ) reagiert?
    Heißt: Wenn in einem Events ein Move-Event ausgeführt wird, welches nur kurz ist und parallel dazu läuft ein Move-Event, das länger ist, geht es bei einem gesetzten Move-All nur DANN weiter, wenn beide Move-Events fertig sind. Also erst, nachdem das lange Move-Event zuende ist.

    ... dass, wenn ein Paralleles Common-Event unterbrochen wird, es beim wieder aktivieren genau DORT anfängt, wo es unterbrochen wurde?

    ... dass sich ein Move-Event, das auf "this Event" steht und in einem Call-Event zu finden ist, sich auf das Event bezieht, das gecallt wird? (also macht NIE Move-Event "this Event" in einem Common-.Event ^^)

    ... dass, wenn der Held durch kurze Move-Events (Change Grafik, Move-Speed), welche recht oft auf ihn benutzt werden, Event mit "OnHeroTouch" ignorieren kann? (in diesem Fall können "OnEventTouch"-Events helfen)

    ... dass die Move-Frequenz bei einem Move-Event nur nach Schritten oder Face-änderungen ( "Face up,Face right, Face down,Face left, Turn Right 90° usw.) ihre Wirkung zeigt?

    ... dass man ein flüssiges Auflösen eines Events per Move-Event und "Transp.Up" am besten dann hinbekommt, wenn man zwischen den "Trans.up" eine "Face-änderung" mit der Move-Frequenz von 6 (oder 7 oder 5) einfügt?

    ... dass sich 2 Event im Status "Below Hero" oder "Over Hero" im weg stehen können? (also nicht aneinander vorbei können)

    ... dass, wenn man bei einem Event (außer eines, das Parralel ist) während seiner Funktion (in der Mitte) per Switch die 2. Seite aktiviert, es sofort die Grafik der 2. Seite erhält und ALLE Move-Events usw. , die sich auf dieses Events beziehen und nach der Aktivierung des besagten Switches kommen mit den Einstellungen der 2. Seite durchgeführt werden? (z.B. MoveSpeed/Animation-Typ/Position[Over Hero, Below Hero usw.])
    Zustatz: Auch Move-Events die bei der Aktivierung der 2. Seite noch am laufen sind, werden von diesem Zeitpunkt an, mit den Einstellungen der 2. Seite weiter geführt...

    ... dass, wenn ein Event mit 2 Seiten bei beiden EXAKT die gleiche "Route" im Movement Type "By its route" hat, nur das die 2. Seite trotzdem auf "Stay Still steht, es beim aktivieren der 2. Seite dementsprechend stehen bleibt, aber bei Deaktivierung der 2. Seite dann wieder bei der 1. Seite mit der Route EXAKT dort anfängt, wo es unterbrochen wurde? (das passiert NUR wenn beide Seiten die gleiche Route gespeichert haben und nur solange man auf der aktuellen Map bleibt ^^)

    ... dass man mit der Funktion "Set Terrain ID" die Terrain-ID des Feldes unter dem Helden nehmen kann (was verdammt Praktisch ist, wenn man z.B. es so machen will, das der Held NUR auf Schneebelegten Untergrund Fußstampfen hinterlässt - Man gibt den Feldern mit Schnee einfach eine bestimmte Terrain-ID, die dann mit besagter Funktion genommen wird...dann eben Forks usw.)

    ...Mehr fällt mir dazu erstmal nicht ein...

    Ich hoffe, ich konnte das ganze Weitgehend verständlich formulieren. ^^°

    Wenn mir noch was Wichtiges dazu einfallen sollte, werd ich es wohl hinzu editieren....

    Und zum Schluss:
    Das Meiste von dem, was hier geschrieben steht, hab ich noch mal genau nachgestestet (vor allem, was die Zeitverhältnisse angeht...).
    Es könnte trotzdem sein, das mir Fehler unterlaufen sind... Korrigiert mich in diesem Fall (aber bitte NICHT wenn es um die Länge von 0,0 Wait geht... Ich hab das wirklich sehr genau getestet =| )

    Ich bedanke mich fürs durchlesen! (als ob das wer tun würde)
    Ich hoffe ich konnte Einigen mit diesen Infos helfen.

    lachsen

    Zitat Zitat
    Zitat von Gekiganger
    @ Lachsen
    Find ich wirklich super dass jetzt mal die Eigenheiten des Makers genau analysiert werden. Leider kommt der Thread für mich um c.a. zwei Wochen zu spät, da ich da mit einem ernsthaften A-KS angefangen habe, wo ich fast alle von Dir aufgeführten Punkte selbst zu spüren bekam und bewältigen musste.
    Naja, hier mal ein paar bescheidene Punkte, die nochnicht erwähnt wurden:


    Wenn man den Helden in einem Autostart Event mit Move Events und Move All/Wait bewegt, werden die Bewegungen aller anderer Events, egal obs sie jetzt per Move Events im Parallel Process oder per Movement Type gesteuert werden, blockiert.
    Man könnte im Autostart das Move All/Wait weglassen, allerdings bewegt sich der Hero dann immer noch ein Feld weiter als eigentlich gewollt. (z.B. bei einer Enter Password Steuerung bewegt er sich um zwei Felder statt nur um eines).
    Man kann das Move All/Wait aber lassen, wenn man vorher das andere Event, das jetzt auf Push Key steht, beim Betreten der Map einmal callt. Im Move Event dieses Events muss Repeat Action aktivert sein.
    Jetzt muss man noch einmal warten, bis das Event einmal durchgeloffen ist, und kann sich dann selbst bewegen und die Move Events blocken sich nichtmehr gegenseitig.
    Der Nachteil an dieser Sache ist allerdings, dass die andern Events immernur die selbe Strecke ablaufen können.
    Bei z.B. einem Jump ´n Run muss man dann selbst abwählen, ob man ne genaue Steuerung und dumme Gegner oder eine ungenaue Steuerung und eine gute Gegner KI haben will. Doch spätestens beim Sprung braucht man Move Alls und dann werden die Gegner blokiert...
    Arghhh, ich hoffe ich konnte es einigermaßen verständlich rüberbringen.:c


    Befinden sich mehr als 1000 Events "in einer Reihe" im Call Status, z.B. wenn sich ein Event immer wieder selbst callt oder ein Event ein anderes callt, dieses wiederum ein weiteres und dieses wieder ein neues... bis eben 1000 Events aktiv sind, führt dies zum Absturz des Makers. ("Event Call Limit Exceeded")
    Geht diese "Callschlange" von 2 (oder mehr) unterschiedlichen Events aus, können beide (alle) 1000 Calls parallel erreichen, dann befinden sich jedoch gleich 2000 (oder mehr) Events im Arbeitsspeicher!

    Events mit einer niedrigen Event-ID werden immer Events mit einer höheren vorgezogen. Sollten z.B. zwei Events mit einer Berechnung haargenau zur selben Zeit fertig werden, so wird erst die des Events mit der niedrigeren ID verarbeitet.


    Verlässt man zu der Zeit einen Raum, zu der die Musik zuende ist, so kommt im nächsten Raum keine Musik, wenn dort eine andere eingestellt ist.


    Macht man schnell hintereinander Jumps in eine bestimmte Richtung, so nähert sich der Hero immer weiter dem Rand des Screens.
    Es müssen aber wirklich sehr viele Jumps fast ohne Unterbrechung sein.


    Beim Jump in eine bestimmte Richtung fragt der Maker automatisch ab, ob das Chip, auf dem der Hero landen würde, begehbar ist oder nicht. Ist es nicht begehbar, so führt er alle Befehe im Move Event aus, außer den Jumpbefehl. Wurden die Bewegungen direkt im Movement Type Fenster des Events eingegeben , so wartet das Event an der Stelle, an der es sich gerade befindet.


    Macht niemals ein Show Picture ohne Wait in einen Cycle/Labelschleife. Sonst bleibt der Maker hängen.


    Die Koordinaten festzulegen braucht ziemlich viel Ressourcen des Makers. Vor allem wenn man viele Koordinaten in einem PP Event festlegt, sollte man einen Wait von 0,1 Sekunden machen.
    Mir hat solch ein Event, in dem ich sehr viele Koordinaten festlegte, mal das ganze Spiel lahmgelegt, aber als ich nen Wait reingemacht hatte, gings wieder problemlos.


    Es dauert Euch zu lange bis der Text vollständig in der Messagebox angezeigt wird? Dann drückt doch einfach mal die SHIFT Taste. (funktioniert nur im Testplay)


    Zu den Waits:

    KA obs jemandem interessiert, aber die Zeitdauer, wenn ein Parallel Process Event aufhört und von neuem beginnt entspricht einem Wait von 0,0 Sekunden. Beim Autostart gibt es hingegen garkeinen "Wait".


    Man kann sich auch während einem Show Message Befehl bewegen, wenn man in einem externen Parallel Proccess den Hero mit Hilfe von Enter Password und Move Events steuert. Allerdings funktionieren dann weder On Touch noch On Hero Touch Events.(da der Held ja durch Move Events gesteuert wird)
    Parallel Process Events, die die Possition des Heros abfragen und dann ein Ereignis auslösen, wenn er auf einer gewissen Stelle steht, werden dabei registriert, jedoch ersteinmal auf Halde gelegt, bis die Messagebox verschwindet. Dann werden sie, unabhänig von der derzeitigen Possition des Heros, ausgeführt.

    Geändert von Caro (11.06.2015 um 00:39 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •