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