BUND - Das Adventure -------------------- Bund V1.155 UPDATE von V1.0 Released 17.03.93 =============== ACHTUNG ACHTUNG BUND benötigt mindestens 1 Meg Speicher! ============================================================= Systemvoraussetzungen: Amiga mit Kick 1.3 oder höher und >1MB Speicher Dies ist eine kleine Einweisung in BUND! Features von BUND: ================== + voll Systemkonform und Mulititaskingfähig + läßt sich auf Festplatte installieren + läßt sich vom CLI und WB starten + lädt bei Start über Spieleicons automatisch BUND und das Spiel + voll über Icon konfigurierbar + unterstützt Asl-Requester bei 2.x Danksagungen ============ Mein Dank gilt: - meinem Mitgestalter, Grafiker, und Texter Alexander Rhein, der mir immer mit neuen und guten Ideen zur Seite stand ("Ich hätte da eine Idee, die mußt Du einprogrammieren ..."). - unseren Beta-Testern, die keine Mühen scheuten, um die unzähligen Fehler, die ich in dieses Spiel hineinprogrammiert habe zu finden. Aber ob deshalb alle Fehler draußen sind, das weiß nur Gott (oder der Fehlerteufel). Besonderer Dank geht vor allem an Martin Wolfseher, der es auf sich nahm, BUND solange zu debugen, daß ich das Update herausgeben konnte. Besonderer Dank geht auch an Peter "Hobbit" Kain den Unermüdlichen! - der Deutschen Bundeswehr für die Inspiration zu diesem Spiel !? - Teijo Kinnunen, für die MEDplayer.library. - Nico François für PPmore, PPAnim und die powerpacker.library - Stefan Boberg für LhaSfx - Fred Fish und seiner Public Domain Library, aus der ich einige interresante Anregungen erhielt. - Electronic Arts für den IFF-Standart, und Dan Silva für DPaintIII, dem wir unter anderem die (finde ich) wunderschönen Bilder zu verdanken haben. *** DPaintIII rules! *** - Commodore AMIGA, für den besten Rechner, den es gibt. ===== - Unser spezieller Dank gehört auch Michael Raith, der uns die Titelmelodie zur Verfügung gestellt hat. Zuerst mal ein paar Worte über das Konfigurieren von BUND: - Bei der Installation auf Diskette oder Festplatte mit dem auf der Installationdiskette vorhandenem Programm 'BundInstall' werden die folgen beschriebenen TOOLTYPES-Eintäge automatisch so erstellt, daß Sie nur noch BUND zu starten brauchen. Falls Sie aber doch Änderungen an einem schon installiertem BUND vornehmen wollen, hier die Details: - Damit BUND weiß, wo es seine Dateien suchen soll, muß ihm das in den TOOLTYPES mitgeteilt werden. Diese Information steht im Icon von BUND, unter den TOOLTYPES (Menue Workbench/Info unter 1.2/1.3). Es gibt 5 TOOLTYPES-Einträge: INIT => Hier sucht BUND seine Initialierungsdateien TEXT => Was wohl? BILD => Was wohl? SPIELE => Dort speichert BUND seine Spielstände ab, hier kann auch eine eigene Diskette (mit Namen) angegeben werden; z.B Sie haben eine Diskette mit dem Namen BUND_Spielstände, so tragen sie ein: 'SPIELE=BUND_Spielstände:' ohne die <'> natürlich! ICON => Hier kann man BUND anweisen, seine Spielstände mit Icons zu sichern. Damit Icons miterzeugt werden, muß 'Ja' eingetragen werden. Groß- und Kleinschreibung wird beachtet! Alles andere als 'Ja' führt dazu, daß keine Icons mit den Spielständen gesichert werden. PLAYSONG => Hier kann man BUND anweisen, beim Start die Titelmusik nicht zu spielen. Sie kann aber (wenn genügend freier Speicher zur Verfügung steht) jederzeit während des Spiels gestartet werden. Wenn sie gespielt werden soll, muß 'Ja' eingetragen sein. CRUNCH => Hier kann man BUND anweisen, die Spielstandsdateien zu packen, bevor sie gespeichert werden. Dadurch kann man Diskettenspeicherplatz einsparen. Im Fall von Speichermangel kann es sein daß man CRUNCH auschalten muß. Laden kann man gepackte Dateien aber immer. Wenn die Spielstandsdateien gecrunched werden sollen muß hier 'Ja' eingetragen sein. ANIMPLAYER => Hier kann man BUND einen Pfad zu einem Animationsab- spielprogramm angegeben werden, das BUND dann benutzt, um seine Anfangsanimation abzuspielen, da z.B. verschiedene Animationsabspielprogramme unter höheren Prozessoren (680020 -30 -40) oder höheren Betriebs- systemversionen nicht mehr lauffähig sind. Das von BUND verwendete PPAnim von Nico läuft allerdings auch auf meinem neuen A4000 einwandfrei! Hier können auch Argumente für das Animationsprogramm mitangegeben werden. z.B. daß es die Animation nur 1x abspielen soll o.ä. Beispiel (Voreingestellt bei BUND) ANIMPLAYER=pfad_zu_Bund/PPAnim -j2 -o BUND ruft dann das Programm PPAnim mit den Parametern -j2 und -o auf. (Anpassung der Abspielgeschwindigkeit und nur einmal Abspielen - kein Loop) Falls ein anderer ANIM-Player verwendet werden soll, müssen aber noch die 2 Animationen Axolottlsoft.logo und SGL.BWANM entpackt werden, da sie mit dem Powerpacker gepackt sind, da BUND sonst nicht auf Diskette passen würde. (Dies ist folglich nur auf Systemen mit Festplatte sinnvoll) Nun ein Beispiel wie eine solche Zeile in den TOOLTYPES aussehen könnte: INIT=DH1:Bund/Init (d.h. alles was BUND für seine Initialisierung benötigt, wird in dem Verzeichnis DH1:Bund/Init von BUND gesucht) => Dies gilt analog für die restlichen Einträge. Deswegen MUSS auch ein Icon für BUND existieren! - Desweiteren kommt ein TOOLTYPE 'ICON=Ja' vor. Damit gibt man an, ob BUND mit den Spielen Icons sichern soll. Alles andere als 'Ja' führt dazu, daß keine Icons mit den Spielen gesichert werden. Achtung, die Abfrage unterscheidet Groß-/Kleinschreibung! - Wenn Spiele mit Icon gesichert wurden, kann man auf der Workbench dieses Icon anwählen und damit BUND an der Stelle starten, an der gesichert wurde. Damit BUND richtig gestartet werden kann, muß bei dem Spiele-Icon im DEFAULT TOOL der Pfad zu BUND eingetragen sein. Der Pfad, der eingetragen wird, wenn das Spiel gesichert wird, kann dadurch verändert werden, daß im Icon (mit Namen ) in INIT (vgl. oben) der jeweilige Pfad zu BUND eingetragen wird. Falls man seine Spiele auf einer extra Diskette speichern will, um z.B. sie mit zu einem Freund zu nehmen, empfiehlt es sich als Pfad zu BUND 'BUND:' anzugeben, und das logische Laufwerk BUND: in der Startup-Sequence zu assignen. Falls BUND in INIT kein findet, aber ICON=Ja gewählt ist kreiert BUND selbst dieses Icon (Hey!), wobei der Pfad dann zwangsweise BUND: ist. - Ein BUND-Spiel MUSS als TOOLTYPE 'FILETYPE=BUND-Spielstand' haben, sonst lädt BUND es nicht, wenn man BUND durch Doppelklick auf das SpieleIcon startet. BUND generiert diesen Eintrag aber automatisch, wenn ein Spiel gesichert wird. D.h nur wenn Sie ein SpieleIcon nachträglich verändert haben, müssen Sie gewährleisten, daß diese Eintagung immer noch vorhanden ist. Man kann das Spiel aber in jedem Fall weiterhin in BUND selbst laden. - Wenn BUND von einem SpieleIcon aus gestartet wurde, und das Spiel fehlerhaft oder nicht vorhanden ist, startet BUND, als wenn kein Spiel geladen worden wäre. - da BUND einen rekursiven Parser besitzt, benötigt es mehr Stack, als standardmäßig in einem neuen CLI vorhanden ist. Also entweder BUND nur per Icon von der Workbench starten, oder vorher im CLI 'Stack 10000' eingeben, um den verfügbaren Stack zu erhöhen. BUND überprüft beim Start, ob es genügend Stack zugewiesen bekommen hat, und gibt eine Fehlermeldung aus, falls dies nicht der Fall sein sollte. Es ist überhaupt besser, BUND von der Workbench zu starten, da BUND dann die Workbench schließen kann, fall Speichermangel herrscht; BUND öffnet die Workbench beim Verlassen wieder automatisch. - Im Spiel befindet sich über dem Textausgabefenster die Statuszeile die z.B. so aussieht 5.15 Kg NS---- 5 Züge ^ ^ ^ | | | | | | | Anzahl der beendeten, logischen Züge | | | | Anzeige der Ausgänge | | N = Norden | S = Süden | O = Osten | W = Westen | ¡ = Aufwärts (der Punkt zeigt immer die | ! = Abwärts mögliche Richtung an) | | Gewicht, das der Spieler trägt. - Belegung des Numerischen Tastenblocks: 7 8 9 Nicht Nord Aufwärts belegt 4 5 6 West letzen Ost Satz wiederholen 1 2 3 Inventar Süd Abwärts 0 . sieh Anzeige der möglichen Ausgänge - ESC aktiviert den Satzausbesserungsspezialmodus des Spieles (probiert es nach einer falschen Eingabe zum Berichtigen der LETZTEN [!] Eingabe => Cursortasten mit und ohne SHIFT) Falls ein Satz eingegeben worden ist, in dem man einen Fehler entdeckt hat kann man sofort beim Tippen in den Verbesserungsmodus gehen. Geht man direkt nach einem RETURN, also bevor man einen neuen Satz begonnen hat, in den Verbesserungsmodus, so kann man den letzten Satz edieren. Probiert`s doch einfach aus! - Ein paar Hinweise zur Verwendung des Parsers: Der Parser war die Hauptarbeit bei diesem Spiel. Er ist so ausgelegt, daß er ganze deutsche Sätze verarbeiten kann. Man kann also richtig mit dem Programm kommunizieren, ohne kryptische Zweiwort-argumente eingeben zu müssen. Es können auch mehrere Sätze - durch Satzzeichen getrennt - eingegeben werden. BUND arbeitet diese dann nacheinender ab. Allerdings ist die Eingabelänge begrenzt; d.h. der Cursor bewegt sich nicht mehr, falls die maximale Anzahl an Buchstaben erreicht ist. Dies sollte bei normalen Sätzen aber wohl kaum auftreten (BUND ist reichlich überdimensioniert). Die Kommandos, die über das numerische Tastenfeld eingegeben werden können, können mittels SHIFT auch in den aktuellen Satz eingefügt werden. Die Eingabe kann sowohl mit RETURN als auch Enter beendet werden. Die Kommandos Ende Neustart Laden Sichern können sowohl über Tastatur eingegeben, als auch über Menü aktiviert werden. * Es handelt sich bei diesem Parser NICHT!!! um einen ZWEI WORT PARSER d.h. >Nimm Spaten >sieh Helm etc. sind zwar möglich, ABER ES GEHT AUCH SO: >Nimm den Spaten aber es kommt noch besser: >Nimm den spaten und sieh den helm an. >Öffne den Rucksack. Nimm den langbinder und die Wasserflasche und lege Langbinder und Wasserflasche in den Rucksack. Nimm den Rucksack und schließe IHN. Nimm alles. Echt gut mein Programmierer (der Graphologe)! Anmerkungen: o SIE, IHN, und ES beziehen sich IMMER NUR auf das zuletzt geschriebene Hauptwort (NIE auf mehrere)! z.B.: >Nimm a und b und lege SIE in das urinal. (ACHTUNG!! SIE bezieht sich NUR auf b bezieht d.h. nur b liegt im Urinal). o ALLES geht! Also wirklich ALLES ... z.B.: >Nimm alles => Alles (was man/frau sieht wird genommen) Aber die guten, versteckten Dinge nicht (ÄLLABÄTSCH). o um besser herumzukommen kann man die gehe funktion benutzen, z.B. >gehe nach norden, 3 mal nach osten dabei kann die wiederholung zwischen 0 und 9 liegen bei mehrstellige Zahlen wird nur die erste Ziffer ausgewertet, d.h. gehe 56 mal nach osten geht 5 mal. - HINWEIS: Wer den Vorspann (die kleine Geschichte) satt hat (wohl niemand), der soll einfach statt nach dem Copyrightvermerk drücken. (Ibärraschung). - BUND ist VOLL Multitaskingfähig. D.h. es kann nebenbei normal weitergearbeitet werden! Da aber der BUND-Screen nicht in den Hintergrund geklickt werden kann, muß mit den Tastatur-Shortcuts gearbeitet werden. Siehe auch Bedienungsanleitung des Amiga. - Zum Sinn/Ziel des Spieles: Ziel: Alle X/Y-Schilder {für alle X e (0, 2, 4, 6, 8) & Y=X+1} oder so, einsammeln (Soldatenbrauch, wer nicht in den Genuß kam). Und noch ein paar Kleinigkeiten ... (Wer suchet der findet) sind zu tun. Zeitaufwand -> oo. "Sichern" hilft Leben/Nerven retten (Wir wollen schließlich ihre Lebensversicherung am Liebsten an sie selbst auszahlen). Kleine (unnötige[?]) Hinweise am Rande: "Jay Miner hat den Amiga mitentwickelt" (was soll das schon wieder?) "Ausscheider sind auch nur Menschen" "Akf d BW" (Abkürzungsfimmel der Bundeswehr) "SPIESS" Dein Freund und Helfer (die Mami der Kompanie) "5t, 10t, 0,4t" sind Fahrzeuge (die Beladung zählt [in Tonnen]) "..Pz" n'Panzer halt " " Leerzeichen !? "Fw, StFw, Hptm, OStFw, HFw, OTL, OLt, Kan, OG, G, HG, OFw, Uffz, StUffz, OG uA mbL (GTi 16v), Lt, Maj und sonstige" Rangbezeichnungen der BW "StoV", Zivilangestellte der Bundeswehr (Standortverwaltung) "Andere BW-Ausdrücke" bei Veteranen zu erfragen ... (oder dem Verein beitreten .......... wwwwwwwwwwwwwhhhhhhhhhhhhh) "WWWWWWWWWWWWWWWHHHHHHHHHHH" stimmloser Zischlaut (?!) Zur Shareware ============= Da es einen riesigen Aufwand darstellt, ein Programm wie BUND zu schreiben, und upzudaten, finde ich es nur gerecht, wenn diejenigen, die dann das Programm benutzen einen kleinen Obulus an den Programmierer entrichten. Wie nämlich aus dem Copyrightvermerk hervorgeht, habe ich fast 3 Jahre an BUND gearbeitet. BUND besteht aus ca. 10500 Zeilen Quellcode, das sind ca 350 K Quellcode Um den Spieler auch daran zu erinnern, daß er ein Sharewareprogramm benutzt, erscheint in unregelmäßigen Zeitabständen wieder der Copyrightrequester. Wer die Sharegebür bezahlt, erhält von mir eine Version, ohne diese lästigen Unterbrechungen. Außerdem ist dann sein Name im Spiel eincodiert, sodaß es möglich ist zu kontrolloieren, daß man BUND Lizensiert hat. Ansonsten ist aber die Sharewareversion von BUND genauso lauffähig wie die lizensierte Version, da ich die Programme, die gewisse Operationen nicht zulassen (z.B. keine Möglichkeit zu speichern) unmöglich finde. Ich hoffe dies wird auch durch den wirklich nicht allzugroßen Sharebetrag honoriert. Danke. ********************************************************************* Zur Rechtslage: Für die Funktion oder eventuell durch die Benutzung auftretende Schäden können die Autoren in keiner Weise in Rechenschaft gezogen werden. Sie benutzen dieses Programm auf eigene Gefahr. Nichtsdestotrotz haben wir bei der Programmierung dieses Programms versucht alle uns bekannten Nebenwirkungen zu eliminieren. Wenn das Programm also Ihre Festplatte zerstört, oder die Katze des Nachbarn umbringt - Ihr Problem! ********************************************************************* Versionsbemerkungen: V1.0: 1991 erste veröffentlichte Version von BUND geschrieben mit Aztec C 3.6a V1.155 1992 zweite Ausgabe von BUND, mit einigen (kleineren) Verbesserungen: umgeschrieben in Aztec 5.00d und ANSII C. - ACHTUNG (Nur für Benutzer der älteren BUND Version wichtig!) + Da sich einige Änderungen in den *.dat Dateien von BUND ergeben haben (um Speicher zu sparen) müssen die NEUEN *.dat Dateien unbedingt in INIT vorhanden sein. + Da damit sich auch zwangsläufig das genaue Format der Sicherungsdateien geändert hat, kann man in BUND V1.155 keine Spielstände laden, die man mit BUND V1.0 erstellt hat (sorry, geht mal nicht anders). - Der Stack für BUND wurde auf 10000 erhöht, da BUND sehr viele Rekursionen ausführt, wenn es einen langen Satz zu parsen hat. Sonst konnte es bei sehr langen Sätzen zu unmotivierten Abstürzen kommen. - BUND benötigt nun keine Assigns auf logische Laufwerke mehr, es verwaltet nun die Pfadnamen komplett intern. - BUND beendet nun nicht mehr, wenn man beim Sichern auf eine schreibgeschütze Diskette mit CANCEL abgebrochen hat, sondern gibt nur eine Fehlermeldung aus. War ein echter Bug, geb ich zu! - Beim Sichern von Spielen sichert BUND, wenn ICON=Ja eingestellt ist, nun die Spieleicons mit NOICONPOSITION, d.h die Workbench sucht selbst den besten Platz für die Icons aus. Vorher kam es dazu, daß mehrere Spiele übereinander lagen. - Wenn man im Ausbesserungsmodus einen kurzen Satz verbesserte, nachdem man einen langen verbessert hatte, konnte es passieren, daß die Eingabezeile leer war, und man erst nach den Satz erkennen konnte. Dies ist jetzt behoben. - Ein Bug in der Anzeige des Gewichts wurde beseitigt (zeigte das Gewicht manchmal falsch an, verwaltete es aber intern richtig). - Wir haben BUND zwar auch unter Speichermangel getestet, und bei uns immer einwandfrei, doch ergab es sich, daß BUND auf einem A500 mit 512 KB, Kick 1.2 zwar startete, sich doch dann (meist ohne Fehlermeldung [aus Speichermangel]) beendete. Da aber JEDE unerfolgreiche Systemfunktion (z.B. Speicheran- forderung) seitens des Programmes mit einer Meldung dem Benutzer gemeldet wird, ist zu vermuten, daß das Betriebssystem keinen Speicher mehr frei hatte, um die Nachricht darzustellen!!? (seltsam!) Dies ist KEIN Fehler von BUND! BUND gibt jetzt alle Ressourcen frei, bevor es versucht die Nachricht darzustellen - so sollte dieser 'Fehler' zumindest nicht mehr auftreten.=> BUND läuft NICHT mit Amigas mit 512K !!! Wir haben zwar alles versucht, doch vergeblich. Die Bilder, und der verhältnismäßig große Wortschatz von BUND lassen es nicht zu. Da aber heute eigentlich 1 Meg Speicher das Minimum darstellt, scheint dies keine große Einschränkung zu sein. - BUND detatched jetzt nicht mehr vom CLI, d.h. nach dem Aufruf von BUND kehrt der Prompt nicht mehr zurück. Auch kann jetzt deshalb BUND mit CTRL-C vom CLI aus abgebrochen werden. (Dabei ist zu beachten, daß das Auftreten von CTRL-C nur jeweils am Anfang einer IO-Funktion geprüft wird. d.h. es kann sein, das man CTRL-C etwas länger drücken muß, bis BUND reagiert). Der Abbruch funktioniert natürlich nur vom CLI aus, wenn BUND direkt (ohne 'run') gestartet wurde, oder über den Break-Befehl.! - Unter 2.0 kann das CLI-Kommando Version auch die Versionssnummer von BUND erkennen. - Wenn BUND unter 2.0 gestartet wird, wird statt des Arp-Filerequesters der Asl-Filerequester des OS verwendet. - Man kann nun die auf dem numerischen Tastenblock gelegten Befehle auch in den aktuellen Satz einfügen, wenn man die entsprechende Taste zugleich mit der SHIFT-Taste drückt. - Das Ausgänge-Kommando wurde am numerischen Tastenblock von auf <.> verlegt, damit man auch mit der Enter-Taste Eingaben abschließen kann. - Man kann num beim 'gehe'-Befehl eine Anzahl eingeben: z.B. "gehe 3 mal nach osten" dabei muß man nur beachten, daß nur eine Anzahl zwischen 1 und 9 akzeptiert wird. Werden größere Zahlen eingegeben, so zählt nur die erste Ziffer (239 -> 2 usw.). - BUND kann nun seine Spielstände mit der Powerpacker.library crunchen und somit Diekettenplatz sparen. - Es fanden auch noch einige kosmetische Änderungen statt. P.S. Ihr könnt uns auch gerne mitteilen was euch besonders gefallen hat. Wir freuen uns über jegliche Kritik (+ / -) {pos. / neg.}. Wobei positive immmmmmmmeerrr gern gesehen werden würde. Lothar Werzinger Oppersdorfer Str. 3 93138 Lappersdorf Bundesrepublik Deutschland oder Alexander Rhein Im Reichen Winkel 31 93057 Regensburg Bundesrepublik Deutschland