Autor Thema: Weiterentwicklung der Starterpacks (Allgemein)  (Gelesen 51932 mal)

Cone Arex

  • Mod
  • alter Tentakel
  • **
  • Beiträge: 2302
  • Geschlecht: Männlich
  • Skandal-Entwickler und Idiot
    • Profil anzeigen
    • Conequest
Re: Weiterentwicklung der Starterpacks (Allgemein)
« Antwort #30 am: 23. Juni 2015, 22:28:54 »
Ich habe bereits vor einige Zeit mit AGS 3.4 experimentiert. Ich weiß, Beta und so. Kann aber trotzdem nicht schaden, sich die Version schon mal anzusehen.

Bei 3.4 wurden wieder größere Änderungen vorgenommen, die es nötig machen die SPs wieder abzudaten.

Insgesamt gibt es drei Problemstellen:

1. Die Syntax von ProcessClick() wurde verändert.
ProcessClick() heißt nun Room.ProcessClick(). Da die Anzahl und Reihenfolge der Parameter nicht verändert wurde ist dieses Problem eine Sache von Sekunden und kann von jedem selbst vorgenommen werden.

2. FaceDirection ist nun ein interner Befehl von AGS.
FaceDirection war ein Befehl, der von LucasFan/Proscito (wer auch immer das Script damals erstellt hat) selbstgeschrieben wurde. Ab 3.4 bringt AGS diese Funktion selbst mit, was unsere Funktion überflüssig macht.
Da der AGS-interne Befehl exakt die gleiche Schreibweise verwendet, erzeugt unsere Definition nun eine Fehlermeldung (AGS erlaubt das Überladen von Funktionen nicht). Die Funktionsdefinition kann einfach entfernt werden, das eigentliche Problem sind diesmal die Parameter: Anstelle von "eDir[X]" schreiben sich die internen Parameter "eDirection[X]".
2.5 EnterRoom ist nun überflüssig.
Der Sinn von EnterRoom war es, den Raumwechsel und FaceDirection in einen Befehl zusammenzufassen. Da FaceDirection jetzt standmäßig vorhanden ist, wurde ChangeRoom um einen optionalen Richtungs-Parameter erweitert. Die gesamte Funktionalität von EnterRoom fließt in ChangeRoom ein, womit es für die Verwendung von EnterRoom keinen Grund mehr gibt. Zusätzlich ist ChangeRoom dynamischer, da es einer beliebigen Anzahl von Argumenten funktioniert, wohingegen EnterRoom stehts drei Argumente erwartet.

3. Das Türensystem funktioniert nicht mehr richtig.
Das Türensystem nimmt für jede Türenseite nur eine Richtung entgegen, die irgendwie "umgedreht" werden, wenn man auf der anderen Seite steht. Ich habe nicht heraus gefunden (Dokumentation, anyone?) wie das erreicht wird, wahrscheinlich hat es irgendetwas mit zwei Zeilen zu tun, die ich nicht verstehe.
Aufjedenfall funktioniert das System nicht mehr. Der Charakter dreht sich immer in eine falsche Richtung, wenn er Türen von der anderen Seite anläuft.
Mein Lösungsansatz hier wäre eine Funktion zu schreiben, die eine Richtung vom Typ CharacterDirection (neuer Datentyp) entgegen nimmt und dann die entgegengesetzte Richtung zurückgibt. Diese kann dann in ClickDoor benutzt werden, um den Charakter entsprechend drehen zu lassen.

Zu 2. bin ich noch etwas unschlüssig. Es ist machbar, dass die alten Funktionen und Parameter weiterhin verwendbar sind. Gemessen daran, wieviele Leute selbst nach 10 Jahren (!) noch DisplaySpeech und co. verwenden halte ich einen "radikalen Schnitt" doch für sinnvoller.

Wer sich ein Bild von allem machen will: Im Wendy-SP-Repositry ist ein zusätzlicher Branch, der alle Änderungen enthält: https://github.com/ManiacMansionMania/Wendy-SP/tree/rule34
Das playerExtend-Modul heißt jetzt legacyExtensions, da es keine Funktion mehr erfüllt, außer Kompatiblität zu Legacy Code bereitszustellen. Wenn man standardkonform scriptet, ist es gefahrlos entfernbar.
« Letzte Änderung: 23. Juni 2015, 22:45:07 von Cone Arex »


Folge mir auf X und itch.io

rulaman

  • Moderator
  • Teenie Tentakel
  • *****
  • Beiträge: 354
  • Geschlecht: Männlich
    • Profil anzeigen
Re: Weiterentwicklung der Starterpacks (Allgemein)
« Antwort #31 am: 24. Juni 2015, 18:02:31 »
Zitat
… halte ich einen "radikalen Schnitt" doch für sinnvoller.

Meine Rückendeckung hast du. Ich würde einfach sagen: Mach es.

1. Einfach ändern, das passt so.

2. Dass FaceDirection einmal kommen wird, war mit klar. Du kannst on mir aus sogar die anderen Befehle anpassen, dass überall eDirection
  • verwendet werden muss und eDir
  • rauswerfen. Fertig.


2.5. Kann man Code so kompilieren oder einen '#warning'-Tag verwenden, der bei EnterRoom meckert und einen darauf hinweist doch lieber ChangeRoom zu verwenden? Ansonsten einfach ChangeRoom aufrufen mit angepassten Parametern.

3. Das Türensystem funktioniert so, dass die Richtung die in der Door.asc angegeben ist immer die Richtung anzeigt, die der Player zur Tür steht bevor der Raum gewechselt wurde. Wenn er den neuen Raum betritt, wird also die Richtung umgedreht.

siehe GlobalScript.asc Funktion: DoorType::ClickSpecial

[ags]…
else if ( player.Room == this.l_NewRoom )
{
  l_Direction            = reverseDirection(this.l_NewDirection);
  …
}[/ags]


Schlußfolgerung: Schmeiß den alten Krempel endlich raus. Wer weiterhin die alten Sachen verwenden möchte muss sie für sich einpflegen oder weiterhin eine alte Version verwenden. Das wollte ich schon früher machen. Aber deshalb auch meine Rückendeckung.

Baden ist die einzige Möglichkeit, den Dreck der Füße an den Hals zu bekommen.

Elvis

  • kleiner Tentakel
  • ***
  • Beiträge: 112
    • Profil anzeigen
    • Brainless Games
Re: Weiterentwicklung der Starterpacks (Allgemein)
« Antwort #32 am: 18. September 2015, 13:59:13 »
Einige Fragen und Hinweise von einem Neuling:

Welches Starterpack ist technisch auf dem aktuellsten Stand, also weitgehend bugfrei?

Ich habe bisher das "Maniac Mansion Starterpack für AGS 3.2.1" genommen. Dort fielen mir mittlerweile zwei größere Bugs auf, die durch ManiacTwister und Cone Arex gelöst werden konnten.
Siehe hier: http://www.maniac-mansion-mania.de/forum/index.php?topic=2408.0
und hier: http://www.maniac-mansion-mania.de/forum/index.php?topic=2428.0

Gibt es EIN Starterpack, in das bekannte "Bugfixes" eingepflegt werden?
Oder könnt Ihr mir das "aktuellste" nennen? Bei GitHub blicke ich nicht durch, da steht doch immer, dass es zuletzt vor drei oder vier Jahren geändert wurde...?
« Letzte Änderung: 18. September 2015, 17:15:05 von Elvis »

Cone Arex

  • Mod
  • alter Tentakel
  • **
  • Beiträge: 2302
  • Geschlecht: Männlich
  • Skandal-Entwickler und Idiot
    • Profil anzeigen
    • Conequest
Re: Weiterentwicklung der Starterpacks (Allgemein)
« Antwort #33 am: 18. September 2015, 20:22:47 »
Zitat
Gibt es EIN Starterpack, in das bekannte "Bugfixes" eingepflegt werden?
Im Falle des Mansion-SPs, nein.
Zitat
Bei GitHub blicke ich nicht durch, da steht doch immer, dass es zuletzt vor drei oder vier Jahren geändert wurde...?
Git dokumentiert alle Änderungen und den genauen Zeitpunkt, wann die Änderung vorgenommen wurde. Wenn da steht, das die Datei XY vor vier Jahren das letzte mal geändert wurde, wurde sie auch tatsächlich das letzte Mal vor vier Jahren geändert.
Unter Commits kannst du alle Änderungen einsehen: https://github.com/ManiacMansionMania/Mansion-SP/commits/master
Am Mansion-SP wurde also tatsächlich das letzte mal am 30. Juni 2013 IRGENDETWAS geändert.


Folge mir auf X und itch.io

Elvis

  • kleiner Tentakel
  • ***
  • Beiträge: 112
    • Profil anzeigen
    • Brainless Games
Re: Weiterentwicklung der Starterpacks (Allgemein)
« Antwort #34 am: 18. September 2015, 20:40:18 »
Zitat
Gibt es EIN Starterpack, in das bekannte "Bugfixes" eingepflegt werden?
Im Falle des Mansion-SPs, nein.

Danke für die Antwort.

Aber gibt es irgendein Starterpack online, in das Du die Änderungen einpflegst? Welches soll ich nehmen, um aktuellen Code zu haben? Räume und Charaktere sind mir egal, die kann ich aus anderen übernehmen.

Cone Arex

  • Mod
  • alter Tentakel
  • **
  • Beiträge: 2302
  • Geschlecht: Männlich
  • Skandal-Entwickler und Idiot
    • Profil anzeigen
    • Conequest
Re: Weiterentwicklung der Starterpacks (Allgemein)
« Antwort #35 am: 18. September 2015, 20:51:36 »
Im Bernard-SP ist der Give-Bug beseitigt. Die restlichen Starterpacks kommen aber auch noch irgendwann dran.


Folge mir auf X und itch.io

Cone Arex

  • Mod
  • alter Tentakel
  • **
  • Beiträge: 2302
  • Geschlecht: Männlich
  • Skandal-Entwickler und Idiot
    • Profil anzeigen
    • Conequest
Re: Weiterentwicklung der Starterpacks (Allgemein)
« Antwort #36 am: 26. Februar 2016, 21:22:46 »
Ich bin dafür, dass wir den jeweils aktuellen Minor Release als Version für die Starterpacks festlegen. Aktuell wäre das 3.3.
Ein Jahr und vier Tage später...keine Antwort.

Als Nächstes: Welche Charaktere sollen in die Starterpacks? Ist es wirklich notwendig, den gesamten MM-Cast in jedem Starterpack zu haben? Die 3er Starterpacks schleppen außerdem die gesamte Pantz-Familie mit, einschließlich unterschiedlichen Sprites für Sandy. Und die gehören wahrlich nicht in jedes SP.
Ich bin gerade dabei die Pantz-Familie plus Postbote (von wem stammt der eigentlich?) aus allen SPs außer Sandy rauszukannten. Irgendwelche Einwände?


Folge mir auf X und itch.io

Elvis

  • kleiner Tentakel
  • ***
  • Beiträge: 112
    • Profil anzeigen
    • Brainless Games
Re: Weiterentwicklung der Starterpacks (Allgemein)
« Antwort #37 am: 27. Februar 2016, 07:32:01 »
Meiner Meinung nach braucht's nur die notwendigsten Charaktere in den Starterpacks, denn zusätzliche Figuren sind ja sehr einfach über die "Import"-Funktion einzufügen.

Kiwa

  • volljähriger Tentakel
  • *****
  • Beiträge: 779
  • Geschlecht: Männlich
    • Profil anzeigen
Re: Weiterentwicklung der Starterpacks (Allgemein)
« Antwort #38 am: 27. Februar 2016, 19:31:53 »
Ich bin gerade dabei die Pantz-Familie plus Postbote (von wem stammt der eigentlich?) aus allen SPs außer Sandy rauszukannten. Irgendwelche Einwände?

Also schon vorhandene Leute wieder rauszuschmeißen ist doch nicht nötig. Es nimmt kaum Speicherplatz weg und was schonmal drin ist kann dann doch auch drin bleiben. Ich sehe hier keine Notwendigkeit in den (neuen) SPs nur die "Standard"-Charaktere zu haben. Echter Luxus wäre doch wenn überall alle drin sind.

Und wenn man beim Entwickeln seiner Epi mal schnell schauen möchte wie die Scene mit einem anderen Char wirkt, kann man es sehr schnell testen und nicht erst nach dem Download suchen um dann den Char runterzuladen und dann zu importieren.

Viele die in der Entwicklung aktiv sind sagen zwar das der Import sehr schnell und einfach geht (und mitlerweile ist da auch für mich sehr einfach) aber ich denke insbesondere an Neulinge die es nur mit Standard-Chars wohl etwas schwerer haben.

Und nochmal die Frage "Warum rausschmeißen was schon drin ist?". Da wir alle Vielfalt in den Epis wünschen sind andere/neue Chars doch immer gerne gesehen. Warum dann nicht auch in den SPs?
Das Leben ist ein Adventure. Aber ohne Komplettlösung.

Für fast alles gibt es eine logische Erklärung. Für alles andere ein Placebo.

Cone Arex

  • Mod
  • alter Tentakel
  • **
  • Beiträge: 2302
  • Geschlecht: Männlich
  • Skandal-Entwickler und Idiot
    • Profil anzeigen
    • Conequest
Re: Weiterentwicklung der Starterpacks (Allgemein)
« Antwort #39 am: 08. April 2016, 22:05:44 »
Besser spät als nie.

Zitat
Also schon vorhandene Leute wieder rauszuschmeißen ist doch nicht nötig. Es nimmt kaum Speicherplatz weg und was schonmal drin ist kann dann doch auch drin bleiben.
Die Starterpacks sollten eine simple und kompakte Vorlage für neue Episoden bilden und nicht mit irgendwelchem Bloat vollgestopft werden, der selten bis gar nicht benutzt wird. In den Starterpacks sind zum Beispiel aktuell mind. 4 unterschiedliche Grafiken für Sandy vorhanden. In wie vielen Episoden würden diese Verwendung finden? Oder noch besser: In wie vielen Episoden wurden die Sandy-in-rot-Grafken (oder die gelben, oder die blauen...) bislang verwendet? Hinweis: In keiner. Warum soll sowas in die Starterpacks?
Auch enthielten fast alle Charakter beim ersten Erscheinen noch Fehler. Fehlende Schattierungen von Razors Beinen, Bernards ewig rote Nase oder der Delay bei Jeff um mal ein der Fehler zu nennen, die sich durch fast alle lucasfanschen SPs gezogen hatten. Oder Hautkrebs-Britney, um ein Beispiel aus den rulamanschen SPs zu nehmen. Würden die Charaktere nur als .cha vorliegen, müsste auch immer nur die .cha geändert werden. So wie es jetzt ist, müssen immer ALLE SPs abgedatet werden, um die Fehler zu fixen. Und beim nächsten SP wäre der Fehler wieder da, weil erfahrungsgemäß immer veraltete SPs als Grundlage für neue SPs verwendet werden.

Zitat
Echter Luxus wäre doch wenn überall alle drin sind.
Nein, das wäre eine Katastrophe. 90 Charaktere in den SPs, aber nur fünf werden in der Episode verwendet? Danke, das ich mir die Arbeit machen soll, den Rest zu löschen.

Zitat
Viele die in der Entwicklung aktiv sind sagen zwar das der Import sehr schnell und einfach geht (und mitlerweile ist da auch für mich sehr einfach) aber ich denke insbesondere an Neulinge die es nur mit Standard-Chars wohl etwas schwerer haben.
Einen vorgefertigten Charakter im AGS-Charakterformat zu importieren ist nicht schwieriger als eine .docx zu öffnen. Wer bereits an so etwas scheitert, hat hier nichts verloren.
« Letzte Änderung: 08. April 2016, 22:07:03 von Cone Arex »


Folge mir auf X und itch.io

Elvis

  • kleiner Tentakel
  • ***
  • Beiträge: 112
    • Profil anzeigen
    • Brainless Games
Re: Weiterentwicklung der Starterpacks (Allgemein)
« Antwort #40 am: 09. April 2016, 07:18:31 »
Beim letzten Post gebe ich Cone Arex in jedem Punkt voll und ganz Recht.

Cmdr

  • volljähriger Tentakel
  • *****
  • Beiträge: 719
    • Profil anzeigen
Re: Weiterentwicklung der Starterpacks (Allgemein)
« Antwort #41 am: 09. April 2016, 10:59:07 »
Genau das gleich Problem hast du aber auch mit Fehlern im Globalscript, etc.
Wenn du da einen Fehler fixen willst, musst du das gleich in allen Starterpacks tun.

Ich schreibe gerade meine Masterarbeit zum Thema Software-Produktlinien und da ist es so (ganz grob angerissen), dass man einen Software-Kern hat, an den je nach Bedarf bestimmte Elemente "angedockt" werden können. So ist es möglich, mit diesem Kern, der immer das selbe Stück Software ist, die unterschiedlichsten Programme zu entwickeln.

Dieses Konzept wäre rein theoretisch auch für die MMM-Starterpacks optimal. Soll heißen, es gibt nur noch ein Starterpack, das alle notwendigen Scripte enthält. Wenn Änderungen notwendig sind, gibt es nur noch diese eine Stelle, an der bearbeitet werden muss. Die benötigten Charaktere und die Locations müsste man dann nachträglich hinzufügen. Für Anfänger wäre es dann natürlich optimal, wenn es eine Art Installer gibt, in dem man die gewünschte Location und andere Assets bequem auswählt und am Ende ein fertiges, angepasstes Starterpack generiert wird. Aus rein Softwaretechnischer Sicht stellt dieses Konzept das Optimum dar.

Leider wird aber die Umsetzung in der Praxis ein wenig schwierig werden. Und das liegt wahrscheinlich einfach an der Beschränktheit und Geschlossenheit des AGS-Editors. Man müsste für diesen "Starterpack-Installer" Code schreiben, der automatisch bestimmte Räume, Charaktere, etc. lädt und in das Grundstarterpack importiert. Ob AGS dafür die notwendigen Schnittstellen hat, weiß ich nicht. Ich wage es aber leider zu bezweifeln.

Cone Arex

  • Mod
  • alter Tentakel
  • **
  • Beiträge: 2302
  • Geschlecht: Männlich
  • Skandal-Entwickler und Idiot
    • Profil anzeigen
    • Conequest
Re: Weiterentwicklung der Starterpacks (Allgemein)
« Antwort #42 am: 09. April 2016, 14:10:48 »
Zitat
Genau das gleich Problem hast du aber auch mit Fehlern im Globalscript, etc.
Wenn du da einen Fehler fixen willst, musst du das gleich in allen Starterpacks tun.
Stichwort Give-Bug.

Zitat
Leider wird aber die Umsetzung in der Praxis ein wenig schwierig werden.
Letztlich unmöglich. AGS ist nicht darauf ausgelegt.

Zitat
Ob AGS dafür die notwendigen Schnittstellen hat, weiß ich nicht. Ich wage es aber leider zu bezweifeln.
Hat es nicht.

Zitat
Ich schreibe gerade meine Masterarbeit zum Thema Software-Produktlinien
Darf man fragen, was du studierst bzw. studiert hast?


Folge mir auf X und itch.io

Cmdr

  • volljähriger Tentakel
  • *****
  • Beiträge: 719
    • Profil anzeigen
Re: Weiterentwicklung der Starterpacks (Allgemein)
« Antwort #43 am: 09. April 2016, 15:16:14 »
Tjoa, daran sieht man mal wieder, dass AGS eher ein Spielzeug anstatt einer ernstzunehmenden Entwicklungsumgebung ist^^.

Zitat
Darf man fragen, was du studierst bzw. studiert hast?

Ich habe Praktische Informatik studiert.

ManiacTwister

  • volljähriger Tentakel
  • *****
  • Beiträge: 727
  • Geschlecht: Männlich
  • Aktionslisten Admin
    • Profil anzeigen
    • Aktionsliste
Re: Weiterentwicklung der Starterpacks (Allgemein)
« Antwort #44 am: 09. April 2016, 15:40:45 »
Zitat
Leider wird aber die Umsetzung in der Praxis ein wenig schwierig werden.
Letztlich unmöglich. AGS ist nicht darauf ausgelegt.

Zitat
Ob AGS dafür die notwendigen Schnittstellen hat, weiß ich nicht. Ich wage es aber leider zu bezweifeln.
Hat es nicht.

Hab ich ja im IRC schon angemerkt: Technisch ist das durchaus möglich und auch gar nicht so exterm aufwändig. Die Frage ist nur, ob es jemand umsetzt :P
Ich halte mich mit ankündigungen das zu tun zurück, weil ich vermutlich eh nicht dazu kommen werde..

Zitate:
Die Intelligenz in der Welt bleibt konstant. Nur dumm, dass die Bevölkerung wächst.
Mein charakter ist derb! fies und gemein!