Tetrinet entwicklung
Motivation
Inzwischen hat fast jeder herausgefunden, das man den tetrinet server prima auf verschiedenste Arten betrügen kann. Jetzt soll schluss damit sein: Wir entwickeln ein neues tetrinet Protokoll und basteln einen Server und Client drumrum.
Auch in Punkto fairness soll etwas getan werden: So soll ein Spieler, der in der Rangliste relativ weit unten steht und einen höher stehenden Spieler besiegt, dafür etwas mehr Punkte bekommen.
Cheater wird man auch nicht mit einem neuen Protokoll komplett erschlagen, aber man kann es zumindest eindämmen.
Protokoll
Das zukünftige Protokoll soll dem Client die "Rechte" entziehen und Serverlastiger werden. So soll es nicht mehr möglich sein, das der Client seine Specials selbst wählt.
Ideen zum Protokoll
- Um Lags zu vermeiden könnte man eine bestimmte Anzahl an Steinen & Specials dem Client im Voraus schicken. Vorschlag: Jeweils ein Stein und ein Special im Voraus.
- Eine spätere Erweiterung soll es ermöglichen, das der Client sich bei dem Server einen Nickname reservieren kann. So kann niemand einfach so den Nickname übernehmen.
- Voting gegen Cheater: Wenn mehr als n Prozent (n einstellbar) der Mitspieler einen dritten hinausvoten, wird dieser vom Server oder aus dem Raum gekickt. So sind Admins fast nicht mehr nötig für solch alltägliche Probleme.
- Mehr als 6 Mitspieler: Clients teilen dem Server mit, wieviele Mitspieler sie darstellen können und wollen. Der Server setzt dann das Limit für den jeweiligen Raum auf die kleinste gemeinsame Anzahl Spieler (>= 6).
Server
Der Server bekommt Routinen zu Plausibelitätsprüfung verpasst.
Client
Die Bedienung des Clients soll intuitiver werden. So soll es z.B. eine Taste geben, mit der man sich selbst Specials zuteilt, anstatt nur einer Nummer. Die Nummern hingegen werden kontnuirlich an alle anderen Teilnehmer vergeben.
Netzwerk Library
Eine Netzwerk Library soll es anderen Programmierern ermöglichen, ihren Client darauf aufzubauen. Das verhindert auch anfänglichen "Wildwuchs".
Mögliche Sprachen für eine solche Library:
- Java
- C
- C++
- ADA
- D /* sehr C++ ähnlich, modern, wert mal in etw. größeren ramen auszuprobieren */
- RUBY
Zusammenarbeit
Würde mich eventuell beteiligen, wenn es die Zeit und die Koordination zulässt. Ich schätze, der Source wird im SVN sein? Kann man da irgendwie mitmachen? Gibts ein Treffen?
Datei theme.cfg
[Theme] Name=Das Labor Tetrinet Theme Author=Fabian B Description= Use or Loose! [Graphics] Blocks=Labor_tetritheme.png BlockSize=20