Daquel Blog

Daquel-Entwicklung und offizielle Daquel News

Titelbild

„Der Mensch will immer, dass alles anders wird, und gleichzeitig will er, dass alles beim alten bleibt.“ – Paulo Coelho

Gildenränge

Die Betatester, die eine Gilde leiten, die mehr Mitglieder als nur sie selbst hat, wissen es schon: Es gibt eine Möglichkeit zur Hierarchie in der Gilde, gestaffelt in fünf Ebenen, die ich in diesem Blogpost mit den Buchstaben A-E bezeichnen werde, denn sie haben bei den verschiedenen Völkern unterschiedliche Bezeichnungen.

Gilde Clan
A Gildenmeister Clanchef
B Vize Erster Offizier
C Quartiermeister Verwalter
D Diplomat Botschafter
E Mitglied

Dieser Blogpost soll die Befugnisse der einzelnen Rollen veranschaulichen.

Befugnis A B C D E
Personen einladen Ja Ja Ja Nein Nein
Einladungen zurückziehen Ja Ja Nein Nein Nein
Mitglieder kicken Ja Ja Nein Nein Nein
Gruppe auflösen* Ja Nein Nein Nein Nein
Gruppenbeschreibung ändern Ja Ja Nein Nein Nein
Mitgliederränge anpassen** Ja Ja Nein Nein Nein
Gruppen-Diplomatie Ja Ja Nein Ja Nein
Die Gruppe verlassen Ja Ja Ja Ja Ja
Das Forum benutzen Ja Ja Ja Ja Ja
Fremde Foren-Posts löschen Ja Ja Nein Nein Nein

* Indem man sich selbst kickt
** Es können keine Ränge vergeben werden, die über dem eigenen sind

Über die Demokratiefeatures in der Gilde/im Clan wird derzeit noch nachgedacht, aber ich denke persönlich, dass sie kommen. Das wird aber noch einen Entscheidungsprozess im Team geben.

Raphael

Verbannung

„(…) Wenn jemand mehr Ärger verursacht als er wert ist, sollte er aus der Gemeinschaft verbannt werden. (…)“ – Jimmy Wales, Gründer der Wikipedia

Screenshot

Screenshot

Ein noch recht neues Feature in Daquel ist die flexible Verbannung. Die gängige Strafe für größere Regelvertöße ist die Sperrung des Spielaccounts. Um dies fairer und genauer staffeln zu können, haben wir jetzt diese “flexiblen Verbannungsmethoden”.

Verbannungen können für einen gewissen Zeitraum ausgesprochen werden. Für eine Beleidigung im Forum muss man den Spieler  ja nicht zeitlebens sperren, das würde sowieso nur dazu führen, dass er sich unter anderem Namen neu anmelden. Man könnte also sagen, man sperrt ihn für einen Tag. Oder eine Woche, vielleicht auch für einen Monat. Und das kann der Operator dann so einstellen, einen Grund angeben und muss sich nicht weiter darum kümmern.

Als nächstes können Sperren auch für einzelne Bereiche ausgesprochen werden. Wenn also, um das bekannte Beispiel aufzugreifen, jemand sich im Forum nicht regelkonform verhält, können wir sein Spielerkonto nur für das Forum, nicht aber für das Spiel selbst sperren.

Wenn man gesperrt wurde und versucht, den Bereich, für den man gesperrt wurde, zu betreten, bekommt man eine schöne Übersicht (siehe Bild) über alle Sperren, die jemals über einen verhängt wurden mit ihrer Begründung und ihrem Ablaufdatum. Desweiteren gibt es einen Direktlink zum Supportsystem, wenn man sich über die Sperre beschweren möchte. Diese Beschwerden werden natürlich nur von der Spielleitung selbst bearbeitet. Sollte jemand, der gesperrt ist, dies für Spam im Supportsystem nutzen, müssen wir seinen Account halt ganz profan deaktivieren, als hätte er nie eine Aktivierungsmail bekommen – dan kann er sich auch nicht mehr einloggen.

Raphael

Datenschutz bei Daquel: Logs

Ich gebe zu, dass der Datenschutz bei Daquel nicht absolut vorbildlich ist. Dennoch möchte ich ihn wenigstens transparent halten.

Spiel-Logs

Um Regelverstöße zu verfolgen und Spielfehler nachzuvollziehen, werden alle Spielvorgänge geloggt. Ein normales Teammitglied sieht dann zum Beispiel folgendes:

2010-07-22 21:38:13 rami: gewinnt gegen Monster Angeber-Gargyl (Geld: 4997, 20 EP).

In der Datei, in der die Logs gespeichert werden, steht etwas mehr:

bcgnlhz8zhw8840k0cs0008kk [1279828379](1) gewinnt gegen Monster Angeber-Gargyl (Geld: 4997, 20 EP).

Das bcgnlhz8zhw8840k0cs0008kk ist ein umformatierter MD5-Hash der ersten drei Teile der IP-Adresse. Wenn der Spieler also beispielsweise die IP-Adresse 127.54.23.42 hat, wird zuerst die 42 abgeschnitten, dann 127.54.23.** gehasht (d.h. unumdrehbar umgewandelt) und die entstehende Hexadezimalzahl wird in ein anderes Zahlensystem verrechnet, um Platz zu sparen.

Das 1279828379 ist ein Unix-Timestamp, also die Uhrzeit, zu der die Aktion geschat. Die 1 ist die ID des Spielers und der Rest ist denke ich selbsterklärend.

Server-Logs

Auch der Webserver speichert in seinen Logs Informationen über alle Seitenaufrufe.

- - [22/Jul/2010:21:53:04 +0200] "GET /img/style/einnahmequelle.jpg HTTP/1.1" 304 0 "http://beta.daquel.de/?p=admin&sp=logs" "Opera/9.80 (X11; Linux x86_64; U; de) Presto/2.6.30 Version/10.70"

Wie man sieht, speichert er das Datum und die Uhrzeit, die aufgerufene Datei (img/style/einnahmequelle.jpg), den Erfolgsstatus des Aufrufs (304), die Herkunft, wie man auf diese Datei kam (http://beta.daquel.de/?p=admin&sp=logs) und die Identifikationsdaten des Browsers. Es werden an dieser Stelle keine IP-Adressen gespeichert!

Statistiksoftware

Wir haben Piwik, eine freie Statistiksoftware im Einsatz. Diese speichert über jeden Besucher (so sie es schafft):

  • Uhrzeit
  • ob der Nutzer schonmal da war
  • Referer (Herkunft)
  • das Betriebssystem, den Browser, die Bildschirmauflösung
  • die Verfügbarkeit von Cookies, JavaScript, Java, Flash, Plugins für PDF, Director, Quicktime, Realplayer, Windows Media, Silverlight und Gears
  • Das Land des Besuchers
  • Den Kontinent des Besuchers
  • die im Browser eingestellten Sprachen
  • den Provider

Auch hier: keine IP-Adressen werden gespeichert!

nicht-repräsentative Umfrage

Hallo!

In letzter Zeit habe ich vielen Leuten von Daquel erzählt, was das ist und so. Ich hätte gerne eine schöne Übersicht, bei der jeder in kürzestmöglicher Zeit erfährt, was Daquel ist. Dazu habe ich eine kleine Umfrage gestartet, die das Durchschnittsvorwissen ermitteln soll. Nebenbei – wenn ich schonmal eine Umfrage mache – habe ich auch einige wenige optionale Fragen zu Browsergames allgemein hinzugefügt.

Mir ist klar, dass die Umfrage nicht repräsentativ ist, schon allein, weil ich sie unter anderem hier veröffentliche, wo vor allem Leute davon lesen, die sich konkret für Daquel interessieren. Trotzdem würde ich mich über jeden Teilnehmer freuen!

Zur Umfrage

Grüße,
Raphael

Let’s dance!

Leider nötig sind bei einem Browsergame Spielregeln. Und es gibt ja immer Leute, die sich nicht daran halten, das kennen wir ja schon. Zum Beispiel ist es ja, wie der aufmerksame Leser aller Spielregeln (ich weiß, kein Schwein liest sowas wirklich, genauso wie keiner sich die AGB bei amazon durchließt) weiß, nicht gestattet, als eine natürliche Person mehrere Spielfiguren zu spielen (“Multiusing”). Die klassische Methode bei Browsergames, gegen solche Regelverstöße vorzugehen, ist, dass man sich mit einem Internetanschluss (bzw. mit einer IP-Adresse) nur bei einem Account einloggen darf oder – wenn man mit seinem Bruder zusammen spielen will – das gesondert anmelden muss.

Das Problem ist: Mit einer fremden Adresse surfen ist genauso unproblematisch wie das einfache Erfinden einer auch spielenden Schwester. Außerdem ist es unfair gegenüber Leuten, die sich einfach mal bei nem Freund schnell einloggen wollen. Ich habe selber genug Browsergames mit Freunden zusammen gespielt, und weiß, wie oft das vorkommt. Das mit der IP-Adresse ist also ein Indiz. Aber schön ist es nicht.

Deshalb entsteht parallel zur Entwicklung des Spiels das Tool DAnCE. Und nein, wir wollen keine indianischen Tänze aufführen, um böse GeisterCheater zu vertreiben. DAnCE steht für Daquel Anti Cheat Engine. Hierbei handelt es sich genauer gesagt um eine Sammlung von Werkzeugen, die automatisch Inidizien für Spielregelbrüche sammeln und dann Visualisierungen erstellen, anhand derer ein Operator von Hand mit gesundem Menschenverstand mit wenig Zeitaufwand entscheiden kann, ob es sich um einen Regelverstoß handelt oder nicht.

Und zwar werden hier nicht technische Merkmale wie die IP-Adresse verglichen sondern alle Vorgänge und das gesamte Spielverhalten analysiert und auf Gemeinsamkeiten untersucht, um beim Beispiel Multiusing zu bleiben. Auch Methoden zur Erkennung von Bots, die das Spiel automatisiert spielen, sind natürlich Teil von DAnCE.

Also, wenn ihr bescheißen wollt, seid geschickt. Wer als Multiuser unerkannt bleiben will, der muss als Kompromiss jeden der Accounts für sich zum Vorteil des jeweiligen Accounts spielen und nicht mit einem Account den anderen Pushen. Und wenn jemand Multiusing so betreibt, dann stört es ja auch keinen. Und damit ein Bot unerkannt bleibt, muss er so natürlich wirken, dass wir ihn von einem Spieler nicht auseinanderhalten können. Und wenn er so natürlich ist, warum sollte man ihn dann Menschen gegenüber benachteilen?

In diesem Sinne,
Let’s dance!

Raphael

Steuern

“… und fang sofort damit an!”
“Mylord, das geht nicht. In der Schatzkammer ist kein Gold mehr!”
“Wie, kein Gold mehr? Was soll das denn bitte heißen?”
“Einfach nur kein Gold mehr da, Mylord.”
“Wieso, waren Diebe da und niemand hat es mir erzählt?”
“Nein, Mylord.”
“Was ist passiert? Sag mir die Wahrheit!”
“Es ist verbraucht, Herr.”
“Bei Eaje, das ist unmöglich! Ich bin reich!”
“Nein, Herr. Nicht mehr.”
“Aber… aber… wie konnte das passieren?”
“Ich weiß es nicht, Mylord.”
“Du kannst offen sprechen, ich werde dich nicht dafür strafen.”
“Ihr lebt über Eure Verhältnisse, Mylord.”
“So? Wenn du das sagst…”
“Ihr könntet sparen?”
“Ich lebe doch sparsam!”
“Wenn Ihr das für sparsam haltet, Mylord, bitteschön.”
“Sparen geht nicht so einfach, ich müsste meine Gewohnheiten ablegen. Und was würden meine Feinde bei Hof von mir denken, wenn ich plötzlich schäbig auftreten würde? Sie würden auch meinen Ruf in den Dreck ziehen oder mich ausnutzen.”
“Dann müsst Ihr an mehr Geld kommen, Herr!”
“Ja, aber wie?”
“Erhebt Steuern auf die Dinge, die auf dem Markt verkauft werden.”
“Das ist eine gute Idee, ich werde sofort neue Steuern ausrufen lassen und in wenigen Tagen reicher sein als je zuvor.”
“Tut das nicht, Mylord!”
“Wiebitte? Du willst mir Vorschriften machen? Weißt du eigentlich, mit wem du sprichst?”
“Verzeiht Herr, aber selbst Euch würde es Probleme bereiten die gesamten Bürger der Stadt gegen sich zu haben.”
“Das Volk gewöhnt sich schnell an Steuern.”
“Nicht, wenn Ihr auf einmal so viel Steuern erhebt, dass Leute daran zugrunde gehen. Ein verarmtes und verhungerndes Volk stellt keine guten Untertanen dar, Mylord.”
“Du hast Recht. Ich sollte lieber niedrige Steuern erheben und das über einen längeren Zeitraum.”
“Jawohl, Mylord.”
“Du kannst jetzt gehen.”
Weiterlesen »

ELO-Zahl

Seit dem 18. Juni fließt in die Ranglistenpunktzahl ein Wert ein, der sich am aus dem Schach bekannten ELO-Wert orientiert.

Aus unseren Erfahrungen mit dem Spiel Gangstertime wissen wir, dass das, was die Spieler in einer Statistik am meisten interessiert, die Siege und Niederlagen im Kampf sind. Würde man dies allerdings in der Rangliste anzeigen, würden alle Spieler möglichst viel Schwache angreifen, um diese Zahl zu erhöhen. Eine Staffelung nach Spielerstufen ist auch nicht zwingend sinnvoll, da die Kampfstärke in Daquel von so viel mehr als dem Level abhängt.

Deshalb haben wir uns entschieden, das ELO-System zu benutzen. Dieses berechent die Gewichtung eines Kampfes für die Punktzahl anhand der Stärke der Kämpfer, die sich wiederrum nur aus vorhergehenden Kämpfen berechnet. Aus praktischen Gründen beginnt jeder in Daquel mit einem ELO von 1500. Es gibt keine Möglichkeit, die eigene ELO-Zahl direkt einzusehen, aber sie fließt stark in die Punktzahl ein.

Ich hoffe, diese Entscheidung wird Daquel dabei helfen, das beste Spiel seiner Art zu werden ;-)

Raphael

Alles neu macht der … April. Zwischenstand.

Hallo!

Dieser Blog scheint tod – ist er aber nicht! In der Phase der Entwicklung konzentrieren wir unsere Kräfte halt lieber auf das Spiel selbst. Dennoch gab es in letzter Zeit Änderungen ohne Ende. Hier ein Ausschnitt:

  • Wie sicher mittlerweile alle mitbekommen haben dürften, hat Daquel ein komplett neues Design. Und wir finden, dass es geil aussieht. Was meint ihr? Wir freuen uns immer über Feedback.
  • Dieser Blog ist im WordPress-Standard-Design. Wir finden, dass das Design eigentlich total cool ist – aber Standard-Designs sind lame. Was daraus wird? Ist noch unklar.
  • Das alte Supportsystem war schon lange offline, das neue ist in Planung, wir haben aber noch nicht mit der Umsetzung begonnen.
  • Die Wiki wurde entfernt, weil wir sie für überflüssig befunden haben. Stattdessen gibt es jetzt eine von uns geschriebene Daquel Hilfe. Naja, zumindest technisch gibt es sie, an Inhalten mangelt es ihr noch ganz schön.
  • Man kann sich bei Daquel jetzt mit OpenID und damit auch mit z.B. Google Accounts anmelden. Mehr Infos hier.
  • Im Spiel selbst gab es zahlreiche kleinere Änderungen und Bugfixes – sucht selbst!

Immer das neuste erfahrt ihr hier:

Raphael

Es geht weiter

Das Daquel-Team ist wieder kräftig am weiterarbeiten, nach langer Zeit wurden wieder erste Ziele erreicht. Der Cronjob, der stehen geblieben war, wodurch sich keine Lebenspunkte mehr generierten, was seit Oktober keinem aufgefallen war, läuft wieder. Häufig genutzte Datenbankabfragen(teile) werden jetzt superperformant mit memcached zwischengespeichert. Das AJAX wurde vereinfacht, www.daquel.de leitet zwischenzeitlich direkt auf das Portal. Die Umlaute funktionieren jetzt überall, auch ein paar andere Fehler sind behoben.

Es gibt jetzt hier einen ziemlich aktuellen Changelog, in Agazil eine ganze Reihe neuer Städte mit unterschiedlich schwer aussprechbaren Namen und ein neues Reisesystem mit mehr Transportmitteln. Domenic hat eine tolle neue Karte entworfen, die ab sofort im Spiel zu bewundern ist.

Auf dass Daquel irgendwann einmal fertig wird!

Raphael

Performance-Update

Ja, es tut sich endlich mal wieder etwas an Daquel! Seit gestern Abend dürften portal.daquel.de sowie beta.daquel.de deutlich schneller aufbauen: Die Massen an CSS und JavaScript werden nun komprimiert (JSMin und cssmin) und als ein HTTP-Request gesendet. Ich hoffe mal, dass beschleunigt das ganze deutlich. Zu dem großen Bug gibt es leider noch keine Erfolge, aber ich habe die ToDo-Liste mal veröffentlicht: http://portal.daquel.de/index.php?p=board&view=37.

Raphael