Tetrinet entwicklung: Unterschied zwischen den Versionen

Aus LaborWiki
Wechseln zu: Navigation, Suche
Keine Bearbeitungszusammenfassung
 
(11 dazwischenliegende Versionen von 7 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
__NOTOC__
__NOTOC__
 
{{ProjektInfoBox
|name        =
|status      = obsolete
|image      =
|description =
|author      = EX
|username    =
|version    =
|update      =
|platform    =
|license    =
|download    =
}}
== Motivation ==
== 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.
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 ==
== Protokoll ==
Zeile 10: Zeile 26:
* 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.
* 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.
* 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?
== Labor-Theme ==
[[Bild:Labor tetritheme.png|Theme]]
Datei theme.cfg
  [Theme]
  Name=Das Labor Tetrinet Theme
  Author=Fabian B
  Description= Use or Loose!
   
  [Graphics]
  Blocks=Labor_tetritheme.png
  BlockSize=20
== Borg-Theme ==
[[Bild:Borg_tetritheme.png|Theme]]
Datei theme.cfg
  [Theme]
  Name=Das Borg Tetrinet Theme
  Author=Fabian B & Tunix
  Description= Use or Loose!
   
  [Graphics]
  Blocks=Borg_tetritheme.png
  BlockSize=20

Aktuelle Version vom 11. Januar 2015, 04:55 Uhr

 
Tetrinet entwicklung

Release status: obsolete [box doku]

Description
Author(s)  EX




Motivation[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

  • 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[Bearbeiten | Quelltext bearbeiten]

Der Server bekommt Routinen zu Plausibelitätsprüfung verpasst.

Client[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

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?

Labor-Theme[Bearbeiten | Quelltext bearbeiten]

Theme

Datei theme.cfg

 [Theme]
 Name=Das Labor Tetrinet Theme
 Author=Fabian B 
 Description= Use or Loose!
   
 [Graphics] 
 Blocks=Labor_tetritheme.png
 BlockSize=20

Borg-Theme[Bearbeiten | Quelltext bearbeiten]

Theme

Datei theme.cfg

 [Theme]
 Name=Das Borg Tetrinet Theme
 Author=Fabian B & Tunix
 Description= Use or Loose!
   
 [Graphics] 
 Blocks=Borg_tetritheme.png
 BlockSize=20