Beiträge von Tamschi

    Hier ist ja ganz schön tote Hose im Sommerloch~

    Schreibt trotzdem mal, was euch gerade umtreibt und woran ihr arbeitet?

    Ich war die letzte Woche ziemlich beschäftigt mit Erledigungen und dem Fertigprogrammieren meines neuesten Plugins (📺).

    Ca. die Hälfte der Logik steckt da in einem neuen "Core" für Animations-Timeline-Ereignisse allgemein (und den gibt's für lau :)), ihr könnt also auch relativ bequem andere Sachen als Soundeffekte damit machen, wenn ein bisschen JS für euch okay ist. Ich glaube einen neuen Event-Schlüssel mit einfachem Parameter bekommt man in etwa 20 Zeilen hin, falls man's nur selbst braucht.

    Ich habe einen neuen Tabularasa Rechtschreib-und Grammatikdurchgang gestartet und schlage die Hände vor dem Kopf zusammen, was da IMMER NOCH für Fehler drin sind, z.B. Willkommen und willkomen zurück sind offensichtlich zwei Wörter unterschiedlicher Wortkategorien und sind erst seit dem neusten Erkenntnisstand das gleiche... Nein, Spaß beiseite, so viele Sachen sind so offensichtlich aber nicht offensichtlich genug für 300000 Spielvorgänge vorher...

    Es wäre echt nett, sowas wie die Rechtschreibprüfung in (Libre)Office auf das ganze Spiel anwenden zu können. Technisch ist das machbar, aber die Benutzeroberfläche dafür zu programmieren wäre extrem nervig. Wäre cool, wenn mal jemand so ein Rechtschreibkorrekturfrontend als Komponente schreiben würde, wo man dann nur noch die Daten reinschieben muss.

    Du könntest dort einen debugger;- oder console.trace();-Befehl einbauen, dann siehst du den stack trace wenn du vorher die F12-Tools aufrufst.

    Wobei ich nicht weiß, ob der brauchbar sein wird, da du VisuStella nutzt. Wahrscheinlich sind die Funktionen nicht lesbar benannt.


    Die Menüpunkte werden in der Regel von den abgeleiteten Klassen erstellt, welche zumindest in RM relativ dicht unter dieser stehen sollten.


    (Ich sehe irgendwie kein Bild. Liegt das an mir?)

    Tamschi du kannst ja sonst die Battler von zum Beispiel Holder nutzen, da diese frei zur Verfügung stehen.

    Die Battler von Holder sind leider gerade im falschen Format. Nicht nur wegen Spritesheet vs. einzelne Cels, sondern weil die Sprites selbst auf relativ einfache Animationssysteme ausgelegt sind (immer 4 Frames pro Aktion) und deshalb meine Features nicht gut darstellen können.


    So etwas wie 2D Zombie Sprite - Animated funktioniert vielleicht ganz gut als extremes Beispiel, wobei ich definitiv auch ein einfacheres und weniger "3D" haben sollte :hmm:

    Mit den aktuell öffentlichen Plugins geht das noch nicht, aber Battler Action Flipbooks kann so einen Zombie sauber ohne Sprünge in der Animation angreifen lassen.


    (Ich hab' Pläne, Spritesheets und lange Sequenzen von durchnummerierten Frames etwas praktischer nutzbar zu machen. Es dauert aber noch etwas bis das kommt und Einzelbilder mit variabler Leinwandgröße werden wahrscheinlich effizienter bleiben.)

    Tamschi
    Es freut mich zu sehen, dass Du mit dem Plugin weitere Fortschritte erzielen konntest. Das scheint mir eine Heidenarbeit gewesen zu sein! 8o
    Was die Systeme anderer Engines betrifft, so finde ich den Zuwachs an Möglichkeiten immer sehr begrüßenswert. Der Partikeleditor von Godot ist in meinen Augen beispielsweise auch um Welten ausgereifter, als jener von GDevelop. Da wird mit der Zeit vielleicht auch noch etwas kommen. Denn die größeren Engines sind leider auch nicht so ganz meine Welt. Für meinen Geschmack zu viele wechselseitige Abhängigkeiten von weiteren externen Programmen/Schnittstellen, Größe und Wartezeiten im Workflow.

    Und was den kommerziellen Aspekt betrifft, so bin ich damit mehr als cool. Da steckt einfach auch eine Menge Arbeit hinter und je nach Lebenslage muss man schauen, dass man die aufgewandte Zeit irgendwie kompensieren kann. Gerade wenn man sowas langfristig machen möchte.

    Die Plugin-Dateien haben insgesamt einige 1000 Zeilen, aber viel davon ist auch Dokumentation und Validierung, damit potentielle Fehler nach Möglichkeit immer direkt beim Spielstart auftreten. Ich habe etwas moderneres JS mit class-Syntax benutzt, deshalb war das nicht allzu aufwändig. Allerdings mache ich das so zum ersten Mal, deshalb hat sich das alles ein paar Monate hingezogen 😅


    Es war schon mehr Arbeit, war aber auch viel interessanter als Bookmarks, wo ich furchtbar lange Listen von sehr ähnlichen Parametern implementieren musste.

    (Das Plugin ist von der Radiant Historia: Perfect Chronology-Demo aus dem 3DS-e-Shop inspiriert.)

    Was die Präsentation des Systems betrifft, so würde ich dem YT-Video noch Timestamps hinzufügen, welche bestimmte Eigenschaften nochmal besonders hervorheben. Auf diese Weise kann man als Zuschauer intuitiv eine Übersicht erhalten, anstelle sich in der Videobeschreibung, durch Untertitel oder Bildelementen im Video selbst zu orientieren. Ich glaube gerade bei komplexeren und mächtigen Tools ist Anschaulichkeit das A und O. :)

    Super Idee, danke! Habe ich jetzt umgesetzt, wobei das Video im Nachhinein vielleicht noch etwas zu kompakt ist.

    (Mindestlänge der Kapitel sind 10 Sekunden laut WikiHow, die erreiche ich nicht immer ganz ohne die Timestamps dazu ein bisschen zu verschieben.)


    Nächstes Mal ziehe ich es etwas auseinander und/oder wiederhole die Aktionen, um es etwas besser aufzuteilen.

    Meine Plugins sind "leider" immer sehr flexibel, sodass ich eigentlich kaum richtig auflisten kann, was damit alles möglich ist.

    Tamschi Es ist definitiv ein sehr interessantes Plugin. Ich muss mir allgemein mal deine Plugins durchschauen. Bin aber auch gespannt, was da noch von dir so kommt. Gibts da schon pläne für ein nächstes Plugin, oder kommt das bei dir so spontan?

    Ich habe eine Ideenliste, weil ich nicht zu allem komme, was ich gerne implementieren würde.

    Vorerst kommen aber ein paar Plugins, die auf der Battler Flipbooks Core-Seite noch als "TBA" aufgelistet sind. Nicht sicher, in welcher Reihenfolge.


    Ich arbeite nebenher noch an einer Möglichkeit, die Bilddateien von fertigen Spielen neu zu komprimieren, um Installationsgröße zu sparen, habe da aber noch nicht viel gemacht. Es kommt natürlich auf die genaue Art der Bilder an, aber in meinen Tests kam ich auf gut 40% Verringerung im verlustfreien Modus.

    Da JPEG XL aber selbst (leicht) verlustbehaftet normalerweise keine sichtbaren Artefakte aufweist, geht da wahrscheinlich sogar noch mehr bzw. weniger im Vergleich zu PNG.

    Das Plugin ist ja mal richtig nice :o

    Der einzige Grund warum ich das nicht sofort einbaue ist der Riesenaufwand an Animationen, den das für ein Projekt mit vielen verschiedenen Gegnern und Akteuren bedeuten würde. Aber lohnen würde es sich auf jeden Fall.

    Danke! Ich tobe mich da allgemein beim Feinschliff etwas aus.


    Ist aber wohl wirklich eher was für ein bisschen größere Produktionen, oder mit vorgefertigten Gegnersprites (auch) für andere Engines, die dann schon die entsprechenden Bilder "eingebaut" haben. Limited Animation wäre auch eine Idee, man muss ja nicht immer so weit gehen wie ich mit meinem superpraktischen Testwürfel hier.

    Ich habe mir vorhin einen Demo-Trailer für mein Animationsdingsda in Shotcut zusammengebastelt, weil sowohl Code als auch Doku jetzt endlich fertig sind :]

    Habe den sogar in einem einzigen Take aufnehmen können, weil der Kampf sehr günstig dafür ablief, sodass ich wirklich nur noch Titel einblenden musste.


    (Testen und Cover-Bild fertig erstellen muss ich aber noch, daher braucht's noch ca. einen Tag bis zum Release.)

    Und fertig: https://www.youtube.com/watch?v=4kAqxqwn6_8


    Musste tatsächlich nur noch an der Doku für MZ schrauben und einen Untertitel im Video ein bisschen länger einblenden, sonst hat's schon vor dem Test gepasst.

    Ich mache erst mal keinen Thread darüber, da das Plugin Teil einer Serie ist und ich euch nicht mit Threads zu meinen kommerziellen Plugins zuspammen möchte. Vielleicht gibt's später mal einen kleinen Showcase, wenn ich mehr von meinen Plänen implementiert habe und zeigen kann, wie die verschiedenen Layer miteinander interagieren.

    Ich habe mir vorhin einen Demo-Trailer für mein Animationsdingsda in Shotcut zusammengebastelt, weil sowohl Code als auch Doku jetzt endlich fertig sind :]

    Habe den sogar in einem einzigen Take aufnehmen können, weil der Kampf sehr günstig dafür ablief, sodass ich wirklich nur noch Titel einblenden musste.


    (Testen und Cover-Bild fertig erstellen muss ich aber noch, daher braucht's noch ca. einen Tag bis zum Release.)

    Tränke und Nahrung gleichzeitig finde ich auch deshalb interessant, da das eine leichte Unterscheidung zwischen Kampfgegenständen und solchen, die sich nur dazwischen einsetzen lassen, zulässt.

    Tamschi Auch beim zweiten Mal Lesen deines Textes sind das alles absolut böhmische Dörfer für mich |D Man merkt, ich arbeite selten mit der Engine außerhalb von Textboxen korrigieren. Hast du da irgendein Limit, was die Animationen angeht?

    Nein, bzw. das Limit ist, wie viel Grafikspeicher auf dem PC verfügbar ist. Also so um die 1000 unterschiedliche Animationsframes dürften pro Kampf drin sein.

    Doppelte Frames zählen nicht gegen das Limit, auch nicht auf mehrere Animationen verteilt, und solche die im aktuellen Kampf sicher nicht vorkommen auch nicht. Alles andere wird im Hintergrund geladen, sodass der Kampf dadurch nicht langsamer startet. (Falls mal was nicht rechtzeitig geladen ist dann gibt's pro Animation vier Optionen inkl. 2 Wartemodi, um Flackern der Sprites zu vermeiden. Der Parameter hat aber auch einen Standardwert, der für quasi alles passen müsste.)


    Man kann den sich wiederholenden Teil der Animationen nicht auf "unbegrenzt" setzten, aber selbst wenn der nur 1 Frame dauert sind das immer noch etwa 4,5 Stunden glaube ich. Das sollte reichen ;)

    (Mit echten Unendlichkeiten oder sehr sehr großen Zahlen gibt's bei den Berechnungen leicht Probleme, daher hab ich das etwas eingeschränkt.)


    Tamschi
    Also wenn ich es richtig verstanden habe, bekommt man durch das Plugin einige neue Möglichkeiten an die Hand, die Gegner in verschiedensten Situationen zu animieren? Die "Zauberwürfel" sind auf jeden Fall eine tolle Idee, dies zu visualisieren. Das wertet das Spielgefühl sicherlich gegenüber den Vanilla-Möglichkeiten stark auf!

    Auch finde ich es sehr löblich, dass Du Dir ausreichend Zeit für die Dokumentation nimmst! In meinen Augen ist es immer sehr schade, wenn man an sich richtig coolen Code zur Verfügung gestellt bekommt, dann jedoch merkt dass man sich überhaupt nicht zurecht findet. Eine Kombination aus offenem Spielprojekt und geschriebener Dokumentation ist da für mich der "heilige Gral" des Nutzer-Services. Aber Dokumentation haben in meinen Augen die höhere Gewichtung. :)

    Ich glaube, die "Power" des Systems entspricht in etwa den reinen Spriteanimationsfunktionen in Unity oder so.

    Habe mich aber nicht daran orientiert, da ich es nie verwendet habe. Dass Unity auch "Layer" hat weiß ich erst seit kurzem 😅

    (Mit diesen "großen" Engines komme ich einfach nicht klar, da ich da den Code nicht so schnell anpassen kann.)


    Eigentlich kann dieses System deutlich mehr, als in dem Video zu sehen ist, aber ich habe die entsprechenden Controller noch nicht fertig. Man kann aber zum Beispiel auch mit diesem Layer/Controller via "Tags" festlegen, dass bestimmte Animationen nur/nicht auf andere gerade sichtbare folgen, und dadurch zum Beispiel die Reaktionen auf Multi-Hit-Angriffe sehr einfach variieren. Anpassung basierend auf getragenen Rüstungen, Waffen, Schaltern und Kämpferzustand ist auch standardmäßig im Kernsystem eingebaut.


    Je nach Layer kann auch der Kampffluss durch laufende Animationen beeinflusst werden, aber das ist nicht im Kernsystem. In diesem Fall kann man nur zwischen vier Optionen auswählen, was passiert wenn ein Kämpfer an der Reihe ist, obwohl er noch animiert wird. (Animation sofort abbrechen/dynamisch kürzen/nur warten/weiter so)


    Beim für Angriffe spezifischen Layer wird's mehr Optionen geben, weil ich da spezifischer das Timing der relevanten Phasen im Kampf beeinflussen und beobachten kann. Bei den Layern für Aktionen allgemein wird es dann auch zusätzliche Parameter in den Bedingungen geben für z.B. Schwellenwerte der Elementareffektivität, bzw. bei Reaktionen wie viel prozentualen Schaden die Aktion angerichtet hat.


    Allerdings sind meine Controller nicht ganz umsonst, sollten aber verglichen mit anderen Sachen in diesem Bereich günstig sein.

    (Das Kernsystem gibt's gratis. Bzw. die Kernsysteme, sobald fertig. Ich bastele da gerade noch an was, dass das hier nochmal deutlich erweitert.)

    Das sieht interessant aus! Wir verwenden für unsere neueren Projekte kein rundenbasiertes Kampfsystem mehr, aber ich kann mir vorstellen, dass es sehr dazu beiträgt, diese Art von Kämpfen abwechslungsreich zu gestalten!

    Welches verwendet ihr? Mit den Standardkampfsystemen aus MV/MZ und denen aus den Battle Cores von Yanfly und VisuStella ist das hier alles kompatibel, soweit ich beurteilen kann. Theoretisch kann ich's auch für SRPG Gear MZ und so verfügbar machen, aber das würde ein zusätzliches Plugin erfordern, dass da ein paar Sachen verdrahtet. Steht relativ weit hinten auf meiner To-do-Liste.

    Eigentlich wollte ich das hier schon Mitte der Woche veröffentlicht haben, war dann aber krank und musste alles etwas verzögern: [YouTube] WIP: Occasional Battler Flipbooks

    (Wie mache ich das mit den Einbettungen hier?)


    Das ist ein Controller für meinen Battler-Animations-Stack, der Animationen immer dann abspielt, wenn bestimmte Funktionen in der Engine aufgerufen werden.

    Ist anfangs ein klein wenig komplexer zu benutzen als die spezifischeren Plugins für Aktionen und Reaktionen es sein werden, und bietet die dafür spezifischen Optionen und Features nicht, aber unspezifische Angriffs- und Schadensanimationen und so kann man auch damit super implementieren, wenn leichte "Sprünge" von der Idle-Animation aus okay sind.


    Man kann natürlich auch kürzere Angriffsanimationen benutzen, hier habe ich eine längere verwendet um das Beenden von Animationen am Ende jeder Runde zu testen.

    Das "Beenden am Ende des Angriffs" ist mit diesem Plugin hier allerdings nicht so leicht möglich.


    Der Programmcode ist jetzt quasi fertig, aber die Dokumentation ist leider noch :baustelle: und das nimmt oft etwa die Hälfte der Arbeit in Anspruch. Ich schau mal, ob ich's bis Mitte nächster Woche online stellen kann, muss aber auch noch in MZ testen. (Wobei da eigentlich nicht so viel schief laufen kann.)

    Tamschi

    Es ist etwas ähnliches, so wie ich Kojote verstanden hatte, will er die Variable auch ausserhalb des Spielstandes (zB Title Screen oder in nem anderen Spielstand) ebenfalls haben. Da hilft dieses Plugin nicht, soweit ich mich da jetzt rein gelesen hatte.

    In einem anderen Spielstand funktioniert es (es gibt nur eine "Persistent"-Datei für alle Spielstände zusammen).
    Die Spieldaten inkl. Variablen sind im Titel auch standardmäßig noch vorhanden, wenn das Spiel zuvor geladen war, allerdings nicht wenn das Spiel gerade erst gestartet wurde.

    Ich werd schauen, dass ich diese Woche das Plugin aufm MZ fertig bekomme. Sind dann aber 2 Plugins bzw. 1, wenn man die zwei zusammen in eine File packt.


    Wird aber im Grunde darauf hinaus laufen, dass man Variable-Werte in eine JSON packt und diese dann auch jederzeit abrufbar sind.

    Wäre das nicht sowas wie Persistent Data v5 von Jackkel Dragon? Ich bin mir ziemlich sicher, dass das Plugin auch für MZ funktionieren würde.
    Das schreibt die ausgewählten Switches in eine "Persistent"-Datei im Save-Ordner und lädt sie beim Laden auch wieder von dort.

    […]

    Sport und Sprachenlernen - eine spannende Mischung! Ich finde es immer faszinierend, wenn Menschen sich in mehreren Sprachen (mal mehr, mal weniger lässig) unterhalten können. Es ist ja das eine wenn Maschinen einem einige Dinge erleichtern können, aber nochmal das andere wenn man sich selbst geistig fit hält.
    Nutzt Du Deine Sprachkenntnisse dann auch bevorzugt im Ausland(surlaub)/auf der Arbeit oder ist es mehr das reine Interesse an der Kultur der jeweiligen Länder, welches Dich motiviert?
    Und in welche Richtung kochst Du am liebsten?

    Auslandsurlaub gab's bei mir eigentlich noch nie wirklich. Würde ich gern mal machen, wenn ich die Gelegenheit dazu habe.

    Das mit den Sprachen mache ich hauptsächlich, weil es mir mehr Möglichkeiten gibt, meine Gedanken zu organisieren. Ist aber auch im Alltag manchmal ganz praktisch.


    Ich bin beim Kochen noch nicht so festgelegt, kommt also darauf an, was mir gerade in den Kühlschrank kommt. Empanadas sind allerdings super!

    Ich durfte das vor meinem Auszug nicht lernen und erfreue mich immer noch daran, dass ich überhaupt eine eigene Küche habe und das jetzt tatsächlich tun kann. Deswegen versuche ich, Verschiedenes auszuprobieren. Manchmal klappt's gut, manchmal nicht, aber scheinbar habe ich zumindest etwas Talent dafür =)

    Je nach verwendeter Linux-Distro wäre es für mich ebenfalls spannend zu erfahren, wie gut Rocksmith (2014) bei Dir läuft! Win11 werde ich wegen ausgesperrter Hardware nicht verwenden, was mich dann wahrscheinlich doch vollständig zu Manjaro treiben wird. Kleine Opfer müssen dann eben erbracht werden, aber wäre cool wenn das durchmischte Feedback bei ProtonDB doch in Einzelfällen positiv ergänzt werden kann. =)

    Also bei mir auf EndeavourOS (Budgie) funktioniert es zumindest schon mal ohne Weiteres gar nicht, und das ist eine ähnliche Distro. Kann sein, dass sich da irgendwo das UPlay-DRM querstellt. (Ich hatte bei Manjaro in Verbindung mit dem AUR ein paar Mal Probleme mit zurückgehaltenen Paketen in den Manjaro-Repos und habe deshalb gewechselt. Bei EndeavourOS braucht man aber die Konsole ein bisschen mehr.)


    Windows 11 kommt mir allerdings auch nicht mehr auf den PC, es dauert da schon bei der Installation ewig, sich durch die ganze Werbung und Probeabos durchzuklicken und wird hinterher nicht wirklich besser. Da habe ich selbst mit meinem Hang, das Betriebssystem kaputtzumachen, bei Linux insgesamt viel weniger Arbeit. (Btrfs snapshots/Timeshift ist super, ich dreh' einfach den Computer zwei Stunden zurück und alles geht wieder :])

    Alles in allem würde ich Dich gar nicht als unspannend bezeichnen. Viel Spaß im Forum und danke für Dein Hilfsangebot - das wird sicherlich überaus praktisch sein! :D
    (Und solltest Du doch Lust auf ein kleines Mini-Projekt mit dem RPG Maker haben, kann man Dir hier ebenfalls sehr gut weiterhelfen!)

    Danke, aber ich bin leider eh schon völlig ausgebucht, was Hobbyprojekte angeht.

    Mein aktuelles "Hm, wie schwierig wäre es eigentlich, die Gegnersprites richtig gut zu animieren?" ist mir auch schon wieder deutlich mehr eskaliert, als ursprünglich geplant war, aber immerhin bin ich da jetzt quasi auf der Zielgeraden.