WER FESTHÄNGT BITTE HIER MELDEN

Für alle Käferchen... Manchmal schaut hier auch ein Irrwisch vorbei.

Moderatoren: Ratsgruppe Programmierer, A-Team

Re: WER FESTHÄNGT BITTE HIER MELDEN

Beitragvon ambermoon » Di 04 Aug, 2020 09:49

Lowlander hat geschrieben:Wie geschrieben, trat der Fehler auch mit der Version aus dem Juni an, bevor ich nach vielen Jahren wieder etwas an der AOQML-Engine verändert hatte, "in letzter Zeit" wäre dann also vor dem 27. Juni 2020.

... und nach dem 20.6.2014.

Lowlander hat geschrieben:Der Code an der Stelle ist auch viel zu komplex, das sollte ohne Rekursion gehen.

Einfacher ist immer besser. Allerdings ist mir beim Durchlesen (aka Code-Review) kein Logikfehler aufgefallen. Bin zwar kein AOQML-Kenner, aber merkwürdig ist es schon, wenn jetzt plötzlich unerklärliche Fehler auftauchen. Könnte auf ein tieferliegendes Problem hindeuten.
ambermoon
Herold
Herold
 
Beiträge: 107
Registriert: Sa 27 Sep, 2008 21:31
Heldenname: Selon Regentag
Mitglied bei: KOBRA

Re: WER FESTHÄNGT BITTE HIER MELDEN

Beitragvon Lowlander » Di 04 Aug, 2020 19:04

ambermoon hat geschrieben:... und nach dem 20.6.2014.


Wie kommst du auf das Datum?
Lowlander
:: Ratsmitglied :: Programmierung
:: Ratsmitglied :: Programmierung
 
Beiträge: 2194
Registriert: So 25 Nov, 2007 18:05
Wohnort: Hamburg + Hage/Ostfriesland
Heldenname: Markorka Faargh

Re: WER FESTHÄNGT BITTE HIER MELDEN

Beitragvon ambermoon » Di 04 Aug, 2020 20:48

An dem Tag haben wir erfahren, dass die Klänge live gehen. Die eigentliche Programmierung und Tests fanden natürlich davor statt. Damals sah AOQML vermutlich noch etwas anders aus.
ambermoon
Herold
Herold
 
Beiträge: 107
Registriert: Sa 27 Sep, 2008 21:31
Heldenname: Selon Regentag
Mitglied bei: KOBRA

Re: WER FESTHÄNGT BITTE HIER MELDEN

Beitragvon Lowlander » Di 04 Aug, 2020 21:46

ambermoon hat geschrieben:An dem Tag haben wir erfahren, dass die Klänge live gehen. Die eigentliche Programmierung und Tests fanden natürlich davor statt. Damals sah AOQML vermutlich noch etwas anders aus.


Ist "die Klänge" der Name des Quest-Epos? Definitiv hat Gaddezwerch, von dem wohl auch die Quest ist, danach etliche Verbesserungen in die AOQML-Engine eingebaut, die die problematische Szene auch einfacher umsetzbar machen.

Warum diese Rekursion aufgrund besonderer Umstände (die ich dann aber auf dem Testserver auch zufällig hatte) nicht oder nicht mehr funktionierte, weiß ich aber leider noch nicht. Jedenfalls habe ich für diese Szene einen Bugfix der in Kürze dann auf dem Eisentrutz-Server verfügbar sein wird (Für Programmierer: https://gitlab.com/antamar/a-und-o/-/merge_requests/20).

Grob überflogen könnte es in der Quest aber noch mehr als diese Szene geben, die so etwas nutzt. Das checke ich an einem der nächsten Wochenenden...
Lowlander
:: Ratsmitglied :: Programmierung
:: Ratsmitglied :: Programmierung
 
Beiträge: 2194
Registriert: So 25 Nov, 2007 18:05
Wohnort: Hamburg + Hage/Ostfriesland
Heldenname: Markorka Faargh

Re: WER FESTHÄNGT BITTE HIER MELDEN

Beitragvon Tommek » Di 04 Aug, 2020 22:12

Fix ist Online. Die Möglichkeit bei drop mehrere Waren anzugeben, ist jünger als die Quest.

Edit: An der Quest waren viele beteiligt aus Crystals DSA-Foren. Ich liebäugel auch immer noch mit einem zweiten Teil: "(falsche) Steine des Salamanders"
Benutzeravatar
Tommek
Site Admin
Site Admin
 
Beiträge: 7448
Registriert: Mi 17 Mai, 2006 22:40
Wohnort: Eodatia
Heldenname: Alrik Dormwald
Mitglied bei: Orkwacht

Re: WER FESTHÄNGT BITTE HIER MELDEN

Beitragvon ambermoon » Mi 05 Aug, 2020 00:20

Lowlander hat geschrieben:Ist "die Klänge" der Name des Quest-Epos? Definitiv hat Gaddezwerch, von dem wohl auch die Quest ist, danach etliche Verbesserungen in die AOQML-Engine eingebaut, die die problematische Szene auch einfacher umsetzbar machen.

https://antamar.eu/?p=467

Lowlander hat geschrieben:Grob überflogen könnte es in der Quest aber noch mehr als diese Szene geben, die so etwas nutzt. Das checke ich an einem der nächsten Wochenenden...

Die ganzen Klänge sind voll von solchen Mechaniken. Ich wäre ohne einen genauen Plan, was wo getriggert wird, extrem zurückhaltend bei Veränderungen.

Tommek hat geschrieben:Ich liebäugel auch immer noch mit einem zweiten Teil: "(falsche) Steine des Salamanders"

Ich halte eine Veröffentlichung auch weiterhin für denkbar, bin da aber wirklich nicht der richtige. :mrgreen:
ambermoon
Herold
Herold
 
Beiträge: 107
Registriert: Sa 27 Sep, 2008 21:31
Heldenname: Selon Regentag
Mitglied bei: KOBRA

Re: WER FESTHÄNGT BITTE HIER MELDEN

Beitragvon Groo » Mi 05 Aug, 2020 01:04

Tommek hat geschrieben:Fix ist Online. Die Möglichkeit bei drop mehrere Waren anzugeben, ist jünger als die Quest.

Wollte nur Bescheid geben, der Fix funktioniert. Vielen Dank allen Beteiligten :Applaus: :danke:
Groo
Taugenichts
Taugenichts
 
Beiträge: 17
Registriert: Do 09 Jul, 2020 18:24
Heldenname: Hektor

Re: WER FESTHÄNGT BITTE HIER MELDEN

Beitragvon Lowlander » Do 06 Aug, 2020 19:03

Groo hat geschrieben:
Tommek hat geschrieben:Fix ist Online. Die Möglichkeit bei drop mehrere Waren anzugeben, ist jünger als die Quest.

Wollte nur Bescheid geben, der Fix funktioniert. Vielen Dank allen Beteiligten :Applaus: :danke:


Und ich muss nochmal nachfragen: Bist du echt mit einer Gruppe in der Quest? Ich kann den originalen Fehler nur nachvollziehen, wenn ich die Quest als Einzelspieler mache (habe den Testhelden da ja rein-ge-faked), als Gruppe funktioniert es auch mit dem alten Code (und ähnlicher Code kommt da auch öfters noch vor).

Ab jetzt für Programmierer: Der Grund ist dann nämlich auch klar: Ohne Gruppe ist <switch attribute="anzahl_gruppenmitglieder"> nämlich 0 und nicht 1, so dass die Rekursion nie endet. Dabei frage ich mich, warum ist anzahl_gruppenmitglieder ohne Gruppe nicht 1, ist doch praktisch eine 1er-Gruppe.
Lowlander
:: Ratsmitglied :: Programmierung
:: Ratsmitglied :: Programmierung
 
Beiträge: 2194
Registriert: So 25 Nov, 2007 18:05
Wohnort: Hamburg + Hage/Ostfriesland
Heldenname: Markorka Faargh

Re: WER FESTHÄNGT BITTE HIER MELDEN

Beitragvon Lowlander » Do 06 Aug, 2020 19:16

ambermoon hat geschrieben:Die ganzen Klänge sind voll von solchen Mechaniken. Ich wäre ohne einen genauen Plan, was wo getriggert wird, extrem zurückhaltend bei Veränderungen.


Änderungen an diesen Questen? Nun, wenn sie mit der aktuellen AOQML-Engine nicht mehr funktionieren, müssen wir sie wohl anpassen. Oder Änderungen an der AOQML-Engine? Da bin ich eh immer sehr vorsichtig, wenn auch das leider nicht immer fehlerfrei bleibt.

Sehr hilfreich wären automatisierte Tests. Könnte mir da etwas mit Testcafe auf dem Testserver vorstellen, man müsste dann die Würfelergebnisse vorgeben können. Steht auf meiner langen Liste...
Lowlander
:: Ratsmitglied :: Programmierung
:: Ratsmitglied :: Programmierung
 
Beiträge: 2194
Registriert: So 25 Nov, 2007 18:05
Wohnort: Hamburg + Hage/Ostfriesland
Heldenname: Markorka Faargh

Re: WER FESTHÄNGT BITTE HIER MELDEN

Beitragvon ambermoon » Do 06 Aug, 2020 19:41

Lowlander hat geschrieben:Änderungen an diesen Questen? Nun, wenn sie mit der aktuellen AOQML-Engine nicht mehr funktionieren, müssen wir sie wohl anpassen. Oder Änderungen an der AOQML-Engine? Da bin ich eh immer sehr vorsichtig, wenn auch das leider nicht immer fehlerfrei bleibt.

Die Klänge verwenden das, was seinerzeit Standard war. Sollte die AOQML-Engine nicht rückwärtskompatibel sein, betrifft das vermutlich eine ganze Reihe von älteren Questen.

Eine Modernisierung der Klänge könnte leicht zur Sisyphos-Aufgabe werden. Ich habe damals ein eigenes Tool nur für die Auflistung der logischen Abhängigkeiten der Subquesten geschrieben.

Lowlander hat geschrieben:Ab jetzt für Programmierer: Der Grund ist dann nämlich auch klar: Ohne Gruppe ist <switch attribute="anzahl_gruppenmitglieder"> nämlich 0 und nicht 1, so dass die Rekursion nie endet. Dabei frage ich mich, warum ist anzahl_gruppenmitglieder ohne Gruppe nicht 1, ist doch praktisch eine 1er-Gruppe.

Der Fall dürfte gar nicht auftreten. Zu Beginn jeder Subqueste wird geprüft, ob die Gruppe genau vier Mitglieder hat.
ambermoon
Herold
Herold
 
Beiträge: 107
Registriert: Sa 27 Sep, 2008 21:31
Heldenname: Selon Regentag
Mitglied bei: KOBRA

Re: WER FESTHÄNGT BITTE HIER MELDEN

Beitragvon Pergor » Do 06 Aug, 2020 20:08

Lowlander hat geschrieben:Dabei frage ich mich, warum ist anzahl_gruppenmitglieder ohne Gruppe nicht 1, ist doch praktisch eine 1er-Gruppe.

Es gibt ja theoretisch auch "1er-Gruppen", nämlich dann, wenn man z.B. eine Gruppe gründet, und dann irgendwann alle Mitglieder bis auf einer die Gruppe verlassen Dann befindet sich der verbleibende immer noch in einer "Gruppe". In technischer Hinsicht existiert da also wohl irgendwie ein Unterschied. Vielleicht ist das deswegen damals so gemacht worden? Irgendwie muss ja konsequent unterschieden werden können zwischen "Gruppe" und "Solo".

Ich liebäugel auch immer noch mit einem zweiten Teil: "(falsche) Steine des Salamanders"

Die Quest(-Reihe) liegt tatsächlich fertig geschrieben in AOQML vor, bis auf Kleinigkeiten. Unter dem Titel "Schweif des Schicksals" :mrgreen: :P

Leider sind nach und nach alle Mithelfer abgesprungen und das Projekt ist eingeschlafen. Eigentlich schade drum, aber Stand jetzt wird das wohl nix mehr. Denn der langwierige und zeitaufwendige Testprozess stünde noch bevor und dafür sind keine Leute da. Ärgert mich auch wohl ein wenig, denn wieviele hundert Arbeitsstunden ich da reingesteckt habe, will ich im Nachhinein wohl gar nicht mehr wissen, das wäre zu frustrierend. :|
Benutzeravatar
Pergor
Oberleutnant
Oberleutnant
 
Beiträge: 1178
Registriert: Do 07 Jun, 2007 18:45
Wohnort: Turm des Magiers
Heldenname: inaktiv

Re: WER FESTHÄNGT BITTE HIER MELDEN

Beitragvon Lowlander » Do 06 Aug, 2020 20:24

ambermoon hat geschrieben:Die Klänge verwenden das, was seinerzeit Standard war. Sollte die AOQML-Engine nicht rückwärtskompatibel sein, betrifft das vermutlich eine ganze Reihe von älteren Questen.


1. Es steht noch gar nicht fest, ob es ein neuer Fehler war oder eine besondere Situation (1 Held statt Gruppe), die zu dem Fehler führte.

2. Falls es eine Änderung der Engine war, liegt die schon länger her.

3. Ohne automatisierte Tests, die wir nun einmal nicht haben, würde das bedeuten, dass wir gar keine Erweiterungen, ja nicht einmal Bugfixes an der Engine machen dürften.

ambermoon hat geschrieben:Eine Modernisierung der Klänge könnte leicht zur Sisyphos-Aufgabe werden. Ich habe damals ein eigenes Tool nur für die Auflistung der logischen Abhängigkeiten der Subquesten geschrieben.

Ich rede noch von Modernisierung, nur von punktuellen Anpassungen/Bugfixes.

ambermoon hat geschrieben:Der Fall dürfte gar nicht auftreten. Zu Beginn jeder Subqueste wird geprüft, ob die Gruppe genau vier Mitglieder hat.


Wie gesagt, ich konnte den Fehler (mit der beim Auftreten aktuellen Antamar-Version und dem alten Quest-Code) nur mit 1 (künstlich in die Quest versetzten) Helden nachvollziehen, schon mit 2 Helden hat der alten Quest-Code mit der neuen Engine funktioniert. Evtl. war es mal eine 4er Gruppe und die ist aus irgend einem Grund zerfallen? Was passiert z.B. wenn Helden gelöscht werden? Gruppe verlassen ist während der Quest wohl nicht möglich, weil die Bereiche von Antamar nicht zugänglich sind, solange eine Quest läuft (außer bei pending Status, der in der Quest nicht verwendet wird). Ob es immer noch eine echte Gruppe ist, kann nur der Spieler beantworten - oder jemand mit Datenbank-Einblick auf dem Produktiv-Server (habe ich nicht). Alles andere ist hypothetisch.
Lowlander
:: Ratsmitglied :: Programmierung
:: Ratsmitglied :: Programmierung
 
Beiträge: 2194
Registriert: So 25 Nov, 2007 18:05
Wohnort: Hamburg + Hage/Ostfriesland
Heldenname: Markorka Faargh

Re: WER FESTHÄNGT BITTE HIER MELDEN

Beitragvon Lowlander » Do 06 Aug, 2020 20:25

Pergor hat geschrieben:
Ich liebäugel auch immer noch mit einem zweiten Teil: "(falsche) Steine des Salamanders"

Die Quest(-Reihe) liegt tatsächlich fertig geschrieben in AOQML vor, bis auf Kleinigkeiten. Unter dem Titel "Schweif des Schicksals" :mrgreen: :P

Leider sind nach und nach alle Mithelfer abgesprungen und das Projekt ist eingeschlafen. Eigentlich schade drum, aber Stand jetzt wird das wohl nix mehr. Denn der langwierige und zeitaufwendige Testprozess stünde noch bevor und dafür sind keine Leute da. Ärgert mich auch wohl ein wenig, denn wieviele hundert Arbeitsstunden ich da reingesteckt habe, will ich im Nachhinein wohl gar nicht mehr wissen, das wäre zu frustrierend. :|


Es gibt viel zu tun, packen wir's an! Wir brauchen eh eine Teststrategie für Queste.
Lowlander
:: Ratsmitglied :: Programmierung
:: Ratsmitglied :: Programmierung
 
Beiträge: 2194
Registriert: So 25 Nov, 2007 18:05
Wohnort: Hamburg + Hage/Ostfriesland
Heldenname: Markorka Faargh

Re: WER FESTHÄNGT BITTE HIER MELDEN

Beitragvon ambermoon » Do 06 Aug, 2020 20:59

Lowlander hat geschrieben:3. Ohne automatisierte Tests, die wir nun einmal nicht haben, würde das bedeuten, dass wir gar keine Erweiterungen, ja nicht einmal Bugfixes an der Engine machen dürften.

Die Alternative wäre, darauf zu achten, dass man die alte Funktionalität beibehält. Oder man kann die neue und die alte Version für alle ursprünglich erlaubten Inputs Seite an Seite testen. Wenn sich ein Programm auf Bugs in der Engine verlässt, ist es selbst fehlerhaft. Wenn das viele Programme tun, ist es ein Feature und kein Bug. :mrgreen:

Lowlander hat geschrieben:
Evtl. war es mal eine 4er Gruppe und die ist aus irgend einem Grund zerfallen? Was passiert z.B. wenn Helden gelöscht werden? Gruppe verlassen ist während der Quest wohl nicht möglich, weil die Bereiche von Antamar nicht zugänglich sind, solange eine Quest läuft (außer bei pending Status, der in der Quest nicht verwendet wird).

Die Klänge bestehen ja aus vielen einzelnen Questen, die über Heldenvariablen logisch verbunden werden. Die Skripte, die beim Start jeder Queste die Gruppen testen, sind ziemlich ausgefeilt und wurden damals gründlich durchgetestet.
Problematisch könnte es sein, wenn ein Held während der laufenden Queste gelöscht wird.
ambermoon
Herold
Herold
 
Beiträge: 107
Registriert: Sa 27 Sep, 2008 21:31
Heldenname: Selon Regentag
Mitglied bei: KOBRA

Re: WER FESTHÄNGT BITTE HIER MELDEN

Beitragvon Lowlander » Do 06 Aug, 2020 21:20

ambermoon hat geschrieben:Die Alternative wäre, darauf zu achten, dass man die alte Funktionalität beibehält. Oder man kann die neue und die alte Version für alle ursprünglich erlaubten Inputs Seite an Seite testen. Wenn sich ein Programm auf Bugs in der Engine verlässt, ist es selbst fehlerhaft. Wenn das viele Programme tun, ist es ein Feature und kein Bug. :mrgreen:


Ohne automatisierte Tests ist das praktisch unmöglich. Hast du überhaupt eine Vorstellung, wie viele Kombinationen es da für die meisten AOQML-Tags gibt, vor allem wenn man Variablen-Zustände mit einbezieht? Aber wir drehen uns im Kreis, was du verlangst ist unter den Umständen unmöglich.

Lowlander hat geschrieben:
Die Klänge bestehen ja aus vielen einzelnen Questen, die über Heldenvariablen logisch verbunden werden. Die Skripte, die beim Start jeder Queste die Gruppen testen, sind ziemlich ausgefeilt und wurden damals gründlich durchgetestet.
Problematisch könnte es sein, wenn ein Held während der laufenden Queste gelöscht wird.


Der Test wird auch funktionieren, das bezweifel ich gar nicht, der ist nämlich relativ trivial. Warten wir mal auf eine Antwort vom Spieler, sonst ist das Spekulation.
Lowlander
:: Ratsmitglied :: Programmierung
:: Ratsmitglied :: Programmierung
 
Beiträge: 2194
Registriert: So 25 Nov, 2007 18:05
Wohnort: Hamburg + Hage/Ostfriesland
Heldenname: Markorka Faargh

VorherigeNächste

Zurück zu Fehlermeldungen



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste