1\documentclass[12pt,a4paper]{article} 2 3\usepackage{german} 4\usepackage{tabularx} 5%\usepackage{times} 6\usepackage[pdftex]{hyperref} 7\usepackage[utf8x]{inputenc} 8 9\newcommand{\kreuz}{$\clubsuit$} 10\newcommand{\pik}{$\spadesuit$} 11\newcommand{\herz}{$\heartsuit$} 12\newcommand{\karo}{$\diamondsuit$} 13 14 15\begin{document} 16 17\thispagestyle{empty} 18\begin{center} 19\linespread{2.0} 20{\Huge 21FreeDoko 22\ \\ 23\vspace{2cm} 24Konzept 25\ \\ 26\vspace{2cm} 27} 28{\large 29\ \\ 30\vspace{2cm} 31Borg Enders\\ 32Diether Knof 33\ \\ 34\vspace{2cm} 35\ \\ 36} 37\ \\ 38\vspace{2cm} 39\ \\ 40September 2001 41\end{center} 42\newpage 43\tableofcontents \newpage 44\section{Spielidee} 45Das Doppelkopfspiel ist ein Kartenspiel für vier oder mehr Personen. 46Das einzelne Spiel wird von vier Spielern gespielt. Das Doppelkopfspiel ist 47wahrscheinlich aus dem meist im süddeutschen Raum gespielten Schafkopf entstanden, das bereits seit 1895 ein Regelwerk 48besaß. Es erhielt den Namen daher, daß alle Karten doppelt im Spiel vorhanden sind (Doppel-Schafkopf). 49Doppelkopf wird im Gegensatz zu Schafkopf inzwischen in ganz Deutschland gespielt, überwiegend jedoch in Norddeutschland 50und in der Rhein-Main-Gegend.\\ 51Doppelkopf ist ein Kartenspiel mit 48 Karten und mindestens 4 Spielern, das Skat nicht unähnlich ist. Hierbei wird mit zwei 52normalen Skatblättern ohne Siebener und Achter gespielt. Es spielen dann immer die Besitzer der beiden Kreuz-Damen zusammen. 53Hierdurch bilden sich während des Spielens immer wieder neue Paare. Es ist von vornherein nicht klar, wer mit wem eine Partei bildet. 54Dies herauszufinden oder zu verheimlichen, macht einen wesentlichen Reiz des Doppelkopfspieles aus.\\ 55Bei Doppelkopf ist der Spielverlauf auch ähnlich wie bei Skat zu großen Teilen vom Können der einzelnen Spieler abhängig. 56Dieses sorgt für ein spannendes und abwechslungsreiches Spielerlebnis. 57\newpage 58\section{Vorgesehener Funktionsumfang} 59\subsection{Die unterstützten Regeln} 60\begin{itemize} 61\item Spiel mit oder ohne Neunen 62\item Armut mit mehr als vier Neunen 63\item Trumpfarmut bei weniger als vier Trümpfen 64\item ein angesagter Vorbehalt ist verbindlich 65\item Hochzeit (beide Kreuz-Damen auf einer Hand); Wahl des Mitspielers: 66\begin{itemize} 67\item Erster fremder Stich entscheidet 68\item Erster fremder Herz Stich entscheidet 69\item Erster fremder Pik Stich entscheidet 70\item Erster fremder Kreuz Stich entscheidet 71\item Erster fremder Farbstich entscheidet 72\item Erster fremder Trumpfstich entscheidet 73\item Festlegen des letzten Klärungsstiches 74\end{itemize} 75\item Schweine (beide Karo Asse auf einer Hand) sind die höchsten Trümpfe. Ansagezeitpunkt: 76\begin{itemize} 77\item Ansage vor dem Spiel 78\item Ansage, wenn erstes Schwein gespielt wird 79\item Wenn erstes As von der eigenen Partei gewonnen wurde, wird das zweite Karo As zum Schwein und angesagt 80 (keine Hyperschweine) 81\item Hyperschweine, beide Karo Neunen auf einer Hand, wenn Schweine angesagt wurden: 82\begin{itemize} 83\item Ansage vor dem Spiel 84\item Ansage, wenn erste Neun gespielt wird 85\end{itemize} 86\end{itemize} 87\item Ein Sonderpunkt für Karlchen: Kreuz Bube macht letzten Stich 88\begin{itemize} 89\item Zwei Sonderpunkte für Doppel-Karlchen: beide Kreuz Buben einer Partei im letzten Stich 90\item Ein Sonderpunkt für Karlchen fangen: wenn Kreuz Bube im letzten Stich von Gegenpartei überstochen wird und 91die Gegenpartei den Stich macht 92\item Zwei Sonderpunkte für Doppel-Karlchen fangen: wenn beide Kreuz Buben im letzten Stich von Gegenpartei überstochen werden 93\end{itemize} 94\item Ein Sonderpunkt für Fuchs im letzten Stich: Letzter Stich wird mit Karo As (kein Schwein) gewonnen: 95\begin{itemize} 96\item Zwei Sonderpunkte für Doppel-Fuchs im letzten Stich: letzter Stich wird durch zwei Karo Asse einer Partei gewonnen 97\end{itemize} 98\item Ein Sonderpunkt für gefangenen Fuchs, wenn ein Karo As in einem Stich der Gegenpartei endet 99\item Herz Zehnen Trumpf (oder normale Farbkarten). Bei Trumpf: 100\begin{itemize} 101\item Zweite Herz Zehn in einem Stich schlägt erste 102\item Außer im letzten 103\item Erste Herz Zehn schlägt zweite 104\item Außer im letzten Stich 105\item Ein Sonderpunkt für Dullenschlag, wenn eine Herz Zehn die andere schlägt 106\end{itemize} 107\item Genscher: Beide Karo Könige auf einer Hand, dann darf der Spiler mit dem Genscher sich beim Ausspielen 108des ersten Karo Königs einen neuen Mitspieler aussuchen. Hierdurch werden alle Ansagen außer Re und Kontra nichtig. 109Dieser ist nur bei Normalspielen oder geklärter Hochzeit erlaubt. 110\item Soli: Ein Spieler spielt gegen die drei anderen: 111\begin{itemize} 112\item Buben-Solo: nur Buben sind Trumpf 113\item Damen-Solo: nur Damen sind Trumpf 114\item Damen-Buben-Solo: nur Damen und Buben sind Trumpf 115\item Köhler: Nur Bilder sind Trumpf 116\item Farbsolo: (Farb Schweine (optional),) (Herz Zehnen,) Damen, Buben und entsprechende Farbkarten sind Trumpf 117\item Fleischloser: Es gibt keinen Trumpf 118\end{itemize} 119\item An- und Absagen (mit Angaben bis wann und viele Ansagen insgesamt erlaubt sind) 120\begin{itemize} 121\item Re: Ich habe eine Kreuz-Dame (bin Solospieler) 122\item Kontra: Ich habe keine Kreuz-Dame (bin kein Solospieler) 123\item Keine 90: die Gegenpartei schafft keine 90 Punkte, Ansage der eigenen Partei mußte vorher erfolgen 124\item Keine 60: die Gegenpartei schafft keine 60 Punkte, keine 90 mußte vorher angesagt werden 125\item Keine 30: die Gegenpartei schafft keine 30 Punkte, keine 60 mußte vorher angesagt werden 126\item Schwarz: die Gegenaprtei macht keinen Stich, keine 30 mußte vorher angesagt werden 127\item Absagen dürfen übersprungen werden, wenn vorher nötige Absagen noch erlaubt sind. Diese gelten 128dann als abgesagt 129\item Auf jede Absage darf ein Re oder Kontra ggf. erwidert werden 130\end{itemize} 131\item Eine vorgegeben Anzahl (abhängig vom Schwierigketisgrad) von bereits gespielten Stichen 132darf betrachtet werden 133\item Frei wählbare Anzahl und Art der Pflichtsoli 134\item Frei wählbare Zählart, ob Plus-Minus, Plus oder Minus 135\end{itemize} 136\subsection{Spielumfang} 137\begin{itemize} 138\item Einzelspieler Spiel gegen KIs unterschiedlicher Schwierigkeitsgrade 139\item Multiplayer-Spiel 140\item Verschiedene Spielvarianten 141\begin{itemize} 142\item Vorgegebene Anzahl von Runden 143\item Spiel bis zum erreichen einer bestimmten Punktzahl 144\item Spielen einer bestimmten Anzahl von Punkten (Punktetopf) 145\item Endlosspiel 146\item Spiel auf Zeit (Tunier) 147\item Regeln durch Anwender weitestgehend konfigurierbar 148\end{itemize} 149\item Speichern und Laden von Doppelkopfpartien 150\item Sortierung der Karten 151\begin{itemize} 152\item aufwärts/abwärts 153\item Trumpf links/rechts 154\item beliebige Farbreihenfolge sollte angebbar sein: Herz Zehnen, Karo, Kreuz, Pik, Herz, Schweine, Buben, Damen 155\end{itemize} 156\end{itemize} 157\subsection{Technischer Umfang} 158\begin{itemize} 159\item Rechneranforderungen ca. 300MHz und 64MB. 160\item Unterstützte Auflösungen $640\times 480$, $800\times 600$, $1024\times 768$, $1280\times 1024$ 161\item Eine Programmversion für Linux und eine für Windows 95 und höher 162\item Als graphische Oberfläche wird GTK+ verwendet 163\item Alle Funktionen über Tastatur und Maus bedienbar 164\item Konfigurationsdatei 165\item Kommandozeilenargumente 166\item Programmiersprache: C++ (Compiler: Linux: g++; Windows: g++) 167\item eine zusätzliche textbasierte Version für Linux und Windows 168\item Multiplayerfähig via TCP/IP 169\begin{itemize} 170\item peer-to-peer-Netz: Hostaufagben können einfach weiter gereicht werden beim ausscheiden des Hosts 171\end{itemize} 172\item Soundausgaben (linux: sox (Systemaufruf); Windows: PlaySound aus der Multimedia-Bibliothek winmm.lib) 173\item Mehrsprachig (deutsch, englisch, ...) 174\item Wird unter die GPL gestellt 175\end{itemize} 176\subsection{Dokumentation} 177\begin{itemize} 178\item Anleitungen: 179\begin{itemize} 180\item Die DDV-Kurzanleitung als Crashkurs für ganz eilige. 181\item Die FreeDoko-Regeln als detailierte Einführung in das Spiel. 182\item Die Tunier-Regeln für alle die es ganz genau wissen wollen. 183\end{itemize} 184\end{itemize} 185\subsection{Spielerprofil} 186Der Spieler gibt Startlevel an und kann seinen Level beliebig up/downgraden.\\ 187Nach x gewonnen Spielen (Punkte der eigenen Partei \textgreater 120 und eigene Punkte \textgreater 60), nach y gehaltenen Absagen 188und nach z gewonnen Soli findet ein Upgrade des Spielerlevels statt.\\ 189Durch ein freiwilliges up/downgraden werden die ermittelten Gesamtwerte nicht beeinflußt. 190Ein Downgrade bringt den Spieler zur Mitte des letzten Levels zurück, ein Upgrade zum Anfang des nächsten Levels.\\ 191Die KI wird dann entsprechend dem Spielerlevel gewählt und andere Spieler können sehen, wie gut ihr Gegener ist. 192Jeder Spieler darf auch eine Ersatz KI, die sein Spiel beim Ausfall seines Rechners Übernimmt, entsprechend seinem 193Level festlegen. 194\subsection{Schwierigkeitsgrade} 195\subsubsection{Anfänger} 196\begin{itemize} 197\item Alle Karten offen 198\item Alle Stiche betrachtbar 199\item Re/Kontra anzeigen 200\item Schweine anzeigen 201\item Automatische Punktezählung 202\item Kartenvorschlag 203\item KI zählt Herz Zehnen und Schweine mit 204\item KI berücksichtigt keine weiteren gespielten Karten 205\end{itemize} 206\subsubsection{Anfänger pro} 207\begin{itemize} 208\item Karten verdeckt 209\item Alle Stiche betrachtbar 210\item Re/Kontra anzeigen 211\item Schweine anzeigen 212\item Automatische Punktezählung 213\item Kartenvorschlag 214\item KI zählt Herz Zehnen und Schwein mit 215\item Die KI zählt gestochene Farben mit 216\end{itemize} 217\subsection{Normal} 218\begin{itemize} 219\item Nur letzten Stich noch betrachten 220\item Re/Kontra anzeigen 221\item Schweine Anzeigen 222\item Automatische Punktezählung 223\item Kartenvorschlag 224\item KI zählt gestochene Farben mit 225\item KI berücksichtig letzten Stich 226\item KI zählt Herz Zehnen und Schweine mit 227\end{itemize} 228\subsection{Normal pro} 229\begin{itemize} 230\item Keine Punkte zählen 231\item Nur letzten Stich noch betrachten 232\item Re/Kontra anzeigen 233\item Schweine anzeigen 234\item Kartenvorschlag 235\item KI zählt gestochene Farben mit 236\item KI berücksichtigt letzte 3 Stiche 237\item KI zählt Herz Zehnen und Schweine mit 238\end{itemize} 239\subsection{Profi} 240\begin{itemize} 241\item Keine Punkte zählen 242\item Nur letzten Stich noch betrachten 243\item Schweine anzeigen 244\item KI zählt gestochene Farben mit 245\item KI berücksichtigt letzte 6 Stiche 246\item KI zählt Herz Zehnen und Schweine mit 247\end{itemize} 248\subsection{Profi pro} 249\begin{itemize} 250\item Keine Punkte zählen 251\item Nur letzten Stich noch betrachten 252\item KI zählt gestochene Farben mit 253\item KI berücksichtigt alle Stiche 254\item KI zählt Herz Zehnen und Schweine mit 255\end{itemize} 256\newpage 257\section{GUI} 258\subsection{Entwurf} 259Fähigkeiten der GUI: 260\begin{itemize} 261\item Stiche betrachten 262\item Punkte zählen 263\item Einstellungen 264\begin{itemize} 265\item Sortierung der Karten 266\item Kartenart wählen (auf jedenfall die Rückseite) 267\end{itemize} 268\item Auswahl von An- und Absagen 269\end{itemize} 270\subsection{Die Grafik} 271\begin{itemize} 272\item Blick von oben auf einne Tisch mit Schreibblock (vergrößerbar), Karten an den vier Tischseiten und aktueller Stich 273in der Mitte. 274\item nach Möglichkeit menschliche Hände und ähnliches vermeiden, da gute Grafik hierfür zu aufwendig in der Erstellung sein würde 275\item Animationen: 276\begin{itemize} 277\item die Karten werden in die Mitte geschoben 278\item dann wird der Stich umgedreht 279\item zu dem Spieler geschoben, der ihn bekommt 280\item vor dem dann ein Kartenstapel anwächst 281\end{itemize} 282\end{itemize} 283\newpage 284\section{Programmablauf} 285\subsection{Server-Klient-Konzept} 286Idealerweise sollte der Server nicht als separates Programm gestartet werden, sondern kann vom Spieler eingestellt werden 287(beim Programmstart wird er automatisch gestartet, es kann aber auch ein anderer eingestellt werden). 288\begin{itemize} 289\item Vorbereitung: 290\begin{itemize} 291\item Einstellungen beim Server machen (z.Bsp.: Spielregeln, Art der Klients, ...) 292\item Einstellungen bei den Klients machen (z.Bsp.: Namen, Schwierigkeitsgrad, ...) 293\item Auf alle Klients warten 294\item Server abgleichen 295\end{itemize} 296\item Partie starten: 297\begin{itemize} 298\item Spiel starten 299\begin{itemize} 300\item Karten mischen 301\item Karten austeilen 302\end{itemize} 303\item Ansagen abwarten 304\item Stiche machen 305\begin{itemize} 306\item Züge durchführen 307\begin{itemize} 308\item Ausspieler bekannt geben 309\item von Ausspieler Karte verlangen 310\item ausgespielte Karte den Klients zeigen 311\end{itemize} 312\item Stich einsammeln 313\item Gewinner bekannt geben 314\end{itemize} 315\item Spielende 316\begin{itemize} 317\item Punkte der Parteien zählen 318\item Sonderpunkte vergeben 319\item Punkte in die Tabelle eintragen 320\item Punktestand angeben 321\end{itemize} 322\end{itemize} 323\item Punktestand und Gewinner angeben 324\end{itemize} 325\subsubsection{Server} 326\begin{itemize} 327\item Mischen der Karten 328\item Verteilen der Karten 329\item Festlegen der Spielregeln 330\item Übermitteln der Spielregeln an die Klients 331\item Verwalten der Punkte (Aufschreiben) 332\item Kommunikation mit den Klients 333\item Einstellung der Art der Klients (Mensch oder KI) 334\end{itemize} 335\subsubsection{Klient} 336\begin{itemize} 337\item Name einstellbar 338\item Einsicht letzter Stich 339\item Bekommt vom Server die Regeln 340\item Überprüfen der Spielregeln 341\item Bekommt vom Server die gespielten Karten 342\item Spielt Karte aus 343\end{itemize} 344\subsection{peer-to-peer} 345Jeder Rechner kennt alle am Spiel beteiligten Rechner. 346Auf jedem Rechner wird festgehalten, welcher Rechner der aktuelle Server ist.\\ 347Wenn ein Rechner Server ist, ermittelt dieser die nächste gespielte Karte entweder von Spieler auf einem der Klients 348oder von lokaler KI. 349Lokal ermittelte Karten werden von Klients und Server an alle anderen beteiligten Klients und den ggf. den Server geschickt. 350Nach Ablauf des Stiches wertet der Server den Stich aus und gibt die Ergebnisse an die Klients weiter.\\ 351Serverausfall: Wenn ein Klient seit 0.3 sec nichts vom Server gehört hat, fragt dieser beim Server nach, ob er noch aktiv ist. 352Falls keine Antwort erfolgt, sendet der Klient den anderen Rechnern das Vorliegen eines Serverausfalls. 353Jeder Rechner bekommt beim Anmelden beim Server noch eine Numer und jetzt wird der Rechner mit der niedrigsten noch existierenden 354Nummer zum Server. Der ausgefallene Server wird dabei ggf. durch eine zusätzliche KI ersetzt. 355\newpage 356\section{KI} 357\subsection{Funktionsumfang} 358\begin{itemize} 359\item Schwierigkeitsstufe einstellbar 360\begin{itemize} 361\item Gedächtnis (wie viele Stiche werden sich gemerkt, auf welche Karten wird geachtet, ...) 362\item Vorraussicht, wie viele Stiche in die Zukunf wird der Spielbveraluf berechnet 363\item Mitzählen von abgestochen Farben, Herz Zehnen, Schweinen 364\end{itemize} 365\item Verhalten einstellbar 366\begin{itemize} 367\item gierig (nimmt jeden Stich, den er kriegen kann) 368\item vertrauensvoll (wenn ihn jemand eine Karo 10 gibt, dann gibt er ihm auch Punkte) 369\end{itemize} 370\end{itemize} 371\subsection{Heuristiken} 372Was ist eine Heuristik? Einfach gesagt eine Regel, die meistens aber nicht immer gilt. Im folgenden 373werden einige Heuristiken für Doppelkopf mit absteigender Anwendungsbedeutung aufgeführt, das heißt, 374es ist sinnvoller die erste Regel zuerst anzuwenden, als die zweite: 375\begin{enumerate} 376\item Komme mit einem Farb-As beraus, wenn noch entsprechend viele Karten der Farbe im Spiel sind (und keiner 377diese Farbe bereits gestochen hat). Komme dabei mit dem As heraus, wo noch am meisten Karten ausliegen. 378\item Falls kein As als Ausspieler, dann kleinen Trumpf nehmen. 379\item Als letzte Karte eines Farbstiches, dessen Farbe man nicht hat, spiel ein Karo As, eine Karo Zehn, 380einen Karo König, einen Buben, eine Karo Neun oder eine Dame, 381\begin{enumerate} 382\item wenn in diesem Stich nicht bereits eine Trumpfkarte ist (bei Gierig überstechen). 383\item wenn nicht bereits jemand von der eigenen Partei den Stich bekommt (vertrauensvoll: pfundet). 384\end{enumerate} 385\item Wenn die eigene Partei den Stich gewinnt, pfunde durch Spielen eines Karo Asses, einer Karo Zehn, einer Farb Zehn, eines Farb 386Asses oder Königs als letzte Karte, sofern erlaubt. 387\item Immer so niedrig wie möglich bedienen (außer der Partenr steht schon fest) 388\item Wenn man den mit einem As oder einer Zehn den Stich nicht gewinnt, versucht man doch lieber einen König oder eine 389Neun der entsprechenden Farbe zu spielen. 390\item Wenn mit einem Trumpf dieser Stich nicht gewonnen wird, sollte Fehl oder ein niedriger Trumpf gespielt werden, wenn erlaubt. Die Trumpfreihefolge hierbei ist zuerst 391Karo Neun, dann Karo König, Bube, Karo Zehn, Karo As, Dame. 392\item Spiel kein As, das bereits im Stich liegt. Es sei denn der Partner bekommt den Stich. 393\item Spiel keine Dame die bereits im Stich leigt (Damen sind in der Regel zu wertvoll, als sie zu opfern, wenn man es vermeiden kann). 394\item auf Karlchen spielen wenn möglich 395\item im Wechsel hohe niedrige Trümpfe spielen 396\end{enumerate} 397\subsubsection{Armut} 398Eine Armut kann aufgenommen werden, wenn der Spieler mindestens ein paar Damen hat und durch die Armut nur Trümpfe 399oder max. 2 Fehlfarben hat. Wenn der Spieler in Vorhand sitzt, spielt er einen niedrigen Trumpf, ansonsten versucht er 400seine Fehlfarben loszuwerden bzw. sticht die Farben ab. Die Trümpfe sollten meist im Wechsel gespielt werden, das heißt, mal einen 401niedrigen mal einen hohen. Wenn der Spieler viele hohe hat, kann er auch von oben ziehen. 402\subsubsection{Solo} 403\begin{itemize} 404\item Farbsolo 405\begin{itemize} 406\item der Spieler sollte viele Trümpfe haben bzw. ein gutes Beiblatt, das heißt Asse. 407\item Entweder sollte dann ein As oder ein niedriger Trumpf gespielt werden 408\end{itemize} 409\item Buben / Damen /gemischtes 410\begin{itemize} 411\item der Spieler sollte ein einigermaßen gutes Beiblatt haben 412\item Ansonsten wie das Farbsolo spielbar 413\end{itemize} 414\item Köhler 415\begin{itemize} 416\item der Spieler sollte mindestesn 10 Trümpfe haben 417\item als Fehlfarben am besten nur Asse 418\item Er sollte einige Könige und Damen haben 419\item dann im Wechsel hohe und niedrige Trümpfe spielen 420\end{itemize} 421\item Fleischloser 422\begin{itemize} 423\item Der Spieler sollte eine lange Farbe oder viele Asse haben 424\item von oben runter spielen, oder wenn man alle oberen Karten selber hat, auch mal einen König vorspielen 425\end{itemize} 426\end{itemize} 427\newpage 428\section{Weiterführende Ideen} 429\begin{itemize} 430\item im Multiplayerspiel Zuschauer erlauben 431\item im Multiplayerspiel ein öffentliches Chat-Fenster 432\begin{itemize} 433\item ermöglichen von Strafpunkte durch regelwidrigen Gebrauch des Chat-Fensters (Absprachen, Mitzählen, ...) 434\end{itemize} 435\item Online Tuniere 436\item Doppelkopf mit 5 Spielern 437\item Spielerprofil um frei einbindbare Spielergrafik erweitern 438\item Frei konfigurierbarer Schwierigkeitsgrad 439\item Doppelkopf mit 8 Spielern 440\item (noch eine schwerere Spielstufe, bei der die KI die Kartenverteilung kennt) 441\item Ai freikonfogurierbar (Heuristiken Liste mit Rangfogle, der 442Heuristiken SPielreiehnfolge) 443\end{itemize} 444\end{document} 445