[Modding] Wohl und Wehe des Modding

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
12.945
BeamDog hat in SoD ja auch versucht, das zu optimieren. Die Dialoge mit NPCs werden über Areatrigger ausgelöst, damit man ungefähr weiß, in welcher Situation sich die Gruppe gerade befindet. Für die NPC Banter gibt es Timer, die Verhindern, dass in der Zeit ein Banter läuft, und Timer, während dessen ein Banter triggern muss. Damit haben sie sichergestellt, dass die NPCs nicht anfangen zu reden, wenn sich z.B. das Lager gerade in einem Angriff befindet etc.
Wenn man ein ganzes Spiel designt hat man da natürlich beliebig viele Möglichkeiten. Sie durchzudenken wäre nur auch gut, und nicht alles was sinnvoll aussieht ist es dann auch. Die Areatrigger haben den großen Nachteil, dass man eben mit diesem NPC diese Area zusammen über diesen Areatrigger latschen muss. Tut man eines davon nicht, dann findet nicht nur dieser Dialog in diesem Moment nicht statt - sondern auch im Rest des Spiels nicht mehr, weil von den Areatriggern immer nur bestimmte Dialoge ausgelöst werden.
Also nochmal zusammengefasst: SoD gibt uns ein Lager, in dem wir alle NPCs parken können und sie jederzeit auswechseln können. Und hat ein Triggersystem für die Lovetalks, die voraussetzen, dass man ganz bestimmte Areas mit bestimmten NPCs zusammen abläuft, weil sonst die Romanzen nicht starten. Ich hätte da spontan Verbesserungsvorschläge.
 

Acifer

Senior Member
Registriert
27.04.2019
Beiträge
2.189
Zusätzlich zu Obigem wird der HC nach meiner Beobachtung auch gerade am Anfang teils derart bombardiert mit Gesprächen, dass sie die Ereignisse und/oder Dialoge der Haupthandlung stören können (oder umgekehrt), wohingegen die letzten Etappen des Spiels meist aus Schweigen bestehen.
Genau so ergeht es mir auch immer - bei jedem NPC, unabhängig vom Autor. Es scheint sehr schwierig zu sein, da das richtige Timing hinzubekommen.
Also nochmal zusammengefasst: SoD gibt uns ein Lager, in dem wir alle NPCs parken können und sie jederzeit auswechseln können. Und hat ein Triggersystem für die Lovetalks, die voraussetzen, dass man ganz bestimmte Areas mit bestimmten NPCs zusammen abläuft, weil sonst die Romanzen nicht starten. Ich hätte da spontan Verbesserungsvorschläge.
Ich auch! ;)
Ich denke einfach, dass das Hauptproblem ist, dass die Spiel-Engine gar nicht für komplizierte Interaktionen designt war und man in dieser Hinsicht viele Kompromisse eingehen muss.
 

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
12.945
Das sind so die Momente, die man nur begrenzt per Screenshot festhalten kann: ein Blitz kracht vom BG-Spielehimmel und trifft Grey, der mal wieder hinterhertrödelt, und während sein Fell noch blitzelt, sagt Ajantis: "We follow the righteous path, the path of Helm." :D
 

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
12.945
"Grey? GREY? Wo ist er denn wieder - Grey?"

Stellt sich raus - Hunde und Knochen. Ein unzertrennliches Paar!
Grey_bones.jpg
 

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
12.945
Genau mein früher Morgen: gemerkt, dass ein Dialog nicht triggert, gefixt, um dann einen Loop mit diesem Dialog zu haben, weil die Triggervariable nicht geschlossen wird. :rolleyes: Das ruft nach einem weiteren Kaffee!
 

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
12.945
IE Situationskomik at work: Ajantis, da müssen wir nochmal drüber reden!
Ajantis_weary.jpg
 

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
12.945
Ich glaube ich werde nicht müde ob der unfreiwilligen Situationskomik, die man so beim Spielen hat. Ich teste gerade und spiele daher mit einem Spielstand, der mit einem sehr viel intensiver gemoddeten Spiel erstellt wurde. Wollte eine lange Strecke reisen um viel Zeit zu verbringen, habe dabei aber auf der (nicht aktualisierten) Weltkarte auf eine (nun) nicht vorhandene Modarea geklickt. Das Spiel sprang also zurück zu der, auf der ich gerade stand. Brage ist Anführer der Truppe und hätte normalerweise meine Aktion verbal bestätigt. Aufgrund des durch das Nutzen des alten Saves hervorgerufenen Textsalats sagte er aber stattdessen als zufälligen String ausgerechnet:
ähm_hilfe.jpg
 

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
12.945
NI ist mit einer KI ausgestattet!!1 - Oder es war doch nur Zufall...
NI_sprachlos.jpg
 

Acifer

Senior Member
Registriert
27.04.2019
Beiträge
2.189
Ich krieg' die Krise. Ich habe eine Grauer-Werwolf-Animation erstellt, die in NI auch so aussieht wie sie sein soll:
Werewolf_gray.jpg
...leider wird der Werwolf ingame als Kaninchen dargestellt:
Werewolf_Kanickel.jpg
und ich habe keine Ahnung, woran das liegt... :hae:
 

Belryll

Senior Member
Registriert
05.01.2009
Beiträge
714
Das gefürchtete Werkaninchen, tödlichstes der Wertiere. :D

Ich bin im Modding überhaupt nicht beschlagen, daher meine naive Spekulation: Ist das Kaninchen eventuell Platzhalter oder Ersatz für den eigentlichen Werwolf, weil das Spiel etwas für die Darstellung Relevantes nicht finden, auslesen oder abbilden kann?
 

Argent

Senior Member
Registriert
13.07.2010
Beiträge
192
Hast Du einen gültigen Animationsslot für die Kreatur ausgewählt? Typ 7000 Animationen sind etwas speziell, da sie in neue und alte Untervarianten aufgeteilt sind (mit sehr speziellen Slotbereichen).
 

Acifer

Senior Member
Registriert
27.04.2019
Beiträge
2.189
Typ 7000 Animationen sind etwas speziell
Oh, daran könnte es liegen.
Ich habe folgenden Code erstellt:
Code:
 LAF FIND_FREE_ANIM_SLOT INT_VAR slotMin = 0x7000 slotMax = slotMin + 0xff RET slot END
  ACTION_IF (slot <= 0) BEGIN
    FAIL ~No free creature animation slot found.~
  END

  LAF TO_HEX_NUMBER INT_VAR value = slot minDigits = 4 RET hexNumber END
  APPEND ~animate.ids~ ~0x%hexNumber% AC#WEREWOLF_GRAY~ UNLESS ~AC#WEREWOLF_GRAY~
  CLEAR_IDS_MAP

  COPY ~%MOD_FOLDER%/animations/BG2_EE_animations/Werewolf_gray/exxx.ini~ ~override/%hexNumber%.ini~

  ACTION_BASH_FOR ~%MOD_FOLDER%/animations/BG2_EE_animations/Werewolf_gray~ ~^.+\.bam$~ BEGIN
    COPY ~%BASH_FOR_FILESPEC%~ ~override~
  END
Ist der so nicht richtig? :shine:
 

Argent

Senior Member
Registriert
13.07.2010
Beiträge
192
Diese Funktion ist etwas "dumm" und liefert nur den nächsten freien Slot im angegebenen Bereich zurück. Ich vermute mal, die neue Werwolf-Animation nutzt die "monster_old" Untervariante, so wie die originalen Werwolf-Animationen? In dem Fall ist es am sichersten, den Animationsbereich 0x7d00 - 0x7dff auszuwählen, da er vollständig für die alte Untervariante reserviert ist.

Edit: Der Code würde dann so aussehen:
Code:
LAF FIND_FREE_ANIM_SLOT INT_VAR slotMin = 0x7d00 slotMax = 0x7dff RET slot END
 

Acifer

Senior Member
Registriert
27.04.2019
Beiträge
2.189

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
12.945
1..2...3...4...5...6... ... 7?
Falls Du die Anzahl an Gruppen-NPCs auf der Karte meinst: meine NPC Mods Brandock, Grey, Husam und Solaufein können als "7. Gruppenmitglieder" mitgenommen werden.*

*Die Hinweise in der Readme beachten, da in diesem Modus nicht alles so funktioniert wie wenn sie richtige Gruppenmitglieder sind.
 

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
12.945
...leider wird der Werwolf ingame als Kaninchen dargestellt:
Ohmeingott ist das niedlich! Ich meine, ich möchte Deinen Frust darüber mit keinem Wort kleinreden. Aber ... so süß!
 
Oben