Du bist nicht angemeldet.

  1. Übersicht
  2. » Suche
  3. » Von Mayo

#1 Re: Offen - Rund um TVgigant / TVTower » TVTDBEdit - Editor für Spielsätze (XML) » 25.11.2015 00:57

Lebenszeichen! Entschuldigt die Wartezeit. Bin nun wieder im Lande und mache am Editor weiter - die Projektarbeiten haben mich länger aufgehalten als geplant glare

#2 Re: Offen - Rund um TVgigant / TVTower » TVTDBEdit - Editor für Spielsätze (XML) » 05.11.2015 02:55

Eigentlich stehen zwei Anführungszeichen um den Nickname (Eingabefeld). Sah aber nach zweimal hinschauen seltsam aus - daher aktuell entfernt (siehe Screenshot über Deinem Post).

XP statt Berufsausprägung:

Ich denke das ist eine gute Entscheidung, ich finde ihr habt schon jetzt mehr Einstellungen an einer Person, als ein Anwender tatsächlich setzen wird. Ich sehe jetzt schon den Knopf "Randomize" im Editor, der einfach Zufallswerte generiert.

Jobs/Attribute:

Ich selbst hätte es eher anders herum gesehen. Die Jobs sind maßgeblich und wirken sich auf die Attribute einer Person aus. Hake ich Moderator an, erhält die Person automatisch +1 Fame und +1 Appearance gutgeschrieben. Bei Director meinetwegen +1 Skill und +1 Power. Hake ich alle Jobs an, sollte die Person bei allen Attributen auf dem maximalen Wert stehen. Man würde so die Jobs zu "Templates" degradieren, um die korrekte Gewichtung aller Attribute untereinander zu vereinfachen. Ich behaupte das so gut wie kein Anwender weiß, dass ein Moderator spielintern auf Fame und Appearance angewiesen ist - sofern das nicht explizit im Spiel erläutert wird.

Deine Beschreibung liest sich etwas unpräzise, "grobe Eignung" wobei die Attribute mehr oder weniger zählen. Das erinnert mich an Rollenspiele wie ich sie hasse - 120 Charakterwerte - und am Ende stellt man fest, dass nur 10 davon kriegsentscheidend sind und die Skillpunkte in unnützem Beiwerk verbraten wurden. Manche aber schwören auf das Beiwerk, was ich gern als Ballast bezeichne :) - aber ich schweife ab, Konzentration auf den Editor.

Gast2 schrieb:

Ist auch an eine Auflistung aller Personen gedacht?

Ich befürchte Du meinst irgendwas anderes, was ich nicht bedenke. Wenn Du auf den Screenshot im Eingangspost schaust: Ein Klick auf Personen im linken Navigationsbaum zeigt rechts in der Tabelle alle Personen an. Im Fall der <database.xml> sind das ca. 800-900 Einträge.

Wie Ronny schon bemerkt hat, ist die Liste aber derzeit nur rudimentär. Für eine erste Anzeige der Daten und das einfache durchscrollen ist sie praktikabel, bedarf aber zu gegebener Zeit noch etwas Zuneigung. So flexibel die Swing-Komponenten von Java manchmal sind, so arm an Funktionen ist der Standard.

Bin nun einige Tage viel unterwegs, melde mich Ende nächster Woche wieder. Sonst habe ich nachher noch ein schlechtes Gewissen zuviel Zeit von Ronny zu blockieren, die besser in die Entwicklung von TVT fließen sollte.

#3 Re: Offen - Rund um TVgigant / TVTower » TVTDBEdit - Editor für Spielsätze (XML) » 04.11.2015 15:52

Modifizierte Tabreiter für Personen:

Geänderte Tabreiter

"Can level up" erstmal neben dem Personentyp (Amateuer, Celeb). Ich vermute die Option bezieht sich auf den Wechsel von Amateur zu einer Berühmtheit? Oder ist CanLevelUp bezogen auf die Attribute einer Person?

Jobs als Liste mit Haken für aktuell ausgeübte und erlernte Berufe. Darunter habe ich mal den "price_mod" als Gehalt von 0-100% gepackt. Darunter habe ich mal einen Textbereich vorgesehen, wo man kurz und knapp erläutert, was für Auswirkungen die Jobs im Spiel bei der Person haben. Ähnlich ist das bei allen Eingabefeldern - dort sollten am Ende hilfreiche Tooltipps hinterlegt werden, damit man für "Can level up" einen kurze Erklärung erhält.

Bei den Datumsangaben würde ich wie im Spiel verfahren - Tag/Monat nicht als Pflichteingabe sehen, sondern bei Bedarf mit 01.01.yyyy ergänzen. Kann der Editor natürlich machen.

#4 Re: Offen - Rund um TVgigant / TVTower » TVTDBEdit - Editor für Spielsätze (XML) » 04.11.2015 03:36

Dialog für Schauspieler

Die Schauspieler sind zu 90% implementiert, daher hier schon mal eine sehr konkrete Vorschau des Eigenschaftsdialogs:

Vorschau des Dialogs für Personen
(Rechtsklick -> Bild in neuen Tab öffnen für größere Ansicht)

Der erste Tab "General" (sehe grad das da fälschlicherweise noch "Properties" im Screenshot steht) sollte alles Wichtige beinhalten. Das ist entscheidend, denn alle anderen Tabs sind nur im Expertenmodus zu sehen. Bei dem Personentyp "Amateur" (Laiendarsteller trifft es als Begriff nicht so recht) sind zudem die Felder unterhalb des Trennstrichs deaktiviert. Noch weniger kann man kaum vom Anwender abfragen @TheRob.

Die Attribute als Zahlenbox in Kombination mit einem Slider - drängt sich förmlich auf. Zahlenraum ist auf 0-10 eingeschränkt. Das habe ich einfach mal anhand der niedrigen Werte in Ronnys XML angenommen.

Bei den Jobs (=functions) hatte ich erst eine Tabelle, wo man Einträge hinzufügt oder löscht, was einfach zu "fummelig" ist. Direkte Auswahlboxen erschienen mir einfacher und schneller zu bedienen. Ich habe hier erstmal 5 gleichzeitige Jobs vorgesehen. Wenn es tatsächlich mehr geben sollte, kann man noch weitere Auswahlboxen ergänzen. Das müssen dann aber wirkliche Multitalente sein ;)

Auf dem letzten Tab ist all das, was davor nicht unterzubringen war. Viel technischer Kram, IDs, Ersteller usw. Was noch fehlt ist Todestag und "price_mod". Todestag wird vermutlich auf dem ersten Tab benötigt? Und "price_mod" sagt mir nix, vermutlich auf dem letzten.

Hoffe es findet eure Zustimmung.


Persönliche Anmerkung zur Datenstruktur für Personen in der XML

  • Wie erwähnt würde ich die Trennung von <celebritypeople> und <insignificantpeople> unter einem Knoten <persons> zusammenführen und die Unterscheidung zwischen Amateur und Star im <person>-Knoten selbst hinterlegen.

  • Sofern als Grundlage für die Jobs (function) von Personen die Werte der Konstante TVTProgrammePersonJob herangezogen werden, hätte ich aufgrund der Skalierung der Werte auf Basis 2^n eine binäre Addition erwartet. Wie bei den Programmen für TargetGroups und PressureGroups. Stattdessen sind die Jobs einzeln in der XML abgelegt. Habe ich mich geirrt und <functions> sind was ganz anderes?

#5 Re: Offen - Rund um TVgigant / TVTower » TVTDBEdit - Editor für Spielsätze (XML) » 03.11.2015 21:43

Ronny schrieb:

Ohne Editor ist aber halt eine gewisse "Sparsamkeit" beim Format vielleicht wichtiger, als ein "wiederkehrendes Element"

Bitte sag mir nicht, dass es jemanden gibt, der tatsächlich die gesamte Struktur eines Eintrags Zeichen für Zeichen abtippt - immer und immer wieder. Da kopiert man sich hoffentlich einen bestehenden Eintrag und ändert nur die Werte ab. Beim Kopieren müsste es unerheblich sein, ob 3 oder 10 Zeilen. Ich muss deswegen ja nicht mehr tippen/tun.

Ronny schrieb:

Fuer dich waere die "fruehstens zu unterstuetzende Version" dann die, mit dem ersten Editorrelease, bei dem auch Daten gespeichert wuerden.

Es sind keine Release-Zyklen notwendig. Der Editor ist so konzipiert, dass man ihn sehr früh (quasi schon heute) nutzen kann, statt erst wenn er komplett fertig ist. Er manipuliert nur jene XML-Strukturen die er kennt und lässt von allem anderen die Finger davon. Sprich er lädt die XML in den DOM/Parser, ändert seine Sachen gezielt ab und speichert alles zusammen zurück in die Datei. Das einzige was mit allen Strukturen passiert ist a) beim Laden werden sie auf Korrektheit der XML-Notation geprüft und b) beim Speichern wird die Formatierung wie z.B. Einrückungen (für bessere Lesbarkeit im Texteditor) gleichgezogen. Beides ist sicherlich auch für unbekannte Strukturen wünschenswert.

Ansonsten kann ich hier schon Personen laden, ändern und speichern auch wenn der Bereich <functions> nicht implementiert wurde. Ich habe den Download mal aufgefrischt für jene, die Langeweile verspüren und Lust haben, mal herumzuspielen. Bitte ausschließlich Kopien von XMLs nutzen - da ich selbst nur rudimentär getestet habe.

#6 Re: Offen - Rund um TVgigant / TVTower » TVTDBEdit - Editor für Spielsätze (XML) » 03.11.2015 17:24

Anmerkung zur Abwärtskompatibilität:

Ich gehe davon aus, dass <version> eine Versionierung der Datenstruktur ist? Der Editor wird zukünftig alte Formate lesen, aber immer nur das neuste Format schreiben. Wenn Änderungen an den Strukturen vorgenommen werden, sollte man die Nummerierung bei <version> hochzählen. Trifft er eine Version an, die er nicht kennt, verweigert er die Zusammenarbeit mit der Datei.

Sollten Änderungen vorgenommen werden, dann wäre es gut, wenn in einer Formatversion möglichst alle Änderungen in einem Rutsch abgedeckt werden. Das verhindert, dass sich der Code unnötig aufbläht. Sprich wenn abseits von <person> noch andere Bereiche überarbeitet werden sollen, ggf. gleich mit berücksichtigen.

#7 Re: Offen - Rund um TVgigant / TVTower » TVTDBEdit - Editor für Spielsätze (XML) » 03.11.2015 16:51

Bitte keine Werte mit Kommas getrennt in XML-Tags ablegen, wenn Änderungen geplant sind. Dann lieber eine XML konforme Struktur wählen, z.B.

<person>
  <creators>
    <creator id="4711" name="Paule">
    <creator id="0815" name="Max">
  </creators>
</person>

oder um zu Personen konform zu bleiben

<person>
  <creators>
    <creator id="4711">
      <nick_name>Paule</nick_name>
    </creator>
    <creator id="0815">
      <nick_name>Max</nick_name>
    </creator>
  </creators>
</person>

Ich persönlich präferiere bei der Definition von Daten immer gleichbleibende Strukturen. Bei mir wäre <creator> nichts anderes als eine Ableitung von <person>, da ein Ersteller zufälligerweise auch eine Person (mit ggf. ID, Vorname, Nachname, Spitzname usw) ist. Dank der Flexibiltität des Formats muss man ja für <creator> nur jene Elemente nutzen/füllen, die auch Sinn ergeben.

Im Ergebnis muss man sich einerseits nur ein Format einprägen und hat es anderseits auch beim Erstellen und Laden derselben dank OO-Programmierung wesentlich einfacher. Spart einiges an IF-Konstrukten. Win-Win-Situation.

Soll aber nicht heißen, dass ihr alles umstellen müsst. Mir ist das letztendlich egal, ich muss am Ende nur wissen, wie die Struktur sein soll. Aktuell - solange die Änderungen nur geplant sind - arbeite ich weiter mit den vorliegenden XML-Dateien. Ich ziehe dann gern jederzeit nach, wenn sich Änderungen ergeben.

#8 Re: Offen - Rund um TVgigant / TVTower » TVTDBEdit - Editor für Spielsätze (XML) » 03.11.2015 13:26

Ronny schrieb:

Die Personen gibt es in zwei "Klassen".

Teppic schrieb:

[...] Vorschlag formuliert, das bisherige 2 Klassen-System für Personen zu verändern.

Das war mir beim Einlesen der Daten bereits seltsam vorgekommen, dass unterschiedliche Datenstrukturen für beide Personentypen verwendet werden. Der Beitag von Teppic trifft es  auf den Punkt. Ob eine Person "berühmt/bekannt" ist oder nicht, spiegelt bereits das Attribut "fame" wieder. 0-100 ist zudem  immer eine sehr einfach zu merkende Min/Max-Regel, da man intuitiv an Prozente denkt. Selbst wenn "Fame" nicht geeignet ist, würde ich dennoch beide Strukturen zusammenführen und intern über ein Attribut unterscheiden.

Ronny schrieb:

[aus anderem Thread] Die Unterscheidung bei "unbekannt" und "bekannt" auf spiellogischer Ebene ist, dass fuer "Promis" zusaetzliche Daten gespeichert werden (bzw notwendig sind).

Man kann einfach die Werte bei Laien weglassen. Wenn ich keinen Geburtstag angebe, fehlt der Wert letztlich auch bei den Berühmtheiten.

Berühmtheit:
<person id="ronny-gertkalischke" fictional="1" creator="5578" created_by="Ronny">
  <first_name>Gert</first_name>
  <last_name>Kalischke</last_name>
  <functions>
     <function>1</function>
     <function>2</function>
  </functions>
  <details gender="1"  birthday="1943" deathday="2014" country="NL" />
  <data prominence="1" skill="2" fame="1" ... />
</person>

Laiendarsteller:
<person id="ronny-gertkalischke" fictional="1" creator="5578" created_by="Ronny">
  <first_name>Gert</first_name>
  <last_name>Kalischke</last_name>
</person>

Wenn der "Fame"-Wert allein nicht ausreicht (z.B. fame=0 für Laie), kann man im Knoten <person> noch Attribute oder Unterknoten als Flags mit führen, welcher Typ von Person es ist. Der Editor abstrahiert das eh, für den gibt es schon nur eine Klasse "Person", dessen Lade-/Speichermethoden die einzigen sind, die etwas von unterschiedlichen Strukturen wissen. Solltet ihr euch für andere Strukturen entscheiden, kann das in wenigen Codezeilen angepasst werden.

Oder um im Entwicklerjargon zu sprechen, die Berühmtheit ist lediglich eine Ableitung/Vererbung von Laie, die wiederum eine Ableitung/Vererbung von Person ist. Am Ende teilen sich alle dieselbe Struktur jeweils angereichert mit Zusatzinformationen.

p.s. was mich zudem stutzig machte war, dass es an einer Person sowohl das Attribut "creator" wie auch "created_by" gibt. Wäre von der Formulierung her für mich dasselbe. Dachte immer, dass in "creator" der Spitzname des Spielsatzerstellers drin steht. Dem scheint wohl nicht so. Kommt wohl eher der Name des Papas von der Person rein biggrin

#9 Re: Offen - Rund um TVgigant / TVTower » TVTDBEdit - Editor für Spielsätze (XML) » 03.11.2015 00:21

TheRob schrieb:

Nur die normale Sprache. Und da ist mir Dein Screenshot noch zu techniklastig. Kannst Du nachvollziehen, was ich meine?

Ich weiß was Du meinst, ist der gleiche Effekt wie bei mir an der Arbeit, wenn einer der Seniorentwickler versucht dem Vertriebsteam technisches Hintergrundwissen zu vermitteln. Nur sehe ich derzeit dieses Problem im Editor nicht so recht. Wenn man z.B. den Eigenschaftsdialog für Personen öffnet, werden dort als Formular ganz alltägliche Informationen abgefragt - Vorname, Nachname, Geschlecht, Geburtstag. Das GUI-Konzept sieht vor, dass mit jedem Reiter, denn Du weiter nach hinten wechselst (was Du nicht tun musst), die Themen komplexer werden.

Auf dem zweiten Reiter findet man in Listenform alle Persönlichkeitswerte wie Charisma, Prominenz, Humor usw.  Alles wie ich finde noch unkritisch.

Erst auf dem dritter Reiter, der hier "Advanced" heißt, könnte es technisch werden. Aber da muss der Anwender auch nicht hinwechseln. Oder man blendet die Reiter im Standard aus und man kann via Optionen den Profimodus aktivieren, um sie wieder einzublenden.

Im Idealfall sind alle Pflichteingaben (zum Anlegen einer Person) auf dem ersten Reiter zu finden. Welche Felder dort am Ende nun genau stehen, dass muss ich mit euch dann absprechen. Es kann durchaus sein, dass man die ID und 1-2 anderen Felder auf hintere Tabreiter verschiebt.

Ich habe eher das Gefühl, dass Du die englischen Begriffe als "technisch" erachtest, weil sie Dir in der XML-Struktur begegnen. Als ersten Start werde ich mal die Personen in Angriff nehmen, so dass man mal eine der XML öffnen und die Daten sehen kann. Dann schauen wir uns das am Besten nochmal an. Es hilft vielleicht, das am konkreten Beispiel zu erörtern.

#10 Re: Offen - Rund um TVgigant / TVTower » TVTDBEdit - Editor für Spielsätze (XML) » 02.11.2015 02:18

Ihr seit flott, das muss ich sagen. Nun denn.

Mehrsprachigkeit

Zum einen wird der Editor natürlich mehrsprachige Spielsätze unterstützten. Zum anderen wird der Editor selbst im ersten Schritt in Englisch umgesetzt, da das heutzutage der kleinste gemeinsame Nenner ist. Es sei denn ihr entscheidet mehrheitlich, dass der Editor zuerst auf Deutsch entwickelt werden soll. Mir ist beides recht. Auf jeden Fall soll der Editor später eine Mehrsprachigkeit spendiert bekommen. Das Feature macht aber erst Sinn, wenn nicht mehr soviel verändert wird, sprich die Entwicklung ruhig vonstatten geht. Andernfalls ist die Gefahr zu hoch, dass bestehende Sprachdateien inkompatibel werden oder man große Teile ständig neu übersetzen muss.

"Sicht zu technisch"

@TheRob, was Du ansprichst wären eine Art Assistenten, die bestimmte Aufgaben trivialisieren - z.B. einen Film anzulegen. Hier wird es schwierig werden, genau zu definieren, was das Minimum an Metadaten ist. Wenn ich einfach nur Titel, Schauspieler und drei Werte angebe, reicht das am Ende tatsächlich für ein passables Spielerlebnis? Was passiert im Spiel, wenn man die Zielgruppen für einen Horrorfilm einfach weglässt (=alle) und er automatisch auch für Kinder tauglich ist? Ist das nicht gerade das A und O im Spiel, dass ich z.B. Horrorfilme nicht ins Kinderprogramm werfen sollte? Und wenn doch die Einschaltquoten den Bach runtergehen, plötzlich Werbeblöcke unter die Mindestzuschauerzahl fallen. Sind Spielsätze noch spannend, wenn man Ereignisse und Skripts komplett weglässt?

Kein einfaches Thema und gerade für den Anfang noch etwas haarig. Am Ende befürchte ich, dass ein guter Spielsatz nicht mit drei Klicks zusammengestellt werden kann, sondern durchaus von dem Ersteller ein paar Kenntnisse der Spielmechaniken abverlangt.

Um kreativ zu sein: Ich kann mir schon vorstellen, dass man im Menü einen Haken bei "Assistent" setzt und der Editor Werte vorbelegt und ggf. in Abhängigkeit automatisch setzt. So könnte er in dem Modus bei der Genreauswahl "Horror" intern automatisch die "Kinder" als Zielgruppe abwählen. Da finden sich bestimmt unzählige Beispiele, dem Anwender zu helfen.

#11 Offen - Rund um TVgigant / TVTower » TVTDBEdit - Editor für Spielsätze (XML) » 01.11.2015 23:10

Mayo
Antworten: 26

Hallo zusammen,

ich wurde quasi von einem anderen Projekt kurzerhand abgeworben und bin nun bei TVTower gelandet. Mein konkretes Ziel hier bei euch soll die Erstellung eines Editors für die Spielsätze sein, die derzeit im XML-Format vorliegen und wohl noch aufwändig per Hand editiert werden. In Abstimmung mit Ron erschien ein Forenbeitrag als sinnvoll, um allen anderen aktiven Mitgliedern die Möglichkeit für Feedback zu geben.

Editor

Ich entwickele den Editor in Java und stelle den Quellcode als open source zur Verfügung. Das ermöglicht die Nutzung für nahezu alle relevanten Plattformen. Derzeit liegt nur ein GUI-Konzept bzw. Prototyp vor, um zum einen Feedback einzuholen, zum anderen damit ich einen Überblick bekomme, was alles benötigt wird.

Einen groben Eindruck bekommt man, in dem man sich die JAR-Datei herunterlädt und selbst startet (aktuelles Java vorausgesetzt). Wie erwähnt ist das nur eine leere Hülle, um eine Grundlage für Vorschläge/Diskussionen zu haben. Für einen schnellen Blick ein Screenshot:

TVTDBEdit.jpg

Download:

http://www.devsource.de/tvtower/tvtdbedit/TVTDBEdit.zip

Feedback

Jede Frage, Anmerkung und Vorschlag ist gern gesehen. So wurde ich schon auf einige Dinge hingewiesen (Zuordnung von Episoden zu Serien, Abgleich mit IMDB/TMDB usw). Wer also Probleme im aktuellen GUI-Konzept sieht oder sich bestimmte Dinge noch nicht so recht vorstellen kann, einfach posten. Irgendwie muss man ja einen Anfang finden, nicht wahr.

Davon ab werde ich den Editor etappenweise entwickeln und die hier verlinkte JAR-Datei entsprechend aktualisieren. Wer Interesse hat, kann so die Entwicklung begleiten. Ich freue mich darauf, der ein oder andere von euch hoffentlich auch. Und wenn alle Stricke reißen, XML-Dateien lassen sich weiterhin mit einem Texteditor bearbeiten :)

Ansonsten sei der Vollständigkeit halber für alle Leser erwähnt, dass ich kein Mitglied des Entwicklungsteams bin - seht mich als freiwilligen Helfer und alten Gamer, der in jungen Jahren viele Stunden in MADTV verbracht hat.

Gruß
Mayo

  1. Übersicht
  2. » Suche
  3. » Von Mayo