Switch. Zusammengefasst: "Wenn Switch 1 aktiv dann mache dies. Wenn Switch 2 aktiv, dann mache stattdessen das."Zitat
Change Party -> Add Member/Remove MemberZitat
Manchmal lohnt es sich auch, statt Switches eine Variable hoch zu zählen. Das ist aber eher sinnvoll, wenn die Dinge in linearer Reihenfolge passieren.
Wenn deine Map zB einen Hauptautostart hat, der immer wieder eine Szene im Haus auslöst, kannst du ihm mehrere Seiten geben und jeweils die Variable um 1 erhöhen.
Finde ich in manchen Fällen übersichtlicher und spart Switches.
Switches und Pages musst du verstanden haben, dann würde sich das von alleine Erklären ^^ um das mal zu konkretisieren:
Du erstellst für Jedes Szenario einen Switch und eine Page.
Szenario Nr.1 auf Page 1 braucht noch nicht wirklich einen Switch, kann aber nützlich sein, sollest du es nochmal an anderer Stelle aufrufen wollen.
Bsp: Alex schläft und wacht auf.
Du erstellst 1 Event "Szenario" für das was ablaufen Soll 1 Event für Alex oder wenn es dein Hauptcharackter ist lässt du das in das Event "Szenario" einfließen. Dann Beschreibst du alles in Event Szenario was passieren soll auf Page 1.
Szenario 2: Seine Freunde kommen zu Besuch. Du erstellst 3 weitere Events für seine zusätzlich. Allen Events gibst du einen Switch das z.B.: Szenario 2 heißt auf Page 2. Für die Freunde erstellst du Page 1 ohne Bild/Sprite von den Charakteren, denn die sollen ja nicht in Szenario 1 zu sehen sein.
Szenario 3: Er geht ins Bett und es ist Dunkel: Page 3 für alle Events mit Switch Szenario 3 als Kondition. In Event "Senario" kannst du es nun zum Beispiel auch Dunkel machen lassen und Einstellen was wo beim betreten der Map stehen soll.
Aber Independent Art hat sonst recht. Nur sind Variablen noch komplizierter zu verstehen und ich würde als Anfänger erstmal nur Switches verwenden, solange es keinen Massiven Mehraufwandt bedeutet. Variablen kürzen vieles ab und sind Effizienter, aber man muss sie auch verstanden haben.
Seht ihr liebe Freunde. Und hier komt nun schon mal genau mein Problem. Wie ich es mir dachte gibt es 2 oder 3 verschiedene Herangehensweisen für mein Problem. Jede wird mich zum Ziel führen. Aber jede einzelne stellt für einen Noob wie mich, auch einen unterschiedlich großen Schwierigkeitsgrad dar, wenn man 0 Durchblick hat.
Als bei meinem Beispiel für absolute Anfänger mit Null Ahnung, würde das ganze unter Verwendung mehrerer Karten jetzt wie folgt ablaufen:
Der Hauptcharakter ist schlafen gegangen und nun bereits auch schon wieder aufgewacht. Das heisst im Umkehrschluss das er beim "zu Bett gehen", einen Transferevent auslöst, der ihn auf die Tageslichtkarte teleportiert. Er macht sich also Tagfein und an einer bestimmten Stelle, gibt es einen erneuten Teleport.
Dieser erneute Teleport würde dann z.B. die Szenerie wechseln, wo wir bei den Mädels sind, die sich gerade auf den Weg machen ihn ab zu holen.
Wenn ich es mit der simpelsten (und wahrscheinlich dümmsten), aller Methoden machen würde, dann würden sich die Charaktere immer weiter von Mapp zu Mapp teleportieren. Und am Ende bräuchte ich wahrscheinlich jede Mapp wer weiß wie oft.
Falls ich aber eine von euren professionellen Lösungen befolgen soll, bräuchte ich dringend eine sehr gute und detailierte Schritt- für Schritt- Erklärung. Ansonsten bräuchte ich wahrscheinlich Tage bis ich kapiere wie man sowas richtig machen tut.
Ich bin nicht so ganz sicher, wo exakt das Problem liegt. Beschäftigen wirst du dich auf jeden Fall damit müssen. Und jede Map neu zu erstellen, weil man keine Switches benutzen möchte, ist keine gute Idee.
Ein Spiel zu erstellen ist nicht leicht. Es ist verdammt anstrengend und in weiten Teilen sehr frustrierend. Wenn du das Programm erstmal gut kennst, wird es auch besser flutschen. Aber durch die Frustphase/Trial and Error-Phase musst du jetzt erstmal durch.
Sofern dein Intro in einem durchläuft und keine spielbaren Passagen beinhaltet, könntest du das mit einem einzigen Autostart-Event ablaufen lassen. Denn Autostarts laufen auch mapübergreifend, du kannst dich also zwischendrin auf eine andere Map teleportieren und das Event läuft weiter. Wo du evtl ein Problem bekommst, ist, wenn du die Events auf einer anderen Map steuern willst. Weil: Du kannst von einem Mapevent nur die Events auf der jeweiligen Map steuern. Um das zu lösen, hast du 2 Möglichkeiten:
1. Du benutzt ein Common Event (Database). Du musst dann nur immer die entsprechende Map ausgewählt haben, um die darauf befindlichen Events zu kontrollieren.
2. Du benutzt einen Trick. Du erstellst deinen Autostart auf der 1 Map. Wenn es an die 2. Map geht, erstellst du zunächst das Event dort. Wenn du die Aktionen darin fertig hast, kopierst du den Inhalt in das Event auf Map 1. Das Common Event erscheint mir aber für einen Anfänger etwas leichter handlebar.
Außerdem noch ein wichtiger Hinweis für Mapevents: Die werden von hinten gelesen. Der Maker schaut also zuerst bei der letzten Seite, ob die Bedingung erfüllt ist.
Hast du denn die Grundlagen von Variablen und Switches schon verstanden?
If not: Tutorials reinziehen und rumexperimentieren.
Frustrierende Situationen wirds aber immer wieder geben:'
Habe heute in meinem Spiel was einbauen wollen und aus irgendeinem Grund hat ein Event nicht das getan, was es sollte. Ich habe bestimmt 20 Minuten gesucht, ehe mir aufgefallen ist: Das steht ja auf "action key" und nicht auf "parallel process". Na toll.
Kann ich nur zustimmen XD
Warum springt der nicht? Ist die Funktion move Event kaputt? -> Zu doof nach dem Springen Landen einzustellen.
Nein ich denke noch nicht das er die Grundlagen verstanden hat, ansonsten wärs kein Akt.
Ich schau mal ob ich da nochmal weiterhelfen kann. Ansonsten hab ich dir ja meine 2 Videotuts geschickt. Schau die erstmal an bevor du weiterbastelst, dann sind unter dem Ersten Video noch Tutorials in einer Playliste, dabei ist auch erklärt wie man eine Szene macht.
Erst dann beschäftigst du dich mit deinem Spiel weiter. Am Ende machst du dir nämlich nur mehr Arbeit als nötig und bist frustriert weil du es nicht verstehst. Das braucht anfangs Zeit, aber die hast du. Dich hetzt keiner das Spiel zu releasen.
@ Hase
wie ich dir schon privat via PN schrieb und glaube ich auch hier schon mal irgendwo zu Protokoll gegeben habe, fällt es mir schwer die Zusammenhänge zu verstehen. Ich habe dein erstes Video teilweise schon gesehen und werde es auch noch zu Ende schauen. Auch das zweite Video schaue ich mir noch an.
Mir fällte es aber schwer die Dinge die ich aus Videos oder Texten lerne, zu verstehen und auf andere Prozesse zu übertragen. Ich kann Prozesse die einen ähnlichen Ablauf haben, z.B. weil ähnliche Aufgaben verfolgt werden, einigermaßen gut nachbauen bzw. versuchen das auf meine Prozesse im Spiel zu übertragen.
Primitive Events die bei denen der Ablauf immer der gleiche ist bekomme ich einigermaßen gut hin. Self Control Events sind z.B. inzwischen kein Problem, da es immer das gleich ist, egal was man erreichen will.
Bei komplexeren Dingen habe ich einfach keine Ahnung wo ich den Anfang machen muss, um dem Programm zu sagen was ablaufen soll. Falls ich das nach den Videos aber auch nicht verstehen sollte, werde ich im Notfall auf die "Neandertaler Lösung" zurück greifen und unzählige Karten bauen, falls das nötig sein sollte. Dann ist es eben am Ende so.
Offen gesagt, frustriert es mich das ich mit dem verstehen der Progammierung nicht voran komme. Ehrlich gesagt, hatte ich kürzlich sogar kurzzeitig mal darüber nachgedacht, sämtliche Events zu löschen und aus dem eigentlich recht brauchebaren Anfang den ich bis jetzt zusammen gebastelt habe, eine sinnlose 0815 Zombieapokalypse zu bauen. So richtig schön, ohne Sinn und Verstand. Mache alle Einwohner zu Zombiehorden und lass den Spieler einfach durch die Gegend rennen und alles und jeden abschlachten.
Das wäre zwar, jetzt da ich z.B. weiß wie ich Nachteffekte via Event auslösen kann, zwar ein sehr reizvoller Gedanke, als Alternative, allerdings würde es mir auch irgendwo das Herz brechen, das was ich bisher mit Liebe und Eifer geschaffen habe in einem "Schlachthausspiel" zu zerstören. Denke nicht das die Einwohner das verdient hätten.
Außerdem bin ich mir durchaus der Tatsache bewusst, das selbst in nem primitiven Spiel wo´s nur ums metzeln geht, irgendwann beim programmieren Stellen auftreten könnten, wo ich evtl. doch wieder nicht weiter komme.
Geändert von kaiyne (12.01.2019 um 21:54 Uhr)
Die Vorgehensweise wird dich nicht zur Lösung führen. Das Lernen von etwas neuem ist keine Einfache Sache. Ich mache seit über 15 Jahren Karate und gebe hin und wieder auch Unterricht darin. Es gibt Leute den fällt die einfachste Sache, wie gehen so schwierig das man erst nach 6 Monaten Fortschritte sieht. Aufgeben ist leicht. Aber nur wenn man weitermacht kann man etwas erreichen. Meinst du ich erwarte das jemand alles sofort versteht?
Der Prozess des Lernens kann ein Langwieriger sein. Wenn man zwischendurch die Motivation verliert muss man auch mal an seine gesteckten ziele denken.
Das anschauen von 2 Videos wird dich nicht zum Meister machen, ich erwarte auch nicht das man alles versteht. Ich selbst kenne den Maker seit mehr als 10 Jahren. Erst seit 3 Jahren kann ich überhaupt was anständiges damit anfangen und vor 2 Jahren habe ich mal wirklich intensiv jeden Tag damit beschäftigt und mir sogar Basicvideos bestimmt 10 mal angeschaut und Dinge ausprobiert. Es von heute auf morgen verstehen zu wollen wird einen nur frustrieren und das bist du schon.
Mach Bitte weiter. Es gibt Leute hier die an dein Potenzial was gutes hinzubekommen glauben. Es wird dir ja auch geholfen wie du siehst. Jetzt ist nur gedult mit den eigenen Fähigkeiten gefragt.
Versuch mal, deine Ideen in simple "wenn x, dann y"-Abfolgen aufzuteilen.
Wenn du dieses Schema einmal raus hast ist das die halbe Miete. Grundsätzlich kannst du dann überlegen:
- "Wenn der Spieler 1000 Minuten gespielt hat, dann soll der Held freundlich auf Arbeitszeitvereinbarung der Gewerkschaft hinweisen."
- "Wenn die Gruppe die Quest erhalten hat, dann muss der Questgeber ihnen die Quest nicht noch einmal geben."
- "Wenn der Spieler den Stein auf den Schalter schiebt, dann geht die Tür auf."
Der nächste Schritt wäre dann sowas wie Bsp. 3, wo die Unterscheidung nicht gleich ersichtlich ist. Da musst du dich fragen: "Wie kann ich überprüfen, ob mein "Wenn" eingetreten ist? Ah, indem ich die Koordinaten abfrage, auf denen der Held steht. Das sind Zahlen, also brauche ich Variablen."
- Ist es eine Ja/Nein-Frage (s. Bsp. 1)? -> Du brauchst Switches.
- Ist es eine Frage, die von einer Zahl abhängig ist? (s. Bsp. 2)? -> Du brauchst Variablen.
- Wenn du das wenn in eine Frage umformulierst (Bsp. 3 -> "Wo steht der Held?"), gibt es mehr als eine mögliche Antwort? Dann brauchst du auch da Variablen.
Selbst sehr komplexe Scripte tun nichts anderes, da wird das ganze bloß etwas abstrakter und es spielen mehr Variablen mit. Aber egal, was du mit dem Maker bauen willst, seien es simple Quests bis hin zu eigenen Menüs, du brauchst Switches und Variablen. Wenn du meinst, dass es mehrere Möglichkeiten gibt, umso besser - dann leg einfach los und guck, ob dein Ansatz klappt. So oder so lernst du dabei dazu und weißt später, was mit welchem Ansatz möglich oder nicht möglich ist.
Geändert von BDraw (13.01.2019 um 10:08 Uhr)
@ Hase
also ich habe mir jetzt beide Videos angessehen.
Die gute Nachricht ist, dass du alles sehr schön erklärst und ich nun zum. rein hypothetisch gesehen, wenn ich es denn wollte dies Aufbauchema, das du verwendet hast, auf irgend ne X-beliebige andere Quest übertragen könnte, die ähnlich funktioniert. Also natürlich immer vorraus gesetzt, die Quest die ich bauen will würde ähnliche Handlungsabläufe benötigen.
Die negative Nachricht ist, das ich trotz des Videos nicht weiß, in wie fern mir das bei anderen anderen Quest bzw. anderen Events helfen soll. Ich habe keine Ahnung wie ich das was du da zeigst auf andere Fälle, die anders aufgebaut sind bzw. die evtl. andere Mechaniken erfordern übertragen soll.
@ Bdraw
also das Switches einfach nur simple Ja/Nein Abfragen sind habe ich inzwischen verstanden. Mein Problem ist denke ich ehr wo ich den Anfang machen muss wenn ich alles miteinander vernetzen will. Mit Variablen habe ich bisher noch gar nicht rum gespielt.
Was ich bräuchte wäre denke ich ein Video das mir zum. die wichtigsten Funktionen erklärt und was ich mit den ganzen einzelnen Funktionen alles auslösen kann. Ich könnte mir auch vorstellen das es weiterhelfen könnte, wenn der Maker auf deutsch wäre. Ich weiß es nicht.
Ich habe bisher nur Äußerst selten Ahnung davon, ob ich nun einen Switch, eine Variable, einen Schalter oder einen Conditional Branch benötige um irgend etwas aus lösen.
PS:
@ Hase:
Kannst du mir bitte mal zeigen wie du die Namen deiner Charaktere eingefärbt hast? Habe es gegoogelt und es soll wohl irgendwie Farbcodes dafür geben ? Wo finde ich die und wie lauten die ? Und wie muss ich die in die Textboxen einbinden ?
Geändert von kaiyne (13.01.2019 um 16:25 Uhr)
Ab 18:15 hab ich es im 2. Video erklärt. Wenn die Frage von dir jetzt aber lautet, wie änder ich die Farben die vorhanden sind dann lautet die Antwort das du die Systemgrafiken austauschen musst, bzw neue importieren.
Meine Frage wär jetzt: Haste das ganze mal Nachgemacht und die Aufgaben, die ich gegeben habe gemacht? Wenn nein dann birngen dich die Videos sowieso wenig weiter. Der Zweck war das ganze selbst mal nachzumachen nicht nur sich berießeln zu lassen. Ich halte nichts von blosen Erklärvideos, wenn man keine Ahnung hat. Es muss immer noch eine Übung folgen. Denn wenn man übt kann man auch fehler machen und beim Fehler machen hat man die größten Lerneffekte.
Mein Vorschlag ist du machst das nach und ich schau mir gern an ob es funktioniert hat oder nicht.
Alle Eventbefehle kurz erklärt:
https://www.youtube.com/watch?v=ie6I...4F7E73DBAC1350
Vieles findest du auch ausführlich erklärt wenn du den Help Knopf unten rechts klickst.
Ich erwähne jetzt einfach mal eine der simplesten Anwendungen eines Switches. Einfach weil deine Demo nicht den Eindruck machte, als hättest du diese verinnerlicht.
Nehmen wir den Drogendealer, der nach dem Kampf auf wundersame Weise immer noch rumläuft.
Um das zu verhindern setzt du einfach nach dem Befehl "Battle Processing" einen Switch "Drogendealer bekämpft" auf ON.
Außerdem fügst du dem Drogendealer-Event eine 2. Seite hinzu. Diese bekommt links bei "Conditions" den Switch "Drogendealer bekämpft". Es wird also nach dem Kampf auf die 2. Seite umgeschaltet.
Jetzt kommt es drauf an, was du machen willst:
1. Der Dealer ist jetzt tot (was ich seltsam fände). Dann kannst du für die 2. Seite einfach eine transparente Grafik auswählen. Achte aber darauf, dass diese nicht mehr die priority "same as characters" hat, sonst rennt der Spieler gegen einen unsichtbaren Gegenstand.
2. Der Dealer ist noch da, sagt aber jetzt was anderes. In diesem Fall kannst du die 1. Eventseite auch einfach kopieren. Der Dialog wird entsprechend geändert, zB in: "Okay, ihr habt mich überzeugt. Drogen dealen ist schlecht."
Außerdem: Wie Hasenmann schon sagt. Selber machen ist unglaublich wichtig. Vom Berieseln lernt dein Gehirn wenig, nur im Machen kann es die Infos auch ausreichend vernetzen.
@ hase
war währende des Video schauens kurzzeitig ein paar Minuten abgelenkt. Hatte vergessen zu pausieren. Habe es mir gerade nochmals angeschaut.
@independentArt
es ging geht mir nicht darum mich berieseln zu lassen. Bei den Prozessen die ich allein schon einigermaßen begriffen, habe versuche ich auch schon oft genug Sachen selbst zu lösen. Sonst würden hier noch einige Fragen mehr stehen.
Ich wollte das ich es allein löse obwohl ich den alternativen Weg nicht begriffen habe. OK, gut, aber ich komme so noch nicht weiter. Dann muss ich die Frage halt mal anders stellen. Gibt es eine Möglichkeit zu einem anderen Hauptcharakter zu wechseln, sodass der Charakter den man gerade erst gespielt hat an Ort und stelle verweilen kann ? Ich weiß es nicht.
Da ich es nicht weiß und ich ne eigene Lösung finden soll (ihr schriebt ja das ich überlegen soll wie ich es mit den Techniken des Maker alleine lösen kann), sieht meine jetztige Lösung wie folgt aus (natürlich mit X-beliebig vielen Karten):
1. Der Hauptcharakter geht zu Bett
- beim zu Bett gehen wechselt er auf die Tageslicht-Mapp
2. Die Tageslicht Karte innerhalb des Hauses statte ich mit einem Autorun Event aus: "Zur gleichen Zeit in einer anderen Wohnung"
- diese teleoportiert den Spieler in die Wohnung von einem der Mädels
3. Dort käme dann der Befehl change Actor Grafik. Das heisst wir switchen auf eine Grafik von den Mädels (ist zwar nen bissel skuril, wenn der Spieler erst noch kurzzeitig die männliche Grafik sieht, aber anders weiß ich mir auch nicht zu helfen)
4. jedenfalls kommt bei den Mädels auch wieder ein Autorun Event und man hört wie sich sie sich unterhalten-
5. Nachdem auch diese Szene wieder aufgelöst worden ist kommt der letzte Teleport zurück zu alex Haus. Natürlich wieder auf eine andere Mapp. Dort kommt dann wieder der Befehl "Change Actor Grafik" und man wechselt wieder zu Alex. Eine Extra Grafik für die Mädels ist dann vor dem Haus platziert. Natürlich käme auch hierbei wieder der Fehler auf, dass man zunächst die Charaktere der Mädels sieht bevor man Alex wieder sieht.
Das Problem bei dieser sehr skurilen Lösung ist halt, wie man beim mitlesen bereits merkt, das eigentlich nicht das passiert was man will, da der Hauptcharakter nicht wirklich wechselt, sonder er einfach nur den Körper tauscht.
Ihr wolltet das ich mir selbst was einfallen lasse mit den Mitteln die zur Verfügung stehen. Leider bin ich nicht soweit fortgeschritten, das ich derzeit bereits wüsste wie ich das ganze anders umsetzen soll. Ich kann nichts anderes besseres bauen, da ich das ich die komplexität einer anderen Lösung nicht vertehen kann.
Geändert von kaiyne (13.01.2019 um 19:59 Uhr)