• Willkommen im Forum „Tintenzirkel - das Fantasyautor:innenforum“.
 

Plotprogramm

Begonnen von RaphaelE, 23. November 2013, 17:09:07

« vorheriges - nächstes »

0 Mitglieder und 1 Gast betrachten dieses Thema.

RaphaelE

Hallo liebe Zirkler,

Ich bräuchte ein Plotprogramm, das gewisse Transparenz und Leistungsfähigkeit haben sollte. Ich habe mir schon einiges angesehen und Ideen gesammelt. Da ich auch programmiere, wollte ich mir meinen eigenen Plotter zusammenbasteln. Aber was hätte so ein grosses Projekt schon für einen Nutzen, wenn nur ich es benutzen würde? Darum frage ich euch, ob ihr gewisse Wünsche an so ein Programm habt. Ich habe zusammengetragen, wie mein Programm aufgebaut werden sollte und habe nachstehend eine Erklärung erstellt.
Das Programm soll einen integrierten Weltenbaubogen enthalten, Welten erstellen, Texte verwalten und mit externen Schreibprogrammen(Editor, Word, FocusWriter, ...) zusammenarbeiten und zu guter Letzt das ganze Buch als PDF-Datei als Normseiten ausgeben können. Für nachfolgende Projekte können schon erstellte Welten/Völker/Personen/u.Ä. wiederbenutzt werden.

Hier ist der Aufbau:

Legende:
-"p*" kennzeichnet ein Objekt als unsichtbar (Das heisst, dass der Anwender es weder sehen noch lesen kann, was eigentlich auch unnötig ist - siehe letzter Legendenpunkt)
-"[]" kennzeichnet ein Objekt als Liste eines nachstehenden Datentyps
-"$" kennzeichnet ein Objekt als Text (String)
-"%" kennzeichnet ein Objekt als Ganzzahl (Integer)
-"#" kennzeichnet ein Objekt als Gleitkommazahl (Double)
-"Bool" kennzeichnet ein Objekt als Wahr/Falsch-Wert (Boolean)
-"Bitmap" kennzeichnet ein Objekt als Bild
-"Point" kennzeichnet ein Objekt als Punkt (mit X-/Y-Koordinate)
-"SpecDate" kennzeichnet ein Objekt als Datum in einer Spezifischen Zeitrechnung
-"|" trennt für Eingabe mögliche Datentypen (zum Beispiel bedeutet "$|%", dass entweder ein String oder ein Integer angegeben werden können.
-"Objektname" kennzeichnet ein Objekt als Typ, der nachfolgend definiert wird.
-"ID(Objektname)" kennzeichnet ein Objekt als Zeiger auf ein Objekt des in Klammern gesetzten Typs, der eine bestimmte ID hat (Für Typen, die ausserhalb der aktuellen Struktur definiert sind und an mehreren Orten Verwendung finden, beziehungsweise beweglich sind. Zum Beispiel "Person" oder "Ort", nicht aber "Kontinent" oder "Land").

Beispiel:
└Bäume[] Baum
    ├Name$
    └Alter EnumAlter|%

Das wäre die Auflistung "Bäume", die Objekte vom Typ "Baum" beinhalten, welcher wiederum Die Eigenschaften "Name" als Text und Alter als Wert aus der Enumeration "Alter" enthält oder eine Ganzzahl darstellt.

Die Dateien werden abgespeichert in folgender Ordnerstruktur (Dateien enthalten JSON-Strings):
[Projektname]
    ├Story
    │    ├[Teil1]
    │    │    ├[Prolog].rtf
    │    │    ├[Kapitel1].rtf
    │    │    └[Kapitel2].rtf
    │    └[Teil2]
    │        ├[Kapitel10].rtf
    │        └[Epilog].rtf
    ├Welten
    │    ├[Welt1].wlt
    │    └[Welt2].wlt
    ├Pflanzen
    │    ├[Pflanze1].pfl
    │    ├[Pflanze2].pfl
    │    └[Pflanze3].pfl
    ├Tiere
    │    ├[Tier1].tre
    │    └[Tier2].tre
    ├Personen
    │    ├[Person1].pers
    │    ├[Person2].pers
    │    └[Person3].pers
    ├Völker
    │    ├[Volk1].vlk
    │    └[Volk2].vlk
    ├Gegenstände
    │    └[Gegenstand1].ggs
    ├Ereignisse
    │    ├[Ereignis1].erg
    │    └[Ereignis2].erg
    ├Länder
    │    ├[Land1].lnd
    │    └[Land2].lnd
    ├Städte
    │    ├[Stadt1].std
    │    ├[Stadt2].std
    │    └[Stadt3].std
    ├Dörfer
    │    ├[Dorf1].drf
    │    └[Dorf2].drf
    ├Orte
    │    ├[Ort1].ort
    │    └[Ort2].ort
    ├Gebiete
    │    └[Gebiet1].gbt
    ├Gebäude
    │    ├[Gebäude1].gbd
    │    ├[Gebäude2].gbd
    │    └[Gebäude3].gbd
    └Gesellschaften
        ├[Gesellschaft1].gsl
        └[Gesellschaft2].gsl

Beispiel: "C:\users\Me\Documents\Buch\[Projektname]\Völker\[Volk1].vlk"

Enumerationen (wird für ungenauere Angaben benutzt, zum Beispiel Alter einer Galaxie oder Geschwindigkeit eines Tieres):
Enum Intensität
    SehrSchwach = -5
    Schwach = -4
    Mittel = -3
    Stark = -2
    SehrStark = -1
End Enum
Enum Geschwindigkeit
    SehrLangsam = -5
    Langsam = -4
    Mittel = -3
    Schnell = -2
    SehrSchnell = -1
End Enum
Enum Alter
    SehrJung = -5
    Jung = -4
    Mittel = -3
    Alt = -2
    SehrAlt = -1
End Enum
Enum Grösse
    SehrKlein = -5
    Klein = -4
    Mittel = -3
    Gross = -2
    SehrGross = -1
End Enum



Klassenhierarchie (Jetzt geht's zur Sache):
Sorry but you are not allowed to view spoiler contents.


Es ist mir wichtig, dass ihr mir Logikfehler aufzeigen könnt und mir Vorschläge und Wünsche äussert. :lehrer:
Das dürfte die grösste Programmierarbeit sein, die ich je zu beginnen gewillt war.

Grüsse

Raphael

Editorial:
25.11.13: Darstellung Thema verbessert.
27.11.13: Klassenstruktur fertig aufgebaut. Das Speichern und Laden der jeweiligen Dateien(klappt) sowie die Implementierung einer Default-Welt steht an.

Eleanor

ZitatDas dürfte die grösste Programmierarbeit sein, die ich je zu beginnen gewillt bin.
Ja also das glaub ich dir :D das ist wirklich richtig komplex!

Einen kleinen Ideenvorschlag würde ich auch gerne noch anbringen:
Könnte man vielleicht zusätzlich so etwas wie eine Pinnwand einrichten? Also das, wenn man gerade noch am Planen und Überlegen ist und noch nichts fest eintragen will, man sich einfach vorher  Kärtchen machen kann. Für Personenkonstellationen oder den Entwurf eines Volkes ist das denke ich ganz nützlich. Die Notizen könnte man dann herumschieben, verbinden in verschiedenen Farben noch mal markieren, oder eben auch wieder löschen. Auch wenn man eine Karte für eine Welt gerade noch plant wäre so etwas denke ich sehr praktisch, wenn man noch ein bisschen die Städte und Dörfer probeweise ein wenig anders anordnet. Das wäre dann sozusagen, als virtuelles "Notizbuch" für Ideen im Programm mit drin. Bin ich da ein wenig auf dem Holzweg, was Machbarkeit angeht? Oder gehört das eher nicht in deine Vorstellung vom Programm mit hinein?

Lg,
Eleanor

Pandorah

Das klingt spannend und nach verdammt viel Arbeit. Ich bin sehr gespannt, was dabei rauskommt!

Generell fände ich die Möglichkeit sehr, sehr nützlich, verschiedene Handlungsstränge parallel darstellen zu können, eben so wie die Verknüpfungspunkte.

A: Szene 1 ------ Szene 2                        ------ Szene 4....
                                        ------ Szene 3
B: Szene 2 ------ Szene 2                        ------ Szene 4....

So ungefähr. Nur hübsch. Und visuell.

RaphaelE

Zitat von: Eleanor am 23. November 2013, 18:03:09Könnte man vielleicht zusätzlich so etwas wie eine Pinnwand einrichten? Also das, wenn man gerade noch am Planen und Überlegen ist und noch nichts fest eintragen will, man sich einfach vorher  Kärtchen machen kann. Für Personenkonstellationen oder den Entwurf eines Volkes ist das denke ich ganz nützlich. Die Notizen könnte man dann herumschieben, verbinden in verschiedenen Farben noch mal markieren, oder eben auch wieder löschen. Auch wenn man eine Karte für eine Welt gerade noch plant wäre so etwas denke ich sehr praktisch, wenn man noch ein bisschen die Städte und Dörfer probeweise ein wenig anders anordnet. Das wäre dann sozusagen, als virtuelles "Notizbuch" für Ideen im Programm mit drin. Bin ich da ein wenig auf dem Holzweg, was Machbarkeit angeht? Oder gehört das eher nicht in deine Vorstellung vom Programm mit hinein?
Hallo Eleanor,

Ich muss zugeben, dass ich, was grafisches angeht nciht so versiert bin wie Andere, aber Ich werde es mal im Hinterkopf behalten. Die Möglichkeit, Geistesblitze  festzuhalten, wollte ich sowieso noch einbauen. Und da könnte dein Vorschlag genau hineinpassen. Aber wie gesagt, muss ich die Funktionalität leider so weit herunterschrauben, bis es mit meinem Weissensstand machbar wäre - auch wenn das nicht allzu tief wäre.

Zitat von: Pandorah am 23. November 2013, 20:57:37Generell fände ich die Möglichkeit sehr, sehr nützlich, verschiedene Handlungsstränge parallel darstellen zu können, eben so wie die Verknüpfungspunkte.
Hallo Pandorah,

Die Visualisierung von Handlungssträngen wollte ich sowieso einbauen. Das gibt ja einen schönen Überblick, wer wo und wie lange vorkommt. Wie ich das Ganze dann genau umsetze, muss ich mir noch genau anschauen.

Grüsse

Raphael

Arne

Hmmm... auf den ersten flüchtigen Blick erinnert mich der Kern des Ganzen sehr an das Programm Scrivener. Scrivener verbindet einen mächtigen, projektbezogenen Dateibrowser (eingeblendet in einer Leiste links, mit individualisierbaren Sortierungen (Sammlungen) zur Anzeige von nur Ausschnitten aus dem ganzen Projekt), gute Plottingtools (Pinnwand, Gliederungsübersicht), einen flexiblen Editor (gleichzeitige Anzeige mehrer Dateien, Split Widow, Vollbildansicht, etc.), sowie sehr mächtige Funktionen zu Notizen, Anmerkungen, Fußnoten und Schlüsselwörtern. Und zum Schluss sind auch noch umfassende Exportoptionen inklusive (was soll rein, welches Format, etc.). Auch die Importfunkionen sind sehr angenehm und funktionieren sogar per Drag and Drop.

Der Wesentliche Unterschied (soweit ich das mit meinem flüchiten Blick erfasst habe) liegt eigentlich nur darin, dass Du in Deinem Vorhaben richtige Klassen für einzelne Elemente erstellst, die man dann füllen kann/soll. Der Ansatz ist interessant, aber wenig flexibel. Eine entsprechend intelligent angelegte Dokumentenvorlage, bzw. ein sauber strukturierter Ordner in Scrivener tut es da auch.

In besagtem Programm mache ich es für Charaktere zum Beispiel folgendermaßen:

Hauptornder Charaktere anlegen, dann Unterordner für die einzelnen Instanzen (Personen). So kann ich beim Klicken auf den Hauptordner in der Pinnwandansicht eine gute Übersicht über alle Charaktere haben, samt gleich einsehbarer Stichpunkte und auch praktischen "Stempeln" z.B. zum Status; beim einfache Klicken auf eine der Karten auf der Pinnwand kommen weitere Informationen, sowie erste ausführlichere Notizen an der rechten Bildschirmseite (im ausblendbaren Inspector) hinzu. Hinter jeder der Karten verbirgt sich der vollwertige Ordner des jeweiligen Charakters.
In den einzelnen Charakterordnern werden Bilder zu den Personen abgelegt, sowie, je nach Bedarf, nötige Dokumente angelegt; für neue Charaktere kann z.B. eine Dokumentvorlage hineinkopiert und dann gefüllt werden. Wiederum in der Pinnwandansicht für den Charakterordner des spezifischen Charakters sehe ich die Bilder in kleinem Format, sowie wieder Karteikarten über die einzelnen Aspekte mit ersten Stichpunkten.
Das Ganze kann dann noch mit Schlüsselwörtern versehen werden, um später noch leichter auffindbar zu sein. Will ich später, im Laufe des entstehenden Projektes sehen, wo der entsprechende Charkter auftaucht, kann ich das entweder über die Schlüsselwortsuche machen oder ich suche den Charakternamen selbst. Das Praktische: Ich kann mir die Suchergebnisanzeige, die mir sämtliche Dokumente im Projekt mit diesem Suchbegriff/Schlüsselwort anzeigt, als Custom Verzeichnisansicht speichern. Sie bekommt einen eigenen Tab im Dateibrowser von Scrivener (der von mir auch einen eigenen Namen und eine eigene Farbe bekommen kann), der, bis ich ihn lösche, als zusätzliche Projektansicht verfügbar und ganz normal bearbeitbar ist. Dabei können jederzeit Ordner und Dokumente herausgeschmissen werden, ohne dass es Einfluss auf deren Platz im eigentlichen Projekt hat; sie werden nur aus der Custom Übersicht entfernt.
Praktisch z.B. wenn man nur die Kapitel/Szenen mit einem bestimmten Charakter durchgehen will, um die Kontinuität von Perspektive und Auftreten zu überprüfen, ohne von all dem restlichen Inhalt des Projektes gestört werden zu wollen.

Und das ist nur meine Herangehensweise in nur einem Beispiel. Scrivener ist längst nicht perfekt oder vollständig. Die Rechtschreibprüfung ist bestenfalls mäßig (dank einem sehr spartanischen Wörterbuch) und was ich mir zum Beispiel wünsche würde, wäre eine Timeline mit der Möglichkeit, die jeweiligen Szenen sauber zeitlich einzuordnen (Tag X an Ort A, Uhrzeit Y); das kann ich zwar natürlich in die Notizen oder auf die Karteikarte für die Pinnwand hineinschreiben. Aber ich glaube, das müsste effektiver gehen.

So oder so, Respekt für die umfassenden und komplexen Gedanken, die Du Dir schon gemacht hast!!! Den langen Sermon über Scrivener habe ich nicht geschrieben, um Deine Bemühungen herabzusetzen oder um Lobeshymnen über Scrivener zu singen. Aber da ich selbst etwas programmiere, weiß ich grob, wie viel Arbeit Du Dir da vorgenommen hast. Es wäre verdammt schade, wenn es vielleicht schon beinahe das gibt, was Du willst und Du Dich hinterher ärgerst, Dir die Mühe gemacht zu haben.
Andererseits wäre es natürlich hammer, die perfekt auf Deine Bedürfnisse zugeschnittene Arbeitsumgebung zu haben. Nur... bedenke, wie viel Schreibzeit durch das Programmieren derselben flöten geht. So wie ich das sehe, könntest Du ein kürzeres Buch in derselben Zeit ziemlich weit bringen. Da solltest Du Dir schon sicher sein, dass es nichts am Markt gibt, das nah genug an Deine Bedürfnisse herankommt.

Fianna

Dein Eingangsbeitrag klingt eher nach einem Weltenbauprogramm statt nach einm Plotprogramm...

Ich fände die Sortierung und parallele Darstellung von Handlungssträngen sehr wichtig: 1, 2, 3...
Falls man dieses "1, 2, 3" nicht festlegt, sondern diese Überschrift optional lässt, kann man es immer noch verwenden, um Charaktere und ihre Handlungen sichtbar zu machen. Dann hättest Du möglichereise weniger Programmieraufwand. Es müsste nur möglich sein, mehrere dieser Übersichten zu erstellen - vllt will jemand ja sowohl Haupt-/Nebenstränge als auch die Charaktere oder die beteiligten Länder erfassen (also mehrere Verläufe zum selben Projekt erstellen).
Oder ich würde beispielsweise Konflikte einer Person so sortieren (innerer Konflikt, äusserer Konflikt, Konflikt mit Person A, Konflikt mit B...), da ich viel damit plotte.
--> Also die Möglichkeit, mehrere lineare parallel liegende Verbindungen zu erstellen, diejeweils nur einen vorbestimmten Teil gehen (beispielsweise liegen 3 Linien paralle aber werden zwischendurch unterbrochen nach Belieben des Autors). Mit optionaler Beschriftung dieser Stränge sowie einem.optionalen Überbegriff und der Möglichkeit, proProjekt mehrere davon zu erstellen.


Dann fände ich es sehr wichtig, dass man viele Markierungen einfügen kann - Punkte oder Vierecke innerhalb dieser Handlungslinie, wo der Autor etwas eintragen kann.
Manche Leute plotten mit Höhepunkten/Wendepunkten, andere setzen Konflikte ein, Krimischreiber möchten das Auffinden von Indizien sortieren...
Wenn man eine derartige Konstruktion hat, kann es von Autoren mit vielen verschiedenen Arbeitsweisen genutzt werden.

Zuletzt wäre natürlich eine chronologische Sortierung gut (Tag, Mondphase, ...) aber da wäre eine Tabelle ausreichend, die man selbst befüllt... Eine lineare Darstellung fälltir nicht ein.
Vllt hat jmd anderes eine gute Idee.


~~~~~~~~~

Das wäre meine Vorstellung von einem guten Plotprogramm, und wnn die einzelnen Linien/Stränge noch bunt wären (der erste rot, der nächste blau etc) wäre das ideal. Dann könnte man schnell erkennen, wieviele Charaktete in einer Szene beteiligt sind, ob sich Konflikte der Handlungen ballen oder Ähnliches - wenn im.vorderen Teil eine Farbe dominiert  (immer wieder eine andere - eben immer nur eine Farbe "dran" ist) und es an einer Stelle auf einmal bunt wird, hat man sein Ziel entweder genau erreicht oder genau verfehlt...
Bunt wäre es übersichtlicher.

Moni

Ich möchte zu dieser Thematik noch auf den Thread von Godfather verweisen, der sich ja im Prinzip mit etwas ähnlichem befasst: http://forum.tintenzirkel.de/index.php/topic,12605.0.html

Ihr könntet euch da ja mal kurzschließen, vielleicht wäre eine Zusammenarbeit ja eine Idee?
Deutsch ist die Sprache von Goethe, von Schiller...
und im weitesten Sinne auch von Dieter Bohlen[/i]
Stefan Quoos, WDR2-Moderator

»Gegenüber der Fähigkeit, die Arbeit eines einzigen Tages sinnvoll zu ordnen,
ist alles andere im Leben ein Kinderspiel.«[/i]
Johann Wol

RaphaelE

Hallo Moni,

Ich habe sogar vor dem Erstellen dieses Threads mich mit Godfather in Verbindung gesetzt. Seine Lösung ist eine Online-Anwendung(grob gesagt) und meine Idee würde in einer Desktop-Anwendung resultieren. Ich denke, über eine Verbindung der Beiden können wir erst grübeln, wenn sich gewisse Grundzüge meiner Idee herauskristallisiert haben.
Aber es würde mich natürlich beruhigen und bestärken, wenn ich professionelle Hilfe erhielte. Ich mache das ja seit einem Jahr(hobbymässig) und habe auch keine umfassende Schulung erhalten. Godfather scheint gerade in denjenigen Bereich zu arbeiten, in denen ich gewisse Schwächen habe(Datenbanken, Netzwerke etc.).

Grüsse

Raphael

dawinschi

Find ich interessant die Idee. Mehr in Richtung Weltenplaner wäre genial. Wenn man alles Wiki-ähnlich verlinken könnte und vielleicht noch ein simpler eingebauter Landkarten-Editor integriert ist ;D , das würde es perfekt machen! Zur Anbindung an andere Programme ist auf jeden Fall RTF-Export wichtig, da das Format quasi jede Textsoftware schluckt.

:winke:

RaphaelE

Hallo dawinschi,

Wiki-ähnliche Verlinkung habe ich mir auch schon überlegt, zu involvieren. Ein Landkarteneditor war jetzt zwar noch nicht in meiner Liste, aber merke ich mir mal. Die Textdateien werden ganz bestimmt im RichTextFormat abgespeichert.
Danke für deine Vorschläge!

Grüsse

Raphael

Godfather

Halli hallo,

vielen Dank erstmal an Moni, dass sie auf meinen Plotmanager-Thread verweist :D

Eine Desktop-Variante fände ich auch spannend, da man natürlich (wenn man nicht die Quelldateien und einen Apache zu Hause laufen hat) den Plotmanager nur online erreichen kann.

Die Idee von RaphaelE klingt stellenweise vielversprechend, aber ich finde den Einwand von Arne nicht unwichtig, dass durch die festen Klassen (z.B. Völker, Pflanzen) eine gewisse Inflexibilität Einzug erhält.

Ich stand anfangs auch mit meiner Plot-Idee da, welche in verschiedenen Parallelwelten spielt. Schnell merkte ich aber, dass eine andere Idee auf verschiedenen Planeten spielt, oder gar an verschiedenen Orten auf der Erde. Die chronologische Sortierung war damit unmöglich, da 20 Uhr in Deutschland nicht gleich 20 Uhr in New York ist. Also habe ich die Zeitzonen eingeführt. Schaltjahren fehlen noch, aber mir schwebt in einer späteren Ausbauphase ähnliches vor, wie dir, dass man pro Welt verschiedene Zeitregelungen erstellen kann (so herrscht auf dem Planten Jupiter eine andere Tageseinteilung als auf der Erde)...

Ebenso hatte ich die Klasse Person - diese hatte natürlich z.B. ein Geschlecht...und was, wenn doch nicht? Wie bringt man so etwas unter? Und welche Charaktereigenschaften hat sie denn nun, falls sie überhaupt welche hat.

Die "Lösung" ist ein modularer Aufbau, der die Sache für den Start jedoch sehr kompliziert macht (jedoch ist eine gute Vorarbeit immer wichtig). Mein Plotmanager scheint aufgrund der zunehmenden Komplexität nicht unbedingt mit offenen Armen angenommen zu werden (dabei waren einige Features "Anforderungen" der TZ-Benutzer).

Ich für meinen Teil habe meinen Frieden mit dem Plotmanager geschlossen, so wie er jetzt gerade ist. Es fehlen noch viele Punkte, vor allem Visualisierungen (so sind parallele Handlungsstränge möglich, werden jedoch nur tabellarisch gelistet, ohne schöne Grafik).

Eventuell werde ich "irgendwann mal" eine Export-Funktion zu verschiedenen Offline-Programmen einführen...im Moment habe ich jedoch nur Mindmanage-Software im Blick, da diese die Daten scheinbar im XML-Format speichert und ein Export hier eventuell vielleicht gegebenenfalls "einfacher" sen könnte, als für komplexe Software.

Momentan liegt mein Augenmerk auf der "Verschönerung" des Plotmanagers. Heute habe ich einpaar kleine Änderungen online gestellt, die ihn nicht ganz so bott aussehen lassen.

Soweit, so gut. Dann wünsche ich allen mal einen schönen Abend und falls man sich nicht mehr liest - einen guten Rutsch ins neue Jahr.

LG

Patrick