|
|
Line 1: |
Line 1: |
− | [http://translate.google.com/translate?hl=de&ie=UTF-8&sl=de&tl=en&u=http://c64mags.untergrund.net/wiki/index.php%3Ftitle%3DDT_87_04&prev=_t English Translation]
| |
− | <pre>
| |
− | Die Entstehungsgeschichte des C64-Spiels
| |
| | | |
− | ?? "WER WIRD MILLIONÄR?" ??
| |
− | ?? "WER WIRD MILLIONÄR?" ??
| |
− | "
| |
− | Im Jahre 2001 haben wir (die ganze Fami-
| |
− | lie) wochen- oder gar monatelang die TV-
| |
− | Sendung "Wer wird Millionär?" geschaut.
| |
− |
| |
− | Durch den langen "Beobachtungszeitraum"
| |
− | kannte ich die Regeln und Gesetzmäßig-
| |
− | keiten schon sehr gut, z.B. wie hoch ist
| |
− | die Chance, dass ein Telefonkandidat die
| |
− | 16.000 DM-Frage (war kurz vor der Euro-
| |
− | Einführung) richtig beantworten kann,
| |
− | welche Antwortenverteilungen treten beim
| |
− | </pre>
| |
− | <pre>
| |
− | Publikumsjoker in Abhängigkeit vom
| |
− | Schwierigkeitsgrad der Frage auf, wie
| |
− | oft tippt das Publikum bzw. der Telefon-
| |
− | kandidat daneben etc.
| |
− |
| |
− | Da wir auch immer mitgeraten haben und
| |
− | dies allen Spaß gemacht hat, hatte ich
| |
− | eines Tages die Idee, die Fernsehshow
| |
− | als Computerspiel umzusetzen.
| |
− |
| |
− | Ich hatte damals den C64 und einen Pen-
| |
− | tium-III-PC zur Verfügung. Da ich den PC
| |
− | noch nicht lange hatte und mich daher
| |
− | mit dem C64, insbesondere mit der Basic-
| |
− | Programmierung, besser auskannte, habe
| |
− | ich zuerst eine C64-Version (V1, um die
| |
− | </pre>
| |
− | <pre>
| |
− | es hier geht) und erst später eine DOS-
| |
− | Version (V2) programmiert.
| |
− |
| |
− | Ich habe mir also zunächst überlegt, wie
| |
− | ich das Ganze realisieren kann. Am bes-
| |
− | ten geeignet war für diesen Zweck die
| |
− | Basic-Erweiterung "Simon's Basic", da
| |
− | diese einen erweiterten Befehlssatz bot
| |
− | und ich vorher schon kleinere Programme
| |
− | mit dieser Basic-Erweiterung erstellt
| |
− | habe. Ich habe mir die Programmierung
| |
− | selbst angeeignet, mit Hilfe des C64-
| |
− | Handbuchs und einer Anleitung zu Simon's
| |
− | Basic, die sich als Datei auf Diskette
| |
− | befand. Besonders hilfreich fand ich bei
| |
− | Simon's Basic die Möglichkeit, auf ein-
| |
− | </pre>
| |
− | <pre>
| |
− | fache Weise benutzerdefinierte Zeichen
| |
− | und Sprites zu erstellen. Desweiteren
| |
− | war es möglich, Unterprogramme mit Namen
| |
− | zu versehen, sodass man zum Springen ins
| |
− | Unterprogramm nicht mehr die genaue Zei-
| |
− | lennummer wissen musste, sondern das Un-
| |
− | terprogramm mit seinem Namen aufrufen
| |
− | konnte, was die Programmierung ebenfalls
| |
− | vereinfachte.
| |
− |
| |
− | Ich habe also zunächst erst einmal abge-
| |
− | schätzt, wieviele Fragen mit den zugehö-
| |
− | rigen Antworten auf eine Diskette passen
| |
− | könnten. Dabei habe ich so 700-1000 Fra-
| |
− | gen geschätzt, was ein guter Wert war,
| |
− | da ich ein Fragenbuch als Quelle hatte,
| |
− | </pre>
| |
− | <pre>
| |
− | das 998 Fragen mit den zugehörigen Ant-
| |
− | worten enthielt und die errechnete Fra-
| |
− | genzahl eine ausreichende Vielfalt er-
| |
− | möglichte.
| |
− |
| |
− | Der nächste Schritt war das Erstellen
| |
− | des eigentlichen Programms. Angefangen
| |
− | habe ich erstmal, das grafische Design
| |
− | für den Frage- und Antwortbereich auf
| |
− | dem Bildschirm zu erstellen, die Anzeige
| |
− | der Gewinnstufen, die Routinen zum Laden
| |
− | und Anzeigen der Fragen, die Möglichkeit
| |
− | zu antworten sowie eine Auswertung der
| |
− | Antwort (richtig/falsch) programmiert.
| |
− | Damit dies auch funktionieren konnte,
| |
− | musste ich parallel anfangen, die Fra-
| |
− | </pre>
| |
− | <pre>
| |
− | gendateien anzulegen. Ich hatte damals
| |
− | testweise erstmal 2-3 Fragen je Gewinn-
| |
− | stufe eingegeben, um das Programm testen
| |
− | zu können. Am Ende des ersten Tages war
| |
− | es somit bereits möglich, das Spiel in
| |
− | den Grundzügen, aber ohne Joker spielen
| |
− | zu können (reines Frage-Antwort-Spiel).
| |
− |
| |
− | Am zweiten Tag habe ich mich an die Jo-
| |
− | ker gemacht: Grafiken und den Programm-
| |
− | code für die Joker erstellt.
| |
− |
| |
− | Insbesondere der Programmcode für den
| |
− | Telefon- und den Publikumsjoker hatte es
| |
− | in sich, da ich versucht habe, das Ver-
| |
− | halten des Telefonkandidaten und des Pu-
| |
− | </pre>
| |
− | <pre>
| |
− | blikums so real wie möglich nachzubil-
| |
− | den, insbesondere die Wahrscheinlichkei-
| |
− | ten für eine richtige Antwort und die
| |
− | Antwortverteilung des Publikums sollten
| |
− | möglichst realitätsgetreu sein.
| |
− |
| |
− | Wie jeder weiß, folgt das natürlich auch
| |
− | in der Realität keinem festen Schema, es
| |
− | sind nur gewisse Tendenzen zu erkennen,
| |
− | die ich im Programm versucht habe nach-
| |
− | zubilden. Das Resultat war ein Programm-
| |
− | code, der einige Variablen (z.B. der
| |
− | Schwierigkeitsgrad der Fragen) und eine
| |
− | Menge ineinander verschachtelte Zufalls-
| |
− | funktionen enthielt. Das Ganze führte im
| |
− | Endeffekt dazu, dass man am Telefon- und
| |
− | </pre>
| |
− | <pre>
| |
− | Publikumsjoker keine Regelmäßigkeiten
| |
− | erkennen konnte, das Ganze sich aber
| |
− | doch recht ähnlich den Beobachtungen
| |
− | beim Schauen der Fernsehshow verhielt.
| |
− |
| |
− | Zusätzlich habe ich dann noch eine Zoom-
| |
− | funktion eingebaut, damit überlange Fra-
| |
− | gen, die nicht in die normalen Felder
| |
− | passen, in voller Länge angezeigt werden
| |
− | konnten, indem eine spezielle Anzeige-
| |
− | maske eingeblendet wird. Danach habe ich
| |
− | noch ein paar kleine Features wie die
| |
− | Anzeige des gewonnenen Geldbetrags und
| |
− | das Aufblinken der richtigen Antwort
| |
− | eingefügt, sodass das eigentliche Pro-
| |
− | gramm am zweiten Tag schon fast fertig
| |
− | </pre>
| |
− | <pre>
| |
− | war. Ich hatte dann noch ein paar weite-
| |
− | re Fragen eingegeben, sodass pro Gewinn-
| |
− | stufe ca. 5-10 Fragen zur Verfügung
| |
− | standen. Am Abend habe ich das Spiel
| |
− | meiner Familie gezeigt und sie waren da-
| |
− | von so begeistert, dass sie es trotz der
| |
− | geringen Fragenanzahl den ganzen Abend
| |
− | gespielt haben.
| |
− |
| |
− | Am dritten Tag ging es nur noch um den
| |
− | Feinschliff: Da habe ich eine kleine
| |
− | Spielanleitung ins Spiel integriert, ei-
| |
− | nen Algorithmus eingebaut, der sich die
| |
− | gestellten Fragen der letzten 10 Runden
| |
− | merkt, damit sich die Fragen nicht so
| |
− | schnell wiederholen, die Joker nochmal
| |
− | </pre>
| |
− | <pre>
| |
− | "feinabgestimmt", um eine noch bessere
| |
− | Realitätsnähe zu bekommen und diverse
| |
− | kleinere Code- und Grafikverbesserungen
| |
− | vorgenommen. Damit war das Hauptprogramm
| |
− | fertig. Ich habe dann noch alles getes-
| |
− | tet, um festzustellen, ob es irgendwo
| |
− | Fehler oder Abstürze gibt.
| |
− |
| |
− | Als ich mit dem Ergebnis zufrieden war,
| |
− | ging es an die monotone Arbeit: das Ein-
| |
− | tippen der 998 Fragen.
| |
− |
| |
− | Das war eher eine Fleißarbeit, denn das
| |
− | eigentliche Programm war ja fertig, es
| |
− | ging nur noch darum, die Fragendatenbank
| |
− | zu vergrößern.
| |
− | </pre>
| |
− | <pre>
| |
− | Ich tippte also immer so 30 bis 100 Fra-
| |
− | gen am Stück ab, insgesamt habe ich für
| |
− | alle Fragen so 3-4 Tage gebraucht. Mit
| |
− | Anwachsen der Fragendateien war ich je-
| |
− | doch auf ein störendes Problem gestoßen:
| |
− | Da ich sequentielle Dateien verwendet
| |
− | hatte, hat es mit steigender Fragenan-
| |
− | zahl je Gewinnstufe immer länger gedau-
| |
− | ert, bis die entsprechende Frage gefun-
| |
− | den wurde. Dies hat dann teilweise bis
| |
− | zu 20 Sekunden gedauert, was natürlich
| |
− | sehr spielspaßtrübend war.
| |
− |
| |
− | Aus diesem Grund habe ich mich dazu ent-
| |
− | schlossen, die Fragendateien aufzusplit-
| |
− | ten, sodass jede Datei nur 20 Fragen
| |
− | </pre>
| |
− | <pre>
| |
− | enthält und das Programm so angepasst,
| |
− | dass es mit den gesplitteten Dateien ge-
| |
− | nauso umgehen konnte wie mit einer ein-
| |
− | zigen großen Datei. Dadurch betrug die
| |
− | Ladezeit im Schnitt nur noch 3 Sekunden
| |
− | pro Frage, was im Spielablauf nicht mehr
| |
− | so sehr auffällt.
| |
− |
| |
− | Insgesamt habe ich effektiv ca. 1 Woche
| |
− | gebraucht, bis das gesamte Spiel fertig
| |
− | war. Es waren natürlich später noch ei-
| |
− | nige Korrekturen nötig, da beim Spielen
| |
− | Tippfehler in den Fragen und andere
| |
− | kleinere Bugs aufgefallen sind, die habe
| |
− | ich dann immer sofort ausgebügelt, bevor
| |
− | weiter gespielt wurde.
| |
− | </pre>
| |
− | <pre>
| |
− | Als alle Daten (Programm und Fragenkata-
| |
− | log) fertig erstellt waren, war die Dis-
| |
− | kette gerammelt voll ("0 Blocks free"),
| |
− | ich habe es aber geschafft, alle 998
| |
− | Fragen, das Hauptprogramm und den nöti-
| |
− | gen Simon's Basic-Interpreter auf der
| |
− | Diskette unterzubringen. Ich habe dann
| |
− | das fertige Spiel in meiner Verwandt-
| |
− | schaft an alle C64-Besitzer verteilt und
| |
− | es wurde von ihnen auch viel gespielt.
| |
− |
| |
− | Dass es erst 8 Jahre später - also im
| |
− | Jahre 2009 - veröffentlicht wurde, hat
| |
− | folgenden Grund: Auf Grund von Abiprü-
| |
− | fungen, Zivildienst, Studium und anderen
| |
− | Hobbies ist der C64 ein wenig in Verges-
| |
− | </pre>
| |
− | <pre>
| |
− | senheit geraten. Da ich nun wieder halb-
| |
− | wegs geregelte Arbeitszeiten habe, habe
| |
− | ich mir wieder mehr Zeit genommen, um
| |
− | mich mit "der alten Kiste" wieder zu be-
| |
− | schäftigen, schließlich gibt es ja viele
| |
− | schöne Demos und Spiele für den C64. Ich
| |
− | habe mir nun ein MMC Replay gekauft, mit
| |
− | dem ich das Spiel von der Diskette auf
| |
− | eine SD-Karte und von dort auf den PC
| |
− | gezogen habe. Da ich es nun als gut ver-
| |
− | teilbares .d64 hatte, habe ich mich mit
| |
− | 8 Jahren Verspätung dazu entschlossen,
| |
− | das Ganze zu veröffentlichen.
| |
− |
| |
− | Das Forum64 habe ich dadurch entdeckt,
| |
− | dass fast jede zweite Anfrage bei Google
| |
− | </pre>
| |
− | <pre>
| |
− | zu speziellen C64-Themen (Hardware, Co-
| |
− | ding, Software, Reparaturanleitungen
| |
− | etc.) auf das Forum64 führt. Als ich ge-
| |
− | sehen habe, dass dort sehr viele Themen
| |
− | behandelt werden und das Forum auch
| |
− | recht aktiv ist, habe ich mich dort re-
| |
− | gistriert und schließlich das Spiel ver-
| |
− | öffentlicht.
| |
− |
| |
− | Die zwei weiteren Versionen entstanden
| |
− | durch Wünsche einiger User. Von diesen
| |
− | Wünschen habe ich diejenigen umgesetzt,
| |
− | die ich mit meinen Kenntnissen und dem
| |
− | verbleibenden Speicherplatz realisieren
| |
− | konnte. Somit gibt es nun die Version
| |
− | 1.02.
| |
− | </pre>
| |
− | <pre>
| |
− | Zu meinem Pseudonym: Mein erster Compu-
| |
− | ter war der C64. Bei vielen C64-Spielen
| |
− | konnte man nur seine Initialen in die
| |
− | Highscore eintragen (da nur 2-4 Zeichen
| |
− | möglich), in meinem Fall T.L. & diesen
| |
− | Namen habe ich früher als Pseudonym be-
| |
− | nutzt, er hatte jedoch einige Probleme
| |
− | verursacht: Viele Spiele, Webseiten etc.
| |
− | haben diesen Namen nicht akzeptiert, da
| |
− | er entweder als zu kurz oder wegen den
| |
− | Punkten (Sonderzeichen) abgelehnt wurde.
| |
− |
| |
− | Da man das Computerspielen auch als
| |
− | "daddeln" bezeichnet und Computer gele-
| |
− | gentlich als "Daddelkiste", habe ich
| |
− | mich auf Grund dessen, dass ich gern
| |
− | </pre>
| |
− | <pre>
| |
− | Computerspiele spiele, "daddlertl" ge-
| |
− | nannt (also "daddler"+Initialen). Dieser
| |
− | Name wird von fast allen Spielen, Foren
| |
− | etc. akzeptiert. Bei meiner Homepage ha-
| |
− | be ich die Initialen zusätzlich abge-
| |
− | setzt, also "daddler-t-l" - eine Kombi-
| |
− | nation aus "T.L." und "daddlertl".
| |
− |
| |
− | daddlertl
| |
− |
| |
− |
| |
− | Wenn ihr Fragen zum Spiel habt oder ein-
| |
− | fach nur den Kontakt zum Programmierer
| |
− | sucht, dann wendet euch an:
| |
− | Homepage: http://www.daddler-t-l.de
| |
− | Email: daddler_tl@freenet.de _
| |
− | </pre>
| |