DT 87 04

From C64 Diskmag Wiki
(Difference between revisions)
Jump to: navigation, search
 
 
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&Auml;R?"    ??
 
  ??    "WER WIRD MILLION&Auml;R?"    ??
 
        "
 
Im Jahre 2001 haben wir (die ganze Fami-
 
lie) wochen- oder gar monatelang die TV-
 
Sendung "Wer wird Million&auml;r?" geschaut.
 
 
Durch den langen  "Beobachtungszeitraum"
 
kannte ich die Regeln  und  Gesetzm&auml;&szlig;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&uuml;hrung)  richtig  beantworten  kann,
 
welche Antwortenverteilungen treten beim
 
</pre>
 
<pre>
 
Publikumsjoker  in  Abh&auml;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&szlig; 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&uuml;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&auml;ter eine DOS-
 
Version (V2) programmiert.
 
 
Ich habe mir also zun&auml;chst &uuml;berlegt, wie
 
ich das Ganze realisieren kann.  Am bes-
 
ten  geeignet  war  f&uuml;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&ouml;glichkeit,  auf ein-
 
</pre>
 
<pre>
 
fache Weise  benutzerdefinierte  Zeichen
 
und  Sprites  zu  erstellen. Desweiteren
 
war es m&ouml;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&auml;chst erst einmal abge-
 
sch&auml;tzt, wieviele Fragen mit den zugeh&ouml;-
 
rigen Antworten auf eine Diskette passen
 
k&ouml;nnten. Dabei habe ich so 700-1000 Fra-
 
gen  gesch&auml;tzt,  was ein guter Wert war,
 
da ich ein Fragenbuch als Quelle  hatte,
 
</pre>
 
<pre>
 
das 998 Fragen mit den zugeh&ouml;rigen  Ant-
 
worten  enthielt und die errechnete Fra-
 
genzahl eine  ausreichende  Vielfalt er-
 
m&ouml;glichte.
 
 
Der  n&auml;chste  Schritt  war das Erstellen
 
des eigentlichen  Programms.  Angefangen
 
habe ich erstmal, das  grafische  Design
 
f&uuml;r den  Frage- und  Antwortbereich  auf
 
dem Bildschirm zu erstellen, die Anzeige
 
der Gewinnstufen, die Routinen zum Laden
 
und Anzeigen der Fragen, die M&ouml;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&ouml;nnen.  Am Ende des ersten Tages war
 
es somit bereits m&ouml;glich, das  Spiel  in
 
den Grundz&uuml;gen,  aber ohne Joker spielen
 
zu k&ouml;nnen (reines Frage-Antwort-Spiel).
 
 
Am zweiten Tag habe ich mich an die  Jo-
 
ker gemacht:  Grafiken und den Programm-
 
code f&uuml;r die Joker erstellt.
 
 
Insbesondere  der  Programmcode  f&uuml;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&ouml;glich  nachzubil-
 
den, insbesondere die Wahrscheinlichkei-
 
ten f&uuml;r  eine  richtige  Antwort und die
 
Antwortverteilung des Publikums  sollten
 
m&ouml;glichst realit&auml;tsgetreu sein.
 
 
Wie jeder wei&szlig;, folgt das nat&uuml;rlich auch
 
in der Realit&auml;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&uuml;hrte im
 
Endeffekt dazu, dass man am Telefon- und
 
</pre>
 
<pre>
 
Publikumsjoker  keine  Regelm&auml;&szlig;igkeiten
 
erkennen konnte,  das  Ganze  sich  aber
 
doch  recht  &auml;hnlich  den  Beobachtungen
 
beim Schauen der Fernsehshow verhielt.
 
 
Zus&auml;tzlich habe ich dann noch eine Zoom-
 
funktion eingebaut, damit &uuml;berlange Fra-
 
gen,  die  nicht  in die normalen Felder
 
passen, in voller L&auml;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&uuml;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&uuml;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&auml;tsn&auml;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&uuml;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&szlig;arbeit,  denn das
 
eigentliche  Programm  war ja fertig, es
 
ging nur noch darum, die Fragendatenbank
 
zu vergr&ouml;&szlig;ern.
 
</pre>
 
<pre>
 
Ich tippte also immer so 30 bis 100 Fra-
 
gen am St&uuml;ck ab,  insgesamt habe ich f&uuml;r
 
alle Fragen so 3-4 Tage  gebraucht.  Mit
 
Anwachsen  der Fragendateien war ich je-
 
doch auf ein st&ouml;rendes Problem gesto&szlig;en:
 
Da  ich  sequentielle  Dateien verwendet
 
hatte,  hat  es mit steigender Fragenan-
 
zahl je Gewinnstufe immer l&auml;nger  gedau-
 
ert,  bis die entsprechende Frage gefun-
 
den wurde. Dies hat dann  teilweise  bis
 
zu  20  Sekunden gedauert, was nat&uuml;rlich
 
sehr spielspa&szlig;tr&uuml;bend war.
 
 
Aus diesem Grund habe ich mich dazu ent-
 
schlossen, die Fragendateien aufzusplit-
 
ten,  sodass  jede  Datei  nur 20 Fragen
 
</pre>
 
<pre>
 
enth&auml;lt  und das  Programm so angepasst,
 
dass es mit den gesplitteten Dateien ge-
 
nauso umgehen konnte wie mit einer  ein-
 
zigen  gro&szlig;en  Datei. Dadurch betrug die
 
Ladezeit  im Schnitt nur noch 3 Sekunden
 
pro Frage, was im Spielablauf nicht mehr
 
so sehr auff&auml;llt.
 
 
Insgesamt  habe ich effektiv ca. 1 Woche
 
gebraucht,  bis das gesamte Spiel fertig
 
war. Es waren nat&uuml;rlich sp&auml;ter noch  ei-
 
nige Korrekturen n&ouml;tig,  da beim Spielen
 
Tippfehler  in  den  Fragen  und  andere
 
kleinere Bugs aufgefallen sind, die habe
 
ich dann immer sofort ausgeb&uuml;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&ouml;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&auml;ter - also im
 
Jahre 2009 - ver&ouml;ffentlicht  wurde,  hat
 
folgenden Grund:  Auf  Grund von Abipr&uuml;-
 
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&auml;ftigen, schlie&szlig;lich gibt es ja viele
 
sch&ouml;ne Demos und Spiele f&uuml;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&auml;tung  dazu  entschlossen,
 
das Ganze zu ver&ouml;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&uuml;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&szlig;lich das Spiel ver-
 
&ouml;ffentlicht.
 
 
Die  zwei  weiteren Versionen entstanden
 
durch W&uuml;nsche einiger User.  Von  diesen
 
W&uuml;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&ouml;glich),  in  meinem Fall T.L. &amp; diesen
 
Namen habe ich fr&uuml;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&auml;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>
 

Latest revision as of 01:00, 18 January 2011

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox