Portal-Zone Gothic-Zone Gothic II-Zone Gothic 3-Zone Gothic 4-Zone Modifikationen-Zone Download-Zone Foren-Zone RPG-Zone Almanach-Zone Spirit of Gothic

 

Seite 1 von 2 12 Letzte »
Ergebnis 1 bis 20 von 24
  1. Beiträge anzeigen #1 Zitieren
    Knight Avatar von Draxes
    Registriert seit
    Aug 2007
    Ort
    Mainz
    Beiträge
    1.920
     
    Draxes ist offline

    Suche spannendes/sinnvolles Projektthema für Informatik-Masterstudium

    Hey Leute! Ich bin gerade in der schönen Situation, mir ein Projektthema suchen zu dürfen im Rahmen meines Informatik-Masterstudiums. Wie der Zufall es will, haben wir einen Dozenten an der Hochschule, der sich viel mit Entertainment Computing befasst. Und ich habe mir gedacht, es wäre doch schön ein Projekt in einem Umfeld zu machen, das mir sehr am Herzen liegt: Das Modding für Gothic (2). Besagter Dozent ist nicht abgeneigt ein solches Projekt durchzuführen, sofern es "forschungsrelevante Aspekte" wie z.B. einen "Mehrwert" im größeren Rahmen gibt, über den man dann ein ca. 10-seitiges Paper verfassen kann. Wenn man kreativ ist, lässt sich hier aber meistens etwas finden.

    Ein paar eigene Ideen sind bei meinem Brainstorming schon entstanden, die vom Umfang her passen könnten. Vielleicht fällt euch aber auch noch etwas ein, was für uns Modder ungemein praktisch/nützlich/sinnvoll/cool wäre oder einfach etwas spannendes, was man mit Gothic noch so verzapfen kann. Ich bin für jede Idee dankbar. Wer weiß, was hinterher dabei herauskommt. Das kann ein nützliches Tool sein, das einen bestimmten Aspekt des Moddings vereinfacht/erweitert (wie z.B. die Entwicklung einer Sprachausgabe, da ich gerade gut im Thema drin bin). Eine eigene Mini-Modifikation, die ein bestimmtes Ziel verfolgt (wie z.B. die Fragestellung "Können Rollenspiele sinnvoll im Bereich des Lernens eingesetzt werden?"). Oder etwas komplett anderes. Generell sind den Ideen erst einmal keine Grenzen gesetzt. Von daher: Viel Spaß beim zuspammen dieses Threads
    Geändert von Draxes (10.03.2021 um 12:08 Uhr)

  2. Beiträge anzeigen #2 Zitieren
    Dea
    Registriert seit
    Jul 2007
    Beiträge
    10.447
     
    Lehona ist offline
    Soll das eine wissenschaftliche Arbeit werden oder nur ein Projekt?

    Ein paar (unausgearbeitete) Ideen:

    • ZEN-Updates über Diffs: Anstatt dass man z.B. eine komplette NewWorld.ZEN in seiner Mod mitliefern muss, weil man nur ein Mob eingefügt hat, könnte man auch irgendein Diff mitliefern, dass dann bei einem Neuen Spiel automatisch angewandt wird. Kann man eventuell für gesparte Filesize empirisch auswerten.
    • Irgendeine Form von automatischen Tests (bzw. halt ein Framework dafür). Da wüsste ich aber auf die schnelle nicht, wie man das sinnvoll mit Game Dev verheiratet.
    • Eine Framework zur halb-automatischen Auswertung von Playthroughs. Entweder nur für Tester oder auch für alle Spieler, also welche Stats wurden wann gelernt, wie viel Spielzeit bis Quest X abgeschlossen wurde etc. In Juran gibt es schon Ansätze davon. Falls das auch für Spieler funktionieren soll, müsstest du während des Spielens nach Hause telefonieren, also die Dateien hochladen - das wird sicherlich nicht alle Spieler erfreuen Alternativ einfach im Savegame speichern und dann die Spieler bitten, das Savefile hochzuladen.

  3. Beiträge anzeigen #3 Zitieren
    Knight Avatar von Draxes
    Registriert seit
    Aug 2007
    Ort
    Mainz
    Beiträge
    1.920
     
    Draxes ist offline
    Zitat Zitat von Lehona Beitrag anzeigen
    Soll das eine wissenschaftliche Arbeit werden oder nur ein Projekt?

    Ein paar (unausgearbeitete) Ideen:

    • ZEN-Updates über Diffs: Anstatt dass man z.B. eine komplette NewWorld.ZEN in seiner Mod mitliefern muss, weil man nur ein Mob eingefügt hat, könnte man auch irgendein Diff mitliefern, dass dann bei einem Neuen Spiel automatisch angewandt wird. Kann man eventuell für gesparte Filesize empirisch auswerten.
    • Irgendeine Form von automatischen Tests (bzw. halt ein Framework dafür). Da wüsste ich aber auf die schnelle nicht, wie man das sinnvoll mit Game Dev verheiratet.
    • Eine Framework zur halb-automatischen Auswertung von Playthroughs. Entweder nur für Tester oder auch für alle Spieler, also welche Stats wurden wann gelernt, wie viel Spielzeit bis Quest X abgeschlossen wurde etc. In Juran gibt es schon Ansätze davon. Falls das auch für Spieler funktionieren soll, müsstest du während des Spielens nach Hause telefonieren, also die Dateien hochladen - das wird sicherlich nicht alle Spieler erfreuen Alternativ einfach im Savegame speichern und dann die Spieler bitten, das Savefile hochzuladen.
    Danke für die Ideen! Die ZEN-Updates finde ich im heutigen Zeitalter der Massenspeicher eher weniger interessant. Die beiden anderen Ideen Richtung Testing klingen spannend. Generell mag ich Framework Ansätze, weil man sich Softwarearchitektonisch schön austoben kann und dann auch ne Menge drüber zu schreiben hat (meine Bachelorarbeit war aus dem Grund ganze 170 Seiten lang...).
    Nach Hause telefonieren sollte eher weniger das Problem sein, wenn man Richtung Spine denkt. Hier werden ja schon einige Daten gesammelt wie zum Beispiel erlangte Achievements, wodurch Modentwickler bereits jetzt die Möglichkeit haben abzuschätzen, wie viele Spieler eigentlich eine Mod bis zum Ende gespielt haben, indem es beispielsweise für jedes Kapitel ein Achievement gibt. Wenn man in die Richtung weiterdenkt, könnte man sicher noch eine Menge mehr herausholen. Aber ich gebe dir recht, dass "Daten sammeln" bei vielen Leuten eher in den falschen Hals gerät.

    Ich stelle mal meine eigenen beiden Ideen kurz vor, vielleicht inspiriert das ja zum Weiterdenken für den einen oder anderen.

    1) Mini-Mod mit einem bestimmten Ziel
    Zum Beispiel die Fragestellung, ob sich Rollenspiele zum vermitteln von Wissen eignen (Stichwort Serious Games bzw. Gamification).

    2) Ein Tool zum "einfachen" Generieren von neuen Zaubern, aufgebaut auf dem Schnellzaubersystem aus Dirty Swamp
    Für Dirty Swamp haben wir ein recht ausgeklügeltes (Schnell-)Zaubersystem entwickelt. Ich habe schon länger mit dem Gedanken gespielt, eine generische Version zu basteln, die andere Modder verwenden können, um es bei sich zu integrieren. Bisher hat mir aber die Zeit gefehlt. Jetzt wäre meine Idee, so eine generische Version zu bauen + ein Programm, mit dem sich solche Schnellzauber mit verhältnismäßig geringem Aufwand generieren lassen. Allerdings weiß ich nicht wie wahrscheinlich das ist, dass jemand das nutzen würde. Einen foschungsrelevanten Aspekt habe ich auch noch nicht im Blick. Das wäre bisher aber die Idee, wo ich am meisten Lust mitbringe.

  4. Beiträge anzeigen #4 Zitieren
    Ehrengarde Avatar von mud-freak
    Registriert seit
    Dec 2005
    Beiträge
    2.199
     
    mud-freak ist offline
    Zitat Zitat von Draxes Beitrag anzeigen
    1) Mini-Mod mit einem bestimmten Ziel
    Zum Beispiel die Fragestellung, ob sich Rollenspiele zum vermitteln von Wissen eignen (Stichwort Serious Games bzw. Gamification).
    Die Ideen hier bisher finde ich alle sehr interessant - auch für außerhalb einer solchen Arbeit.

    Für den wissenschaftlichen Aspekt, bzw. was wohl auch am nächsten an "Entertainment Computing" herankommen sollte, wäre sicherlich eine Mini-Mod eine gute Idee. Ich glaube man unterschätzt schnell, was man da alles herausholen kann. Ich habe mal an einer wissenschaftlichen Studie teilgenommen, in der ich eine Oblivionmod spielen sollte. Dabei ging es letztlich um etwas völlig anderes, als was mir die Studie vorgestellt wurde (keine Ahnung, wie die das durch die Ethikkommission bekommen haben). Dem entsprechend war die Auswertung ziemlich spannend, vor allem aber mit verhältnissmäßig kleinem Bias beim Probanden.

    Allein was du in einer Gothic Mod alles an Daten erheben kannst, öffnet den Raum für viele Ideen. Daraus lässt sich z.B. eine schöne Auswertung von Nutzerverhalten in Videospielen erstellen. Allein über FrameFunctions könntest du kontinuierlich die HP und andere Werte des Helden überprüfen, welche Wege er läuft, bis hin zu wie schnell der Spieler einen Dialog liest (durchs Wegklicken). Allerdings musst du dich da schlau machen, ob solch eine Studie an menschlichen Probanden erst ethisch abgesegnet werden muss und mit Unterschriften von den Probanden einher geht.

    Auf der anderen Seite könnten die Spielerdaten innerhalb der Spiels auch lokal ausgewertet werden. Damit meine ich: Du sammelst die Daten nicht und brauchst deshalb wahrscheinlich auch keine ethische Erlaubnis, sondern die Mod wertet sie lokal auf dem Computer des Spielers aus und passt sich selbst dem Spielverhalten an. So ließe sich z.B. eine Mod erstellen mit automatisch anpassendem Schwierigkeitsgrad. Das wären Projekte, die vor allem innovative Mechanismen vorstellen, die im Entertainment Computing vielleicht noch recht neu sind. Damit wäre das Projekt nicht Gothic-spezifisch, hätte gewisse Relevanz und ließe sich bestimmt auch gut publizieren.

  5. Beiträge anzeigen #5 Zitieren
    Knight Avatar von Draxes
    Registriert seit
    Aug 2007
    Ort
    Mainz
    Beiträge
    1.920
     
    Draxes ist offline
    Zitat Zitat von mud-freak Beitrag anzeigen
    Die Ideen hier bisher finde ich alle sehr interessant - auch für außerhalb einer solchen Arbeit.

    Für den wissenschaftlichen Aspekt, bzw. was wohl auch am nächsten an "Entertainment Computing" herankommen sollte, wäre sicherlich eine Mini-Mod eine gute Idee. Ich glaube man unterschätzt schnell, was man da alles herausholen kann. Ich habe mal an einer wissenschaftlichen Studie teilgenommen, in der ich eine Oblivionmod spielen sollte. Dabei ging es letztlich um etwas völlig anderes, als was mir die Studie vorgestellt wurde (keine Ahnung, wie die das durch die Ethikkommission bekommen haben). Dem entsprechend war die Auswertung ziemlich spannend, vor allem aber mit verhältnissmäßig kleinem Bias beim Probanden.

    Allein was du in einer Gothic Mod alles an Daten erheben kannst, öffnet den Raum für viele Ideen. Daraus lässt sich z.B. eine schöne Auswertung von Nutzerverhalten in Videospielen erstellen. Allein über FrameFunctions könntest du kontinuierlich die HP und andere Werte des Helden überprüfen, welche Wege er läuft, bis hin zu wie schnell der Spieler einen Dialog liest (durchs Wegklicken). Allerdings musst du dich da schlau machen, ob solch eine Studie an menschlichen Probanden erst ethisch abgesegnet werden muss und mit Unterschriften von den Probanden einher geht.

    Auf der anderen Seite könnten die Spielerdaten innerhalb der Spiels auch lokal ausgewertet werden. Damit meine ich: Du sammelst die Daten nicht und brauchst deshalb wahrscheinlich auch keine ethische Erlaubnis, sondern die Mod wertet sie lokal auf dem Computer des Spielers aus und passt sich selbst dem Spielverhalten an. So ließe sich z.B. eine Mod erstellen mit automatisch anpassendem Schwierigkeitsgrad. Das wären Projekte, die vor allem innovative Mechanismen vorstellen, die im Entertainment Computing vielleicht noch recht neu sind. Damit wäre das Projekt nicht Gothic-spezifisch, hätte gewisse Relevanz und ließe sich bestimmt auch gut publizieren.
    Danke für die zusätzlichen Ideen und deine Erfahrungen! Alles sehr spannend. Insbesondere den Aspekt des lokalen Auswertens während des Spielens, um ein auf den Spieler angepasstes Spielerlebnis zu bieten. Es wäre vermutlich ein ziemlicher Overkill, aber es wäre schon ziemlich interessant, Methoden aus dem Umfeld Machine Learning wie z.B. Reinforcement Learning in Daedalus zu programmieren. Sicher nicht das effizienteste, aber durchaus spannend und sicherlich über Umwege möglich.

  6. Beiträge anzeigen #6 Zitieren
    Legende der Amazonen Avatar von Bisasam
    Registriert seit
    Dec 2006
    Ort
    Meine Faust in Sinis Gesicht
    Beiträge
    9.639
     
    Bisasam ist offline
    Wie wärs mit einem Programm, das automatisch neue Animationsdateien erstellt, indem man zwei oder mehr vorhandene kombiniert und dem Programm sagt "Obere Hälfte von 1, untere Hälfte von 2" o.ä.? Stichwort Arbeitserleichterung beim Animieren.

    Oder du schreibst uns einen Questmanager. Stampfer wollte das mal haben, aber es ist nie was drauß geworden. Aber der sollte dann auch Verzweigungen ermöglichen für Entscheidungen etc.


    "Das erinnert doch sehr erfreulich an das, was man sich als Gothicfan wünscht!"
    -Korallenkette

  7. Beiträge anzeigen #7 Zitieren
    Serima Avatar von Fisk2033
    Registriert seit
    Dec 2010
    Ort
    Dresden
    Beiträge
    5.803
     
    Fisk2033 ist offline
    Was mir als erstes in den Sinn kam war ebenfalls ein Questmanager. Am besten so ein moderner bei dem man eine Art Ablaufdiagramm erstellt und sich daraus dann die Dialoge bzw. Quest bildet. Sowas in der Art meine ich:
    [Bild: ds01.png]


    Ich hatte mal jemanden, der seinen Master in irgendwas mit Marketing gemacht hatte, geholfen. Dort wurden Banden in ein Fußballspiel (FIFA) eingebaut die man am oberen Bildschirmrand dynamisch wechseln sieht. Die Probanden mussten danach eine kleine Umfrage darüber ausfüllen. Welche ihnen aufgefallen sind usw.

  8. Beiträge anzeigen #8 Zitieren
    now also in your universe  Avatar von Milky-Way
    Registriert seit
    Jun 2007
    Beiträge
    15.244
     
    Milky-Way ist offline
    Statt Quest Manager könnte man auch automatisch eine Komplettlösung erstellen (also statt neue Quest zu erstellen, nur alte Skripte auswerten) für Spieler, samt Übersicht, wo Items und Npc zu finden sind, ohne als Entwickler viel Zeit drauf verwenden zu müssen.

  9. Beiträge anzeigen #9 Zitieren
    Knight Avatar von Draxes
    Registriert seit
    Aug 2007
    Ort
    Mainz
    Beiträge
    1.920
     
    Draxes ist offline
    Auch sehr interessante Ideen!
    Mit der Idee von so einer Art Quest-Manager habe ich selbst auch mal herumgespielt, das hatte allerdings nichts mit Gothic zu tun sondern eher im Rahmen vom Bücher schreiben, um Charaktere, Ereignisse und Beziehungen dazwischen strukturiert darstellen zu können.
    Im Rahmen von Gothic könnte ich mir das gut vorstellen. Sicherlich muss man dann hinterher immer noch massig Zeit investieren, um manuell Dinge nachzutragen. Aber für ein erstes Grundgerüst spart sowas sicherlich eine Menge Zeit und man behält anfänglich als Nicht-Entwickler noch den Überblick auch über komplexere Quests.

    Das Thema Komplettlösung generieren halte ich für schwierig. Meistens geht es ja eher darum, einem Spieler, der nicht weiterkommt, mitzuteilen, was er tun muss. So eine Generierung zu automatisieren und dann etwas für einen Spieler nachvollziehbares hinterher herauszubekommen kann ich mir ehrlich gesagt nicht vorstellen. Wenn, dann muss nach der Generierung noch einiges an manueller Aufwand hineinstecken und Texte schreiben. Aber vielleicht denke ich da auch einfach zu klein.

  10. Beiträge anzeigen #10 Zitieren
    now also in your universe  Avatar von Milky-Way
    Registriert seit
    Jun 2007
    Beiträge
    15.244
     
    Milky-Way ist offline
    Zitat Zitat von Draxes Beitrag anzeigen
    Das Thema Komplettlösung generieren halte ich für schwierig. Meistens geht es ja eher darum, einem Spieler, der nicht weiterkommt, mitzuteilen, was er tun muss. So eine Generierung zu automatisieren und dann etwas für einen Spieler nachvollziehbares hinterher herauszubekommen kann ich mir ehrlich gesagt nicht vorstellen. Wenn, dann muss nach der Generierung noch einiges an manueller Aufwand hineinstecken und Texte schreiben. Aber vielleicht denke ich da auch einfach zu klein.
    Ich hatte da in Richtung des Screenshots von Fisk gedacht: zuerst anhand der Tagebucheinträge alle Dialoge / Items sammeln, die zu einer Quest gehören. Dann von diesen Dialogen ausgehend alle Voraussetzungen für Dialoge (als Verbindung zu anderen Dialogen, Variablen, Items) zeichnen. Dann kann der Spieler schauen: "diesen Dialog hatte ich schon; der nächste Dialog in der Kette ist mit Npc X, wenn man Item Y hat"
    In der praktischen Umsetzung gibt es natürlich noch viele komplizierte Punkte, wie man "variable == 5" darstellt, und Items / Npc Standorte könnten hilfreicherweise auch noch auf einer Karte dargestellt werden...

  11. Beiträge anzeigen #11 Zitieren
    Abenteurerin Avatar von LucyJohnson
    Registriert seit
    Jun 2013
    Beiträge
    61
     
    LucyJohnson ist offline
    Oh da fallen mir ein paar Sachen ein,an denen ich selber gerne arbeiten würde, hätte ich keine Sehnenscheidenentzündung.

    1. Für den Gothic-Multiplayer möchte ich für die Monster KI eine Erweiterung schreiben. Npcs und Monster sollen eigenständigere Entscheidungen treffen. (Dafür könnte z.B ein simples Prototypmodell das Ziel der Arbeit sein)

    Momentan ist es in etwa so gelöst, dass es eine Liste von Aktions-Funktionen gibt, was ein NPC zu einem bestimmten Zeitslot machen soll und dann wird randomisiert eine Aktion aus der Liste ausgewählt. Wie z.B "geh zu waypoint a", "wenn spieler in der nähe -> setEnemy".

    Es gibt aber wesentlich spannendere Arten sowas aufzusetzen und den Npcs einen Kontext mitzuliefern. Npc ist Bauer -> [also gibt es nur eine bestimmte Menge von waypoints wo der Npc hin kann], [es gibt nur eine bestimmte Art an quests die der Npc geben kann], -> [Es gibt nur bestimmte Aktionen die er ausführen kann z.B setEnemy darf nicht an Milizen ausgeführt werden]

    Spiele wie Dwarf Fortress zeigen einem z.B was alles so möglich ist. Das Stichwort hier wäre wahrscheinlich sowas wie Agentenprogrammierung.

    2. Design einer Domain Specific Language für Agenten basiertes Programmieren. So eine Monster KI zu bauen die verschiedene Kontexte in Betracht zieht um bestimmte Entscheidungen zu treffen läuft Gefahr sehr komplex zu werden. Insbesondere wenn man sie in Lua Programmiert (Sehr viele Kombinationen, verschachtelte if elses, Monster State der an verschiedenen Stellen verwendet wird und dadurch nur mit viel Aufwand modifiziert werden kann).

    Im Grunde ist das Problem der KI die interessante Entscheidungen treffen soll, ein Suchproblem.
    Du hast ein Ausgangszustand A, eine Liste L(B) von Aktionen B, die den Ausgangszustand manipulieren können und du hast einen Ziel zustand C.

    Und du willst quasi von diesen Eingaben die nächste Aktion herausbekommen.
    Also in etwa so: [A, L(B), C] => B

    Viel Agentenprogrammierung die man so vor den 2000ern betrieben hatte, definierten so ihre Probleme und hatten dafür eine Domain Specific Language entwickelt womit sie ihre Lösungen wesentlich eleganter Programmieren konnten, was Zeit zum Debuggen und Verstehen des Codes reduziert hatte. Das Stichwort was man in dem Gebiet hört ist "Rule based programming", ich hätte gerne einen Prototyp für so eine DSL die man zu Lua compilieren kann um da drauf aufbauend die KI zu entwickeln.

    3. Map-Generierung:
    Für Unity gibt es ja mittlerweile einige Tools die in der Lage sind eine 3D Welt zu generieren.
    Sowas für Gothic 2 zu haben wäre awsome. Ich weiß nicht wie viele Leute ernsthaft jedes Gebiet von Hand modellieren wollen. Was bestimmt nützlich wäre, wäre ein Generator der eine interessante Spielweltvorlage generiert auf dessen Basis man dann weiterarbeitet.

    Die Generatoralgorithmen basieren heutzutage wahrscheinlich am meisten auf Machine Learning, deshalb weiß ich nicht wie gut du an Testdaten für so eine Mapgenerierung rankommst, geschweige die ganzen Detailfragen wie z.B wie kann ich mit dem Format der Gothic 2 maps arbeiten usw.

    Das sind alles wahrscheinlich eher aufwendigere Themen, für die ich aber schon happy wäre, wenn es ein simples proof of concept gäbe und ein paar Seiten in denen man bereits erforscht, wie so die ersten Schritte wären, so ein Problem anzugehen.
    Geändert von LucyJohnson (21.03.2021 um 11:16 Uhr)

  12. Beiträge anzeigen #12 Zitieren
    Legende der Amazonen Avatar von Bisasam
    Registriert seit
    Dec 2006
    Ort
    Meine Faust in Sinis Gesicht
    Beiträge
    9.639
     
    Bisasam ist offline
    Achja, könntest du ein Tool schreiben, das in allen Dateien einer bestimmten Ordnerstruktur automatisch suchen und ersetzen kann?
    Im Moment muss man ja immer die Datei aufmachen und dann suchen und ersetzen.
    Das dauert lange.

    Beispiel:

    Du möchtest den "Fehler" korrigieren, wo PB statt return c_beklauen; nur c_beklauen; hat.
    Das sind aber über 1000 Dateien, die du manuell öffnen und ersetzen müsstest.
    Wäre also schön, da was zu haben, das dir automatisch alles sofort ersetzt.

    Oder ein "suchen und ersetzen" mit bedingung. Z.b. wenn return c_beklauen da schon steht, machs nicht!

  13. Beiträge anzeigen #13 Zitieren
    Dea
    Registriert seit
    Jul 2007
    Beiträge
    10.447
     
    Lehona ist offline
    Das kann eigentlich jeder vernünftige Texteditor, zum Beispiel VSCode, Sublime Text oder Notepad++.

    Was du mit deinem letzten Satz genau meinst verstehe ich nicht genau, entweder muss der Editor Daedalus verstehen oder es reicht, wenn du dich mit RegEx auseinandersetzt.

  14. Beiträge anzeigen #14 Zitieren
    Legende der Amazonen Avatar von Bisasam
    Registriert seit
    Dec 2006
    Ort
    Meine Faust in Sinis Gesicht
    Beiträge
    9.639
     
    Bisasam ist offline
    Mein Handy hat den Beitrag zu früh abgeschickt. Ich hab was editiert


    "Das erinnert doch sehr erfreulich an das, was man sich als Gothicfan wünscht!"
    -Korallenkette

  15. Beiträge anzeigen #15 Zitieren
    Dea
    Registriert seit
    Jul 2007
    Beiträge
    10.447
     
    Lehona ist offline
    Zitat Zitat von Bisasam Beitrag anzeigen
    Mein Handy hat den Beitrag zu früh abgeschickt. Ich hab was editiert
    Dann empfehle ich dir RegEx zu lernen, denn damit kann man das bereits jetzt in allen gängigen Texteditoren tun www.regex101.com ist eine gute Seite, wenn man ein grundlegendes Verständnis von RegEx hat.

  16. Beiträge anzeigen #16 Zitieren
    Knight Avatar von Draxes
    Registriert seit
    Aug 2007
    Ort
    Mainz
    Beiträge
    1.920
     
    Draxes ist offline
    Zitat Zitat von LucyJohnson Beitrag anzeigen
    Oh da fallen mir ein paar Sachen ein...
    Vielen Dank für die Denkanstöße! Jetzt ist schon sehr viel zusammengekommen.
    Im Moment tendiere ich bereits zum Gedanken des Quest-Managers oder einem Framework für Zauber (beides am Beispiel von Gothic 2), da ich bereits das erste Kickoff Meeting mit meinem Dozenten hatte und diese beiden Vorschläge in seinen Augen am ergiebigsten sind.
    Vielleicht inspiriert dieser Thread (und insbesondere deine guten Vorschläge) ja jemand anderen für ein Studi- oder Hobbyprojekt. Insbesondere deine zweite Idee gefällt mir sehr gut, allerdings möchte ich mich im Rahmen des Studiums nicht weiter mit Machine Learning beschäftigen, da ich letztes Semester bereits ein Modul dazu besucht habe.

    Zitat Zitat von Bisasam Beitrag anzeigen
    Achja, könntest du ein Tool schreiben, das in allen Dateien einer bestimmten Ordnerstruktur automatisch suchen und ersetzen kann?
    Ich kann dir da (wie von Lehona schon kurz ausgeführt) insbesondere Sublime Text 3 empfehlen. Das nutze ich schon seit etlichen Jahren für das Gothic-Modding und bringt Dinge wie Dateisuche und Suchen und Ersetzen Funktionen mit. Da braucht es kein eigenes Tool speziell für Gothic, da es sich eher um generelle, vom Modding unabhängige, Problemstellungen handelt.


    EDIT: Ich halte euch gerne auf dem Laufenden, was es denn letztendlich wird und veröffentliche gerne Dinge, die hinterher vielleicht für die Community interessant sind.
    Geändert von Draxes (23.03.2021 um 11:05 Uhr)

  17. Beiträge anzeigen #17 Zitieren
    Knight Avatar von Draxes
    Registriert seit
    Aug 2007
    Ort
    Mainz
    Beiträge
    1.920
     
    Draxes ist offline
    Es wird tatsächlich ein grafischer Questmanager, mit dem sich vor allem Dialoge grafisch erstellen lassen sollen. Dabei werde ich versuchen, mich an der kommerziellen Software "Articy" zu orientieren mit der speziellen Zielgruppe "RPG-Modder". Schlüsselfunktion soll natürlich die Generierung der Scripte am Ende sein, die dann am Beispiel von Gothic umgesetzt wird. Grundgedanke ist die vereinfachte Kollaboration zwischen Storywriter und Scripter.

    Ich kann nicht versprechen, dass hinterher schon etwas total sinnvolles herauskommt. Es geht vorrangig um die anschließende Validierung des Konzepts in Form von Nutzertests und das Schreiben darüber in einem wissenschaftlichem Paper. Aber vielleicht kann man das Ganze nach der eigentlichen Projektphase auch noch weiterentwickeln, sodass es ein für die Gothic Community sinnvolles Tool werden kann.

    Mich würde mal interessieren, was ihr so an Erwartungen und Wünsche an einen grafischen Questmanager hättet.
    - Was seht ihr als Vorteile gegenüber dem herkömmlichen Scripten?
    - Welche Funktionen würden das (Gothic-)Modding (in einem Team) vereinfachen?
    - Welche Funktionen sind vielleicht für Modder besonders relevant/interessant im Gegensatz zu kommerziellen Spieleentwicklern?

    Falls ihr mal eine freie Minute habt, postet doch gerne eure Gedanken dazu in diesen Thread, das würde mir sehr helfen =)
    Geändert von Draxes (16.04.2021 um 12:42 Uhr)

  18. Beiträge anzeigen #18 Zitieren
    Legende der Amazonen Avatar von Bisasam
    Registriert seit
    Dec 2006
    Ort
    Meine Faust in Sinis Gesicht
    Beiträge
    9.639
     
    Bisasam ist offline
    Zitat Zitat von Draxes Beitrag anzeigen

    Mich würde mal interessieren, was ihr so an Erwartungen und Wünsche an einen grafischen Questmanager hättet.
    - Was seht ihr als Vorteile gegenüber dem herkömmlichen Scripten?
    - Welche Funktionen würden das (Gothic-)Modding (in einem Team) vereinfachen?
    - Welche Funktionen sind vielleicht für Modder besonders relevant/interessant im Gegensatz zu kommerziellen Spieleentwicklern?

    Falls ihr mal eine freie Minute habt, postet doch gerne eure Gedanken dazu in diesen Thread, das würde mir sehr helfen =)
    Komme~

    Nun so ein Questmanager kann je nach Art der Quest ziemlich ausarten.

    Es gibt natürlich die einfachen Quests, die bestehen aus

    -gib Auftrag im Dialog
    -sammle oder töte etwas
    -kehre zum Auftraggeber zurück

    Aber wer braucht dafür schon einen Manager?

    Interessant wird es bei komplexen Quests mit Entscheidungen etc.

    Beispiel: Canthar, der Sarah loswerden will

    Oder richtig komplex:

    Peters Kräuter wollen nicht wachsen. Du willst helfen.

    Dazu könntest du...

    A) Ein Fruchtbarkeitsritual ausführen, wozu du die Hilfe eines Magiers brauchst. Es gibt 2 Magier aus denen du wählen kannst, die beide eine eigene Quest als Voraussetzung haben. Eine davon ist aber auch noch der Auslöser für eine Questline, die mit Peters Kräutern nichts zu tun hat und sich nebenbei ergibt. Dann gibt es noch verschiedene Methoden das Ritual auszuführen mit verschiedenen Auswirkungen auf die Ernte, die zu unterschiedlichen Belohnungen führen.

    Oder....

    B) bereits gediegene Pflanzen nachts heimlich in den Boden Pflanzen und Peter weismachen, dass er das mit seinem grünen Daumen geschafft hat, oder ihm einen vom Pferd über ein Placebo-Ritual erzählen, das er jetzt immer kurz vor der Ernte ausführen soll.

    Oder...

    C) ihm gar nicht helfen, sondern seinem Rivalen davon erzählen.

    Viele der genannten Auskommen lassen sich per Dialogabfrage klären, aber gerade wenn das Ritual mit choices arbeitet, funktioniert das nicht mehr. Du kannst eine choice nicht Abfragen.
    Darum ist es wichtig, Variablen zuzulassen. Die sind wie Lesezeichen oder wichtige Wegmarkierungen.
    Und auch abgelaufene Fristen (sprich: Etwas das keinen Dialog hat weil der Spieler einfach nur gepennt hat) sollten irgendwie abzudecken sein.

    Aktuell stelle ich mir das so vor, dass die Ablauffelder mit Pfeilen verknüpft sind, die aber auch wieder zusammenlaufen können.
    Und jedes einzelne der Felder ist anklickbar und bringt dich an die entsprechende Stelle im Skript.

    Probleme die auftreten könnten:

    Variable wird an 2 Stellen auf den gleichen Wert gesetzt - wohin führt der Klick?
    Wenn ich Dialoge ändere, wie flexibel lässt sich so ein Feld bearbeiten um z.B. einen Dialogverweis zu ändern?

    Du kannst auch nicht einfach so auf eine Textstelle verweisen, wenn das Dokument sich in ständiger Überarbeitung befindet.

    Ist unter den Gesichtspunkten ein Quest-Manager der auf Skripte verlinkt überhaupt möglich?

  19. Beiträge anzeigen #19 Zitieren
    Provinzheld Avatar von TopLayer
    Registriert seit
    Nov 2020
    Beiträge
    285
     
    TopLayer ist offline
    I have expressed some thoughts about complex quests implementation through the pseudocode.
    I am not an experienced scripter, so these thoughts are not necessarily helpful.
    Spoiler:(zum lesen bitte Text markieren)

    Code:
    // Qxxx naming convention helps to find references in the source code
    const int Q144 = 144;
    const string Q144_Name = "Petr's plants";
    
    
    // the state history
    // 1. persisted in the savegame
    // 2. can be used for trubleshooting
    // 3. can help to eliminate some flags: we can query how the quest was accomplished
    int Q144_States[256];
    int Q144_StatesNum = 1;
    
    
    // auxillary variables
    // add auxillary variable if it significally reduces the explicit state amount, ex:
    // 1. quantity variable
    // 2. flag that is relevant to most of states
    // ...
    // --------no-need-now-------
    
    
    // explicit states enumeration
    // all possible states of the quest
    const int Q144_State_Initial = 0;
    const int Q144_State_GotQuest = 1;
    const int Q144_State_FireMageChoosed = 2; 
    const int Q144_State_WaterMageChoosed = 3; 
    const int Q144_State_MageConvinced = 4; // if player visited this state and Q144_State_FireMageChoosed then the secondary quest is available
    const int Q144_State_BadRitualChoosed = 5;
    const int Q144_State_GoodRitualChoosed = 6;
    const int Q144_State_DidWorkMyself = 7;
    const int Q144_State_SayedAboutPlacebo = 8;
    const int Q144_State_NotifiedEnemy = 9;
    const int Q144_State_Completed = 10;
    
    
    // the list of events which may occur during the quest
    // change the quest state only through Event-functions
    func void Q144_Event_PeterSayedAboutTheProblem()
    {
        if Q_GetState(Q144) != Q144_State_Initial
            ERROR; // you can catch errors or ignore them
        else
        {
            // maybe log something in diary (skipped here)
            
            Q_ChangeState(Q144, Q144_State_GotQuest);
        };
    };
    
    
    func void Q144_Event_GotQuestFromFireMage()
    {
        Q_Assert(Q_GetState(Q144) == Q144_State_GotQuest);
        Q_ChangeState(Q144, Q144_State_FireMageChoosed);
    };
    
    
    
    
    func void Q144_Event_GotQuestFromWaterMage()
    {
        Q_Assert(Q_GetState(Q144) == Q144_State_GotQuest);
        Q_ChangeState(Q144, Q144_State_WaterMageChoosed);
    };
    
    
    func void Q144_Event_MageConvinced()
    {
        Q_Assert(Q_GetState(Q144) == Q144_State_FireMageChoosed || Q_GetState(Q144) == Q144_State_WaterMageChoosed);
        Q_ChangeState(Q144, Q144_State_MageConvinced);
    };
    
    
    // .... and so on
    
    
    // dialog conditions
    func int Q144_Dia_AskPeterAboutTheProblem_Condition()
    {
        return Q_GetState(Q144) == Q144_State_Initial;
    };
    
    
    func int Q144_Dia_AskWaterOrFireMageAboutHelp_Condition()
    {
        return Q_GetState(Q144) == Q144_State_GotQuest;
    };
    
    
    // .... and so on
    
    
    // .... maybe add related dialogs here too? And leave dialogs that are shared among the quests at their usual place?
    // Was it even good idea to split dialogs by NPCs, not by quests?
    instance Q144_Dia_AskPeterAboutTheProblem(C_INFO)
    {
        npc = VLK_999_Petr;
        permanent = true;
        condition = Q144_Dia_AskPeterAboutTheProblem_Condition;
        info = Q144_Dia_AskPeterAboutTheProblem_Info;
    };
    
    
    func int Q144_Dia_AskPeterAboutTheProblem_Info()
    {
        AI_Output(self, other, "...."); //You MUST help me with plants!
        AI_Output(other, self, "...."); //Looks like I have no choice...
        
        // send the event
        Q144_Event_PeterSayedAboutTheProblem();
    };
    
    
    // .... and so on

  20. Beiträge anzeigen #20 Zitieren
    Knight Avatar von Draxes
    Registriert seit
    Aug 2007
    Ort
    Mainz
    Beiträge
    1.920
     
    Draxes ist offline
    Zitat Zitat von Bisasam Beitrag anzeigen
    Komme~
    Danke für deine Denkanstöße und Ideen, sehr hilfreich! =)

    Ich denke, von dem Gedanken, Scripte einzulesen und in so eine Questmanager-Struktur zu bringen, kann man sich leider direkt verabschieden. Jeder hat da seinen eigenen Script-Flow und viele Dinge sind nicht eindeutig. Von daher wird mein Ansatz eher in die Richtung gehen, dass man den Questmanager von Anfang an benutzen muss. Und Scriptänderungen dann entweder direkt im bereits exportieren Script angehen muss, oder halt das Script nach einer Änderung im Questmanager nochmal neu exportieren muss.

    Bzgl. Variablen zulassen: Irgendeine Form von Variablen wird es wohl geben müssen, damit komplexe Zusammenhänge abbildbar sind. Wie letztendlich dann der Export zu richtigen Gothic-Scripten aussieht, ist dann nochmal eine ganz andere Sache. Im Programm selbst könnten ja durchaus Choices abfragbar sein. Generell soll es möglichst Gothic-unabhängig sein. Vielleicht können z.B. in Skyrim-Scripten Choices abgefragt werden.
    Das muss dann nur geschickt transformiert werden, sodass Gothic die Scripte dann ebenfalls versteht. Beispielsweise könnten dann Hilfsvariablen eingesetzt werden, von denen der Questmanager-Benutzer erstmal nichts sieht, durch Export zu Gothic-Scripten dann aber generiert werden. Ist jetzt erstmal nur ein Gedankenspiel und nicht weiter durchdacht.

    Zitat Zitat von TopLayer Beitrag anzeigen
    I have expressed some thoughts about complex quests implementation through the pseudocode.
    I am not an experienced scripter, so these thoughts are not necessarily helpful.
    Thanks for your ideas! It will definetly be very helpful to define a lot of helper-functions in Daedalus to simplify the export process. For this purpose it really might be helpful to split quest-specific dialogues in quest-files and not npc-files. Quest-states will also be very helpful to express some things visually in an editor.

Seite 1 von 2 12 Letzte »

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
Impressum | Link Us | intern
World of Gothic © by World of Gothic Team
Gothic, Gothic 2 & Gothic 3 are © by Piranha Bytes & Egmont Interactive & JoWooD Productions AG, all rights reserved worldwide