Montag, 17. November 2014

Endlich ein Chatfenster

Schon sehr bald nachdem ich Sechzehn live geschaltet hatte, haben sich Spieler bei mir gemeldet, die gerne ein Chat-Fenster gehabt hätten. Nun, nach gut sechs Monaten ist es so weit. Die Spieler können während und nach einer Runde Sechzehn miteinander chatten. Es werden keine Chatprotokolle mitgeschrieben. Alles was älter als eine halbe Stunde ist, fliegt automatisch aus der Datenbank raus. Außerdem ist es mit Ruby on Rails leider nicht möglich einen Echtzeit-Chat zu realisieren. Stattdessen aktualisiert sich das Chat-Fenster alle fünf Sekunden, bzw. sobald man selber eine Nachricht abgesetzt hat.

Ich werde die Serverlogs von Sechzehn jetzt eine Weile beobachten. Wenn die Antwortzeiten des Spiels unverhältnismäßig ansteigen sollten, werde ich das Chatfenster wieder entfernen. Im Moment schaut es jedoch noch recht gut aus.

Samstag, 15. November 2014

Öfter mal was Neues

Sechzehn läuft nun schon einige Monate recht stabil. Allerdings mussten einige kleinere Schwächen ausgeräumt werden.

Zum Einen wuchs mir so langsam die Pflege der Datenbank über den Kopf. Leider darf diese nämlich aus Kostengründen nicht mehr als 20 Millionen Datensätze enthalten. Daher bin ich gezwungen, regelmäßig alle Lösungen und erratenen Wörter aus der Datenbank zu löschen. Das macht jetzt ein nächtlicher Job, den man auf Heroku ohne Zusatzkosten einrichten kann. Einfach einen Rake-Task aufsetzen und vom Scheduler täglich zu einer bestimmten Uhrzeit ausführen lassen - bingo. Hätte ich gewusst, wie einfach das ist, hätte ich den Scheduler schon von Anfang an genutzt.

Die Andere Änderung an Sechzehn betrifft die Art und Weise wie das Spielerranking errechnet wird. Die Rechenvorschrift bleibt in Zukunft die gleiche. Allerdings werden jedem Spieler, der mehr als 24 Stunden nicht gespielt hat, jede Nacht vier Punkte von seiner ELO-Zahl abgezogen. Dies bedeutet, dass ein Spieler, der lediglich ein einziges Mal Sechzehn gespielt hat, nach circa einem Jahr seine 1600 ELO Punkte aufgebraucht hat. Spieler, die nur noch Null Punkte übrig haben, verschwinden aus der Highscore Liste, können aber jederzeit wieder mit dem Spielen anfangen.