Ist es schon so lange her? :o
Vielen Dank schon mal für die tolle Arbeit eurerseits
Ist es schon so lange her? :o
Vielen Dank schon mal für die tolle Arbeit eurerseits
Hallo,
ich glaube es ist nun eine Meldung, die nicht wirklich überrascht. Ich bin in dem Projekt an einem Pubkt angelangt, an dem seit einem Monat einfach kein Fortschritt gemacht wurde.
Ich habe auch angefangen nach einem Team zu suchen und habe auch eines gefunden, bei dem ich an deren Projekt tatkräftig zur Hand gehe und dadurch noch weniger Zeit für dieses Projekt bleibt.
Es wird vorerst mal wieder auf Eis gelegt und wird vermutlich irgendwann wieder raus gekramt und fortgesetzt.
Damit kann das Thema nun geschlossen werden.
Vielen Dank für die Unterstützung und mal schauen, wann es hier weiter gehen wird.
lg Flip
Baxeda ChimaereJade hat es recht gut zusammen gefasst. Da wurde die Pixi.js sehr wahrscheinlich mit der Pixi3D.js ausgetauscht und anhand von dieser dann eben die Grundfunktionen vom Maker mit eingebaut. Es ist etwas aufwändig, da viele Dinge in Pixi3D.js anders funktionieren als in Pixi.js. Sobald diese erste Hürde überwunden ist, dann ist da nicht mehr viel Arbeit von der Engine her.
Gemacht wird sowas meist dann, wenn man selbst mal die Engine ausreizen will oder aber einfach mal sehen will, ob es möglich ist.
Ich bin überrascht, dass so viele Leute dieses Video so positiv aufnehmen, ich bekomme tatsächlich harte Motion Sickness davon.
Es ist hauptsächlich deswegen, weil es eben mit dem Maker erstellt wurde, warum es so viel positive Rückmeldungen bekommt.
Ich kannte das Video schon länger, eigentlich seitdem MV3D draußen ist und im Grunde ist es nicht wirklich undenkbar, dies mit dem Maker hin zu bekommen.
Die meisten die sich an das 3D vom Maker wagen, haben halt entweder kaum bis keine Ahnung, wie man das richtig bewerkstelligt, damit das ganze auch gut aussieht. Jene die halt schon einiges an Erfahrung haben mit 3D usw. nutzen den Maker schlicht einfach nicht in dem Kontext. Deswegen sieht man auch wenig gute Ergebnisse in 3D.
Soweit ich weiß, wurde hier einfach eine andere Klasse zum berechnen der Grafiken genommen und anhand von dieser wurde dann darauf aufgebaut. Technisch dürfte das zwar aufwendig sein, aber mit genug Rechenleistung ist das recht einfach zu bewerkstelligen.
lg Flip
Also ich hab mir die Preview jetzt mal angesehen und werde rein auf den Preview eingehen.
Ein Punkt der mir da sehr negativ aufgefallen ist, sind leider die KI-Stimmen. Diese fühlen und hören sich für mich leider sehr leblos an. Ich würde dir empfehlen, dass wenn du die KI-Stimmen beibehälst, dem Spieler die Option lässt, die Stimmen abzuschalten. Ansonsten sehe ich hier leider einen Punkt, an dem du vielleicht die meisten Spieler verlieren könntest.
Vom gezeigten her, muss ich sagen, dass ich die Preview als etwas zu Lange empfand. Da kannst du locker ein zwei Minuten weg lassen und es hätte immernoch die selbe Wirkung. Eventuell das du bei einer Preview einen Spielabschnitt präsentierst, den die Preview ist derzeit eher ein Trailer als eine Preview. Vor allem rückt es diese kurze, aber durchgängige bedrückende Melodie in diese Schiene.
Das Kampfsystem sieht mal interessant aus und ich hoffe, dass es recht einfach in der Handhabe ist und nicht zu überladen wird, wie es am Maker oft der Fall bei den meisten AKS ist.
Ich werd mal das ganze etwas länger im Auge behalten und gegebenenfalls mal Anspielen.
lg Flip
Ach Spriters Ressource würde ich nicht als Quelle nehmen, da die Sachen dort entweder direkt geript wurden, aus der Spielrom extracted oder von einem Künstler getraced.
Man kann sich das zwar als Referenz nehmen, aber sollte damit nie ein Spiel entwickeln.
nach etwas recherche habe ich sehr stark die Vermutung, dass das Skelett von diesem/r Künstler/in selbst erstellt wurde für das eigene Spiel oder als Commission für jemanden.
lg Flip
Wir können uns da gern einmal zusammen schreiben, wenn du magst
ich kann euch ja bei Plugins und Technik unter die Arme greifen q:
Sucht wannabe jemanden? 🤔
Hallo,
fangen wir mal mit Baxeda an:
Ich sehe da nicht ganz so den Sinn dahinter, wenn der selbe Text nochmal in der Tutorial-Sektion steht ^^"
Aber ja, ich hab die Plugins extra dafür geschrieben.
bitte gerne
Die Kanone und das Nachladen scheint damit nun auch ohne Probleme zu funktionieren. Ich habe aber derzeit noch Probleme mit dem Rumpf. Ich habe die Variable vom Rumpf auf 33 gesetzt - sowohl im Plugin als auch beim Kauf. Leider behält der Spieler trotzdem seine HP.
Da habe ich wohl den Rumpf etwas falsch Verstanden. Ich dachte, du würdest den gern so haben, dass du dies Zusätzlich zu den HP bekommst.
Die Credits gebe ich gerne. Dafür würde ich gerne im Titelbildschirm auch einen Credits-Button machen. Wie genau mache ich das?
Das geht ebenfalls über ein Plugin, da dürfte es glaube ich schon welche geben.
Und ich hätte noch eine Frage. Ich würde gerne den gegnerischen Schiffen ebenfalls einen nachladen-skill für deren Attacken geben. Funktioniert das genauso wie beim Helden?
So wie ich das Plugin derzeit aufgebaut habe, würde es nicht gehen. Dazu müsste ich das gesamte Plugin anders aufbauen. Du kannst mir gern mal hier oder per PN das ganze Beschreiben, wie du es dir vorstellst, dann können wir da nochmal drüber quatschen, wie man das Umsetzen könnte.
lg Flip
Danke für das Lob ChimaereJade
Ich hatte auch vergessen anzumerken, dass mir der Erfahrungsgrad von euch im Grunde egal ist. Man kann immer gemeinsam lernen und auch wenn ich schon seit Ewigkeiten mit dem Maker hantiere, schließe ich nicht aus, etwas neues zu lernen. Auch von einem Neuling/Anfänger nicht.
Hallo liebe Leutchen,
es hat zwar etwas lange gedauert, aber ich konnte mich inzwischen dazu durchringen, einen Thread in diese Richtung zu eröffnen.
Da ich bis jetzt die größte Zeit alleine Entwickelt habe und viele Team-Projekte gescheitert sind, wage ich trotzdem erneut diesen Schritt.
Ich suche eine oder mehrere Personen um gemeinsam Spiele zu entwickeln. Ich habe zwar ein Projekt am laufen, welches aber inzwischen mehr zum stehen gekommen ist, da ich derzeit einfach andere Dinge priorisiere.
Wo liegen den nun meine Stärken und was suche ich?
Kommen wir mal zu dem, was ich suche:
Eine oder mehrere Personen um in einem 2er-Gespann bzw. in einem Team gemeinsam ein Spiel zu entwickeln und heraus zu bringen. Ich kann euch gern bei eurem Projekt unterstützen, oder man macht Gemeinsam an Meinem weiter oder startet komplett was Neues. Ich bin hier durchaus mehr als offen für alles!
Was kann ich bieten?
Ich sehe meine Stärken vor allem darin, das ganze technische Rundherum machen.
Ich bin für jeden Maker offen und würde mich freuen, falls sich der eine oder andere Melden würde.
Lg Flip
Glückwunsch zum Sieg @I.Z.
Hallo,
ich hatte mir etwas Zeit gelassen mit dem ganzen, da ich mir einiges überlegen musste, wie man das am besten Umsetzt. Ich bin schlussendlich zu dem Entschluss gekommen, dass hier ohne die Unterstützung von Plugins und nur den Maker-Mechaniken das ganze nicht ganz so leicht sein wird. Ich kann dir aber wenn gewünscht auch hier eine Lösung erarbeiten.
Ich habe die Plugins bereits als ZIP-File angehängt, diese müsstest du alle in dein Projekt laden und aktivieren um das ganze voll ausnutzen zu können. Ich werde auch in dieser Erklärung durch alles genau durch gehen.
Genug der Worte, fangen wir nun mal an:
Sobald du alle Plugins in deinem Plugin Ordner hast, öffnest du im Maker den Plugin-Manager und platzierst ganz oben erstmal das Plugin "FFP_CorePlugin". Du musst hier nichts einstellen. Es hilft lediglich bei einem Plugin und zwar dem nächsten das wir nun hinzufügen, dem "FFP_SkillActorCommands".
In diesem Plugin gibt es ein paar Punkte die eingestellt gehören. Du hast einmal folgende beiden Punkte zur Auswahl:
Bei den actor ID(s) wählst du den (oder mehrere) Helden aus, die als Schiff funktionieren sollen. Du hast hierfür ein Dropdown-Menü um dir die entsprechenden Helden auszuwählen.
Bei Skill ID Commands wählst du die Skills aus, die der Held zur Auswahl im Kampf hat. Hier öffnet sich ebenfalls ein Dropdown-Menü in dem du die entsprechenden Skills auswählen kannst. Der Held muss diese Skills nicht lernen, diese stehen dann im Kampf automatisch zur Verfügung. Sobald dies erledigt ist, gehen wir weiter zum nächsten Plugin.
"FFP_SkillReloadSystem" gibt dir ebenfalls wieder eine kleine Einstellmöglichkeit, welche du hier sehen kannst:
Hier hast du nur die Auswahl des Switch ID (Dropdown-Menü). Dieser entscheidet im Kampf, ob der Nachladen-Skill bzw. der Abfeuern-Skill Auswählbar ist. Ist der Switch aus, muss Nachgeladen werden, ist der Switch an, so kann Angegriffen werden, ist der Switch aus, so muss Nachgeladen werden.
"FFP_MaxHPExtender" wird als nächstes Konfiguriert. Hier kann man die ID der Variable auswählen (Dropdown-Menü), welche man für das Verfolgen des Levels des Upgrades nutzen kann.
Somit haben wir alle wichtigen Plugins hinzugefügt. Ich habe dir noch ein kleines Extra-Plugin hinzugefügt, das "FFP_SpecialCodeNames". Dieses hat keine Einstellungsmöglichkeiten, jedoch ermöglicht es dir auch in Namen, Skills, Items, Waffen, Rüstungen und Statusveränderungen ebenfalls die Message Box Codes wie \v[id] usw. zu verwenden. Ich kann es dir empfehlen, da es die Anzeige der Level überall ermöglicht.
Wir definieren hier nun 2 Skills. Einmal die Kanone und einmal das Nachladen. Zuerst widmen wir uns dem Skill Kanone.
Ich habe den Namen des Skills "Kanone Lv\v[15]" genannt, da ich hier jetzt die Variable 15 nutzen werde für das Level. Du kannst natürlich jede beliebige Variable nutzen.
Bei der Schadensformel habe ich folgendes gemacht: (a.atk * 4 - b.def * 2) * $gameVariables.value(15)
Es wird zuerst der normale Schaden berechnet (wie beim normalen Angriff) und dann wird der Schaden * dem Wert von Variable 15 multipliziert. Dadurch machst du kontinuierlich mehr Schaden. Jedoch würde ich empfehlen, die Variable auf 1 zu setzen und die Kanone auf Lvl 1 starten lassen, sonst würdest du 0 Schaden machen.
Du kannst diesen Skill natürlich anpassen wie du es gern hättest, falls du weiterhin Hilfe bei den Schadensformeln brauchst, bzw. wissen willst, was du da alles machen kannst, schau einfach im Tutorial-Bereich nach, ich habe dort 2 Tutorials zu Schadensformeln geschrieben.
In der Hinweis-Box habe ich noch ein <use load> vermerkt, dies weist dem Skill die Eigenschaft zu, nur dann einsetzbar zu sein, wenn der Switch, den du im Plugin "FFP_SkillReloadSystem" definiert hast, Ein ist.
Schauen wir weiter zum Skill fürs Nachladen.
Hier müssen wir leider etwas tricksen, damit das ganze Funktioniert. Du kannst als Ziel theoretisch angeben was du willst, aber ich empfehle dir, den Benutzer selbst hier zu wählen. Als Schadensformel schreibst du lediglich reload() rein. Damit hast du bereits den Skill Nachladen fertig. Den Rest macht das "FFP_SkillReloadSystem".
Den Skill für Schiff reparieren hast du bereits umgesetzt, zumindest gehe ich davon aus, so wie du es geschrieben hattest.
Damit dein Rumpf im Level ansteigen kann, würde ich dir empfehlen, das wie folgt umzusetzen:
Ich habe hier eine Rüstung die "Rumpf Lv.\v[15]" heißt. Die \v[15] kommt daher, da hier die Variable 15 verwendet wird, weil ich diese Standardmäßig im Plugin "FFP_MaxHPExtender" hinterlegt habe. Du kannst hier deine definierte Variable hinterlegen.
Wichtig ist jedoch die Hinweis-Box. Dort habe ich nun folgendes Hinterlegt:
<eval mhp>
value += 50 * varLevel();
</eval mhp>
Diese Zeile macht folgendes:
es werden immer 50 HP hinzugerechnet für jedes weitere Level von der im "FFP_MaxHPExtender" definierten Variable hinzu kommen. Du kannst die Formel so bearbeiten wie du willst, wenn du die Variable aus dem Plugin nutzen willst, kannst du jederzeit varLevel() verwenden.
Nun stellen wir noch den Helden ein, damit es hier nicht zu Problemen kommen würde.
Wichtig ist hier eigentlich, dass du dem Helden die entsprechend eingestellte Rumpf-Ausrüstung gibst und alle Slots sperren lässt. Damit er keine EXP bzw. Level erhält, setze das Max Level auf 1. Dadurch bist du dann eigentlich fertig mit dem Helden.
Mit all diesen Einstellungen und Plugins hast du es nun so, dass du alle deine gewünschten Funktionen zur Verfügung hast. Du kannst das gesamte gern für Nicht-Kommerzielle bzw. auch für kommerzielle Zwecke nutzen.
Der Credits-Eintrag geht hierfür an Mr. Fu und FlipelyFlip.
Falls du irgendwelche Fehler in den Plugins findest bzw. du hier noch Probleme beim Umsetzen hast, gib einfach Bescheid.
lg Flip
Hallo,
ich kann dir bei allem recht gut helfen.
Bevor ich aber jetzt loslege und dir alles recht kompliziert erkläre, würde mich erstmal dein Angriffs-Fähigkeit vom Schiff interessieren. Könntest du einen Screenshot davon posten? Da wir hier mit der Schadensformel arbeiten müssen.
Ich werde dir allgemein hier mehr eine Lösung für etwas Fortgeschrittene zeigen müssen, da es anders nicht leichter Umzusetzen ist.
Fragen zu deinem Punkt 1:
Hat das Schiff nach wie Vor den Standard-Angriff zur Auswahl im Kampf, oder hast du es bereits hinbekommen, dass da nur die Fähigkeit zur Auswahl stehen?
Soll es denn auch noch den Standard-Angriff zur Auswahl haben?
Wie soll denn das Upgrade für die Kanone aussehen? Soll es einfach um X mehr Schaden machen, oder soll der Angriff erhöht werden?
Was macht die Fähigkeit Schiff reparieren?
Zu Punkt 2:
Du kannst das Maximale Level beim Helden-Reiter in der Datenbank auf 1 setzen. Dadurch erhält es keine XP und keine Level und behält die Werte von Level 1.
Welche Werte willst du genau über die Variablen steuern und soll das Schiff alle Werte besitzen die ein Character haben kann, oder willst du da keine Werte nutzen?
Wenn du mir diese Fragen alle beantworten könntest, kann ich dir liebend gern noch weiter helfen.
Liebe Grüße,
Flipely
Mit "überschreiben" meinte ich eigentlich sogar, die Funktion kopieren und in einem eigenen Plugin von mir zu aktivieren und nur bestimmte Bereiche der Funktion zu ändern.
Das mit dem eigenen Buchstaben verstehe ich aber nicht ganz - dann müsste ich ja wieder im "originalen" Code herumpfuschen, oder?
Selbst wenn du es in einem anderen Plugin bearbeitest, gilt es dann für überall.
Das was ich meinte ist, du kopierst dir einmal die Methode, die du verändern willst und hängst beim Namen der Methode noch einen Zusatz dazu, damit die originale nicht überschrieben wird.
Dann kopierst du noch die Funktion in der die zu ändernde Funktion enthalten ist und benennst dort die alte ebenso auf den Namen um, den deine neue Funktion hat. Dadurch hast du zwar immer noch eine Änderung am originalen Code, aber falls weitere Plugins, die du eventuell zukünftig nutzen willst, die Funktion weiterhin im Original vorhanden ist und somit nicht zu "Fehlern" führt. Im Spoiler hab ich dir noch ein Beispiel angeführt.
Beispiel habe ich jetzt aus dem MZ entnommen, aber läuft aufs selbe hinaus.
Window_MenuStatus.prototype.drawItemStatus = function(index) {
const actor = this.actor(index);
const rect = this.itemRect(index);
const x = rect.x + 180;
const y = rect.y + Math.floor(rect.height / 2 - this.lineHeight() * 1.5);
this.drawActorSimpleStatus(actor, x, y);
};
Window_StatusBase.prototype.drawActorSimpleStatus = function(actor, x, y) {
const lineHeight = this.lineHeight();
const x2 = x + 180;
this.drawActorName(actor, x, y);
this.drawActorLevel(actor, x, y + lineHeight * 1);
this.drawActorIcons(actor, x, y + lineHeight * 2);
this.drawActorClass(actor, x2, y);
this.placeBasicGauges(actor, x2, y + lineHeight);
};
Alles anzeigen
Ich habe hier die Methode drawActorSimpleStatus genommen und hätte die dann auf drawActorSimpleStatusCustom umbenannt und es würde dann so aussehen:
Window_MenuStatus.prototype.drawItemStatus = function(index) {
const actor = this.actor(index);
const rect = this.itemRect(index);
const x = rect.x + 180;
const y = rect.y + Math.floor(rect.height / 2 - this.lineHeight() * 1.5);
this.drawActorSimpleStatusCustom(actor, x, y);
};
Window_StatusBase.prototype.drawActorSimpleStatusCustom = function(actor, x, y) {
const lineHeight = this.lineHeight();
const x2 = x + 180;
this.drawActorName(actor, x, y);
this.drawActorLevel(actor, x, y + lineHeight * 1);
this.drawActorIcons(actor, x, y + lineHeight * 2);
this.drawActorClass(actor, x2, y);
this.placeBasicGauges(actor, x2, y + lineHeight);
};
Alles anzeigen
Hoffe es ist nun Verständlich, was ich meinte
lg Flip
jein, ich arbeite zurzeit an einer MZ-Codebasis und wollte einfach mal schauen, ob auch unter anderem Drag & Drop funktionieren könnte. Die Version aus dem Gif ist eine Event-Version, jedoch bin ich da grad bissl hooked und werd das dann auch per Code umsetzen.
Kann dazu auch gern ein Tutorial machen, sollte auch auf dem MV funktionieren (ungetestet).
Ui, die sehn ja interessant aus I.Z.
Ich bin schon mal Gespannt, was da noch so neues dazu kommt.
Ich hab mich bissl hingesetzt und am MZ bissl was durchprobiert und dann eine Möglichkeit gefunden, wie man mit Events Drag & Drop machen kann.
Ich habe auch eine kleine .gif dazu erstellt. Ist recht spaßig, was man damit machen kann. Bin mal gespannt, was da sonst noch so geht
lg Flip
Hallo,
freut mich schonmal zu hören
Ich kann dir die Empfehlung geben, die drawActorSimpleStatuts bzw. die itemRect nicht zu überschreiben. Du kannst jedoch die Funktion kopieren und dann zB noch ein zB C (wie für Custom) oder so zum Schluss hinzufügen und dann darin die Änderungen durchführen. Dadurch behaltest du die Ursprüngliche Funktion weiterhin und kannst dann einfach dort wo diese alte Funktion aufgerufen wird auf deine Methode ändern. Ist zumindest eine Methode, welche ich selbst gern anwende, da es so leichter in der Wartung ist.
Weiters ist es auch sehr ratsam, das ganze als eigenes Plugin umzusetzen und über den Plugin Manager aktiv zu schalten. Dadurch verhinderst du dann das Problem, dass du dich an das ganze in dem Projekt gewöhnst und dich dann wunderst, warum dies nicht mehr so ist wie im Vorherigen.
Damit du rausfinden kannst, in welchem Window du welche Änderungen machen willst/musst gibt es einen relativ "leichten" Trick.
In dem Beispiel von dir handelt es sich um das Item-Window. Ich empfehle hierfür in einem Coding-Programm die rpg_scene.js zu öffnen. Jetzt suchst du einfach nur nach Scene_Item.
Dort gibt es sehr häufig eine Methode die setup oder initialize heißt. Sieh dir diese an und hangel dich da etwas im Code an die Stelle weiter, an denen die Fenster generiert werden. Dort erfährst du dann den Namen vom Window.
Jetzt würde ich empfehlen im Coding-Programm die rpg_windows.js zu öffnen und dann nach der Window_*.js suchen. Den * solltest du damit ersetzten, je nach dem welches Fenster du bearbeiten willst. Dadurch grenzt du die Suche schon stark ein. Manche Methoden die im Window_Item aufgerufen werden, stammen zum Beispiel aus der Window_Base oder einer weiteren dazwischen, sollten aber alle Suchbar sein.
Das ist so generell ein Tipp, den ich geben kann, wenn man die Zusammenspiele noch nicht ganz kennt.
lg Flip