Autor Beitrag
hkk
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 64

Win XP Pro, Win ME, openSUSE 10.2, Ubuntu 7.xx; Firefox 2 (en-US)
D7 Pers, D3 Prof
BeitragVerfasst: So 16.04.06 13:45 
Also, jetz bin ich hier mal wieder online, und stell mal eins meiner aktuellen Projekte vor ^^

UPDATE (siehe Ende dieses Posts)
Source-Code verfügbar (siehe Ende dieses Posts)

Interactive Story Teller (IST) ist ein Programm, das aus speziell formatierten Dateien (Erweterung .ist, Dos/Windows Text, ASCII/ANSI) den Text für eine Geschichte ausliest und anzeigt. Das besondere daran ist, dass man nach jedem Kapitel auswählen kann, wie es weitergeht (insofern es vom Autor so eingestellt worden ist). Man hat also die Möglichkeit, nach jedem Kapitel zu wählen. So hat man keine immer gleiche lineare Storyline, sondern eine vielzahl an Möglichkeiten.

Die Verlinkung zwischen den Kapiteln ist unbegrenzt, man kann also auch zurück verlinken, für anfangs verzweigte Teile der Story später einen gemeinsamen Verlauf verwenden etc.
Der Hauptteil des Programms (intern) ist die Parser-Engine (lol, Engine ist vielleicht ein wenig hochgestochen, aber ich mag den Ausdruck ^^) für die IST-Dateien mit etwa 250 Zeilen Quelltext bis jetzt. Anfangs hatte ich geplant, normale ini-File Syntax zu verwenden, aber die reichte von den Ebenen her nicht aus, weshalb ich selber parsen muss.

Im Moment arbeite ich an der Fertigstellung des Front-Ends und v.a. an der Parsing-Methode.
"Still to come"-Liste:
+ Erweiterte Unterstützung für Story Packages (*.ispack), Pakete von mehreren Geschichten, gepackt mit einer einfachen Methode. Unterstützt Verschlüsselung der einzelnen Geschichten (sodass man nicht einfach die Datei öffnen kann und nachsehen, wie die Geschichte an einer bestimmten Stelle weitergeht) (ob man das braucht, darüber lässt sich streiten), rein theoretisch ist auch eine doppelte Verschlüsselung möglich, wenn man die einzelnen Dateien verschlüsselt und zusätzlich eine global Verschlüsselung verwendet - das bleibt den Autoren überlassen.
+ Mehrsprachenunterstützung - Wäre dabei besser, die Sprächen im Programm-quelltext zu integrieren oder externe dateien zu verwenden? (Möglicherweise eine Kombination, um die Flexibilität zu wahren?)

Noch ein Hinweis zur Anwendung: Im Programm ist oben links ein Button mit einem Pfeil nach unten, der das Menü aufruft. Darin befindet sich der Öffnen-Punkt, um die mitgelieferten Dateien zu öffnen. Das Programm öffnet aber auch die Datei, die als Parameter übergeben wird, d.h. man kann z.B. die teststory.ist auch einfach auf die IST.exe drag&droppen, um sie zu öffnen.

Bitte eure Meinung zu Idee und Umsetzung posten ^^
Autoren willkommen: Wer daran interessiert ist, Geschichten für IST zu schreiben, der solle sich bei mir melden oder her posten. Ich kann euch dann immer mit neuesten Versionen versorgen und über Updates in der Syntax informieren.
-------------------------------------------------------
Eure Meinung ist gefragt:
(1) Mehrsprachenunterstützung (Multilingualität): Sollen die Sprachen fest in den Programmcode eingebunden werden, um das Handling wenig kompliziert zu halten, oder eher also externe (und damit auch optionale) Dateien zur Verfügung stehen, um flexibler zu bleiben?
(2) Look & Feel: Soll ein Hintergrundbild (etwa ein Buch) verwendet werden, oder soll der Hintergrund aus schlicht einer Farbfläche bestehen? Oder vielleicht beides mit Umschaltoption?
(3) Story: Soll die Möglichkeit zur Verfügung gestellt werden, in jedem Kaptel ein Bild anzuzeigen und damit auch untermaldende Bilder oder gar reine Comics zu ermöglichen? Oder ist das eher unnötiger Schnick-schnack?

Wenn ihr nicht unbedingt eine Testbewertung schreiben wollt, würde ich mich trotzdem sehr über Meinungen zu obigen Fragen freuen!
-------------------------------------------------------
UPDATE v0.0.3 alpha:
Hier kommt die nächste Version, frisch unter meiner Hand weg! (leider noch nicht die gewünschte Beta, aber ich wollte jetzt den weiteren Fortschritt zeigen)
+ einfache Package unterstützung eingebunden! es können jetzt *.ispack-Dateien geladen werden. Außerdem ist ein Packer eingebaut (V -> Tools -> Packer), über den man die Packages verwalten kann. Bis jetzt habe ich zwar erst die Erstellen und die Hinzufügen-funktion eingebaut, aber so kann man schon mal in die Packages reinschauen (-> auf dem Hinzufügen-Tab kann der Inhalt angezeigt werden)
+ Protokoll: Ich habe begonnen, ein EventLog einzubauen. mit dem Parameter -showlogger oder dem Menüpunkt V->Tools->Logger kann das Protokoll angezeigt werden. Die öffnen- und laden-funktionen sind derzeit deaktiviert, denn es fehlen noch einige ereignisse beim eintragen, und so brauche ich noch kein durchgehendes Log.
+ About-Form: Ich habe jetzt einen "Über..." Dialog hinzugefügt. aufrufbar über V->Info + Hilfe->Über...

Known Issues (bekannte Fehler):
- wenn im Packer unter "Packagedatei" eine Datei ausgewählt ist, die keine Packagedatei ist, wird eine Exception ausgelöst und u.U. hängt sich das ganze Programm auf. Ich war bisher zu faul, dies abzufangen, aber in der beta wird es sicher ausgemerzt sein ^^

Source-code available!
Ich habe jetzt meinen Projektordner (für dieses Projekt) mit hochgeladen. Dort sind alle Sources enthalten.
WICHTIG: Es werden folgende Komponenten verwendet und damit benötigt:
- FlatStyle Components (Buttons, Edits, Speedbuttons, Checkboxes, ComboBoxes)
- StatusbarPro
Sie sollten bei Torry's Delphi Pages verfügbar sein. Wenn weitere Komponenten fehlen, meldet euch bitte.

Bald wird noch eine ausführlichere Teststory zur Verfügung gestellt werden!
-------------------------------------------------------
UPDATE v0.0.2 alpha:
Ich habe einige der Ratschläge meines ersten Testers beherzigt und einige Verbesserungen kleinerer Art vorgenommen:
+ Fensterposition kann jetzt durch die IST-File eingestellt werden
+ Parsing-Methode wurde um die Hälfte gekürzt (habe unnötige Wiederholung vieler Befehle verbessert), jetzt nur noch 250 Zeilen
-------------------------------------------------------

~HKK
Einloggen, um Attachments anzusehen!


Zuletzt bearbeitet von hkk am So 30.04.06 18:57, insgesamt 4-mal bearbeitet
Andreas L.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1703
Erhaltene Danke: 25

Windows Vista / Windows 10
Delphi 2009 Pro (JVCL, DragDrop, rmKlever, ICS, EmbeddedWB, DEC, Indy)
BeitragVerfasst: Mo 17.04.06 00:12 
Hi,
ich habs mir jetzt mal kurz angeschaut. Der Pfeil fürs Menü ist wirklich schwer sichtbar, solltest du vielleicht nicht gerade in die Titelleiste machen. Wenn ich die teststory öffne wird das Fenster größer bleibt jedoch an der selben Position, d. h. ich muss das Fenster erstmal nach links und oben ziehen damit ich was sehen kann.

Ich habe mir das Programm eigentlich anders vorgestellt. Oder es hat eine Fehlfunktion. Egal auf welchen der unteren Buttons ich klicke, ich komme immer zu Kaptitel 2. Von dort kann ich zu Kapitel 1 springen und dann wieder zu Kapital 2 und immer so weiter. Irgendwie seltsam... :?

Wenn du das Programm grafisch ansprechend machen willst könntest du ja anstatt den langweiligen Panel ein Bild von einen Buch als Hintergrund nehmen.

Der Parser scheint jedoch nicht schlecht zu sein.
hkk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 64

Win XP Pro, Win ME, openSUSE 10.2, Ubuntu 7.xx; Firefox 2 (en-US)
D7 Pers, D3 Prof
BeitragVerfasst: Mo 17.04.06 11:49 
Hallo,
erst mal danke für den Test ^^

Es stimmt schon, der Pfeil ist schwer sichtbar, aber ich hab jetz kein Plan, wo ich das Menü sonst hinsetzen könnte. Wahrscheinlich werde ich es zusätzlich als Kontextmenü einstellen, sodass man von überall darauf Zugriff hat.

Zum folgenden wäre es vielleicht gut, wenn du dir mal die teststory in einem Texteditor anschaust.
Die Datei soll übrigens nur eine Demonstration aller Befehle sein, die in der ist-File vorhanden sind, bzw. ein Test für mich, ob auch alle richtig geparst werden.
Das mit der Position werde ich beheben, das ist nur ein kleiner Eingriff. Denn bis jetzt werden nur width und height rausgeparst. In der nächsten Version hier wirds drin sein!
Das mit den Buttons ist keine Fehlfunktion. Du kannst in der Datei beim Kapitel 0 (das beim öffnen geladen wird) für die ungeraden Buttons das Ziel 1 (=Kapitel 1) sehen, dei den geraden Buttons das Ziel zwei. In Kap. 1 und 2 ist dann jeweils ein Link auf das andere Kap., um die Interlink-Funktionalität zu zeigen. Übrigens kann man (=der Autor) in der ist-File auch einstellen, ob die Seiten/Kapitel vom IST gezählt werden sollen, was bei der Teststory der Fall ist, oder man in jedem Kapitel eine eigene Seitenzahl/Kurzbezeichnung angibt. Das lässt neben der Standard-zählung 1,2,3... auch z.B. eine Zweiganzeige zu, wie 1 -> 2a, 2b -> 3a, 3b, 3c, 3d ... zu.

Das mit der Grafik muss ich mit noch überlegen. Da die Fenstergröße von der IST-File aus geregelt werden kann, könnte das Probleme erweisen. Aber ich ziehe es auf jeden Fall in Betracht. (Allerdings arbeite ich im Moment erst einmal an der Einbindung aller Features, denn wir wollen ja bald eine Beta-Ver. sehen ^^)

Aber auf jeden Fall Danke für den Test!!

~HKK
.50AE
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 100



BeitragVerfasst: Mi 19.04.06 11:37 
Hallo.

Du könntest für das Programm noch ein eigenes Icon erstellen, vllt auch ein Buch (...)
Ein guter IconCreater ist z.B. IconMaker2006 oder so, hab grad den Link nicht.

Dann wäre, wenn dir das nicht zu viel Arbeit ist, ein Editor für die Geschichtendateien vielleicht ganz nützlich. Nicht jeder Stadardbenutzer wird denke ich herausfinden,wie das ganze funktioniert. Im Notfall tut's ja auch eine README Datei oder so.

Das V allerdings findet man gut genug, denke ich. Zumindest weil auf dem Form ohne geladene Geschichte sonst noch nicht so viel darauf ist und man nicht viel anklicken kann.
Falls du noch einen Hintergrund erstellst, leg am besten eine 70% sichtbare, weiße Maske drüber oder so (Mit einem Grafikprogramm meine ich), damit man 1. den Text noch gut lesen kann und 2. das ganze besser zum Programmdesign passt. Aber vielleicht sieht es ohne Hitnergrund ja sogar besser aus, who knows :)

MfG
.50AE
hkk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 64

Win XP Pro, Win ME, openSUSE 10.2, Ubuntu 7.xx; Firefox 2 (en-US)
D7 Pers, D3 Prof
BeitragVerfasst: Mi 19.04.06 21:57 
hallo .50AE

Also das mit dem Icon is natürlich klar, aber das kommte erst, wenn die Beta fertig ist, d.h. dass alle wichtigen Funktionen so weit funzen.
Ein Editor ist ne gute Idee. Und ich hatte sowieso vor, am ende der Alpha-Phase ne Liste mit allen Befehlen schreiben (denn wie sollen die Autoren sich sonst auskennen?), und vielleicht später auch ne Hilfe-datei. Aber n Editor ist auch gut. werd ich mal probieren.

das mit dem bild ist wie gesagt eben ne sache wegen dem Resizen. Da muss ich noch probieren, ob das funzt (davon wirds ne eigene Beta geben denk ich).

Und danke für den Test ^^

~HKK
hkk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 64

Win XP Pro, Win ME, openSUSE 10.2, Ubuntu 7.xx; Firefox 2 (en-US)
D7 Pers, D3 Prof
BeitragVerfasst: So 30.04.06 18:46 
Titel: neues Update
Update auf die neue Version 0.0.3 alpha ist jetz zum Download da!
und auch der Quellcode steht jetz zur Verfügung!

siehe erster post

~HKK