Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   [Game] Multiplayer Tetris (https://www.delphipraxis.net/87519-%5Bgame%5D-multiplayer-tetris.html)

Sebioff 1. Mär 2007 18:12


[Game] Multiplayer Tetris
 
So,
nachdem ich hier auch schon ne Weile angemeldet bin, will ich mal ein Projekt von mir vorstellen :)

Es handelt sich dabei um ein Multiplayer Tetris für bis zu 6 Spieler über Internet/LAN.
Da ich bisher keinen besseren (noch nicht vergebenen...) Namen gefunden habe, heisst das Projekt im Moment TetriSeb (bessere Vorschläge werden gerne entgegengenommen :))

Da ich ein großer Fan des 2-Spieler-Tetris-Modus für den GameBoy bin habe ich nach einer Multiplayerversion für den PC gesucht und bin dabei auf die wohl bekannteste Variante gestoßen: TetriNet.
Allerdings sind mir an TetriNet gleich einige Dinge negativ aufgefallen:
- wird schon seit Jahren nicht mehr weiterentwickelt
- die Blöcke rotieren ziemlich merkwürdig
- jeder Spieler erhält eine vollkommen andere Blockreihenfolge

Besonders der letzte Punkt verfälscht den Spielverlauf meiner Meinung nach so stark, dass ich mich mal an einer eigenen Version versucht habe :) (kann ja nicht angehn, dass Glück zu einem großen Teil über Sieg oder Niederlage entscheidet...)
Dennoch habe ich mir, zugegeben, einige Dinge bei TetriNet abgeguggt.

Features
:arrow: Multiplayermodus für bis zu 6 Spieler gleichzeitig
:arrow: Jeder Spieler erhält die gleiche Blockreihenfolge!
:arrow: angelehnt an das original Gameboy-Tetris (gleiche Feldgröße: 18*10, gleiches Rotierverhalten der Blöcke, ...)
:arrow: Einzelspielermodus und Teamspielermodus
:arrow: (optional) PowerUps, bekannt aus TetriNet
:arrow: auch über LAN spielbar (damit gibts soweit ich weiß Probleme bei TetriNet)
:arrow: (optional) "Echtzeit"-Ansicht des gegnerischen Feldes, d.h. man sieht nicht nur, welche Blöcke abgesetzt wurden, sondern auch, wie der Gegner seine Blöcke bewegt und dreht. Macht besonders bei mehr als 2 Spielern das zuschauen sehr interessant, wenn man schon ausgeschieden ist :)
:arrow: Highscore (allerdings lokal; bisher kein globaler Onlinehighscore...)
:arrow: eingebauter MP3-Player für die Hintergrundmusik
:arrow: OP-Status kann vergeben werden, d.h. nicht nur der erste, der online kam, kann eine Runde starten; neue Runden können auch per Voting gestartet werden

Screenshots laufender Spiele
Screenshot 1 (5 Spieler)
Screenshot 2 (2 Spieler)
Screenshot 3 (Block-Schatten)
Screenshot 4 (GameOver.)

Downloads
:arrow: Aktuelle Version: TetriSeb 1.0, Protokoll v1.27 (08.03.2007) (EXE, 1 MB)
:arrow: (optional) Sound-/Music/Grafikpack (ZIP, 10.7 MB); einfach in den gleichen Ordner wie die .exe kopieren; wird nicht zum Spielen benötigt. Enthält zu Tetris passende Hintergrundmusik, sowie Soundeffekte und ein Beispielhintergrundbild fürs Spielfeld.

Getestet auf Windows 98 und aufwärts.

Serverliste
Seit der Version vom 02.03.2007 lassen sich TetriSeb-Server über eine Serverliste eintragen und finden.

Anleitung
Tetris allgemein sollte bekannt sein, das werde ich nicht erklären.
Beim Mehrspielertetris gilt zusätzlich: 2 (in einem Rutsch) abgebaute Zeilen fügen dem Gegner/den Gegnern 1 Zeile mit Blöcken zu ihrem Spielfeld hinzu, 3 abgebaute Zeilen fügen 2 Zeilen hinzu, und 4 Zeilen (= Tetris) fügen 4 Zeilen hinzu.
Zusätzlich gibt es (falls aktiviert) einige PowerUps. Generell sind "gute" PowerUps grün, "böse" rot und neutrale grau.
Für alle zwei abgebauten Zeilen erscheint im Spielfeld ein PowerUp, dass durch den Abbau der Zeile zur PowerUp-Leiste hinzugefügt wird (der schwarze Balken unter dem Spielfeld).
Immer das erste PowerUp in der Leiste (das mit dem roten Rahmen drumrum) kann eingesetzt werden.
Mit der Taste "1" wendet man ein PowerUp auf sich selbst an, mit "2" auf Spieler 2 (die Spielernummer steht über dem jeweiligen Spielfeld), usw.
Gewonnen hat der letzte Überlebende.
Je mehr Zeilen man abbaut, desto schneller fallen die Blöcke.
Je mehr Zeilen man abbaut und je mehr Gegner man besiegt desto mehr Punkte erhält man.

Hinweis
Das Spiel ist noch weit entfernt von "fertiggestellt". Es sollte alles soweit funktionieren, aber gerade bei mehr als 2 Spielern oder im Teammodus könnten Fehler auftauchen (da diese Funktionen noch nicht soooooo ausführlich getestet wurden wie der 2-Spieler Modus).
Falls Fehler auftauchen würde ich mich über eine Meldung freuen :)
Ebenfalls sehr viel weiterhelfen würden mir Vorschläge zum Namen und natürlich allgemein Verbesserungsvorschläge und Ideen für neue Features.
Viel Spaß :)



Edit: Achja, es gibt bisher auch keinen zentralen Server...
Also wer spielen will wird sich irgendwie ein paar Mitspieler suchen und dann selbst den Server starten müssen. Oder, falls keine Mitspieler zu finden sind, könnt ihr ja auch mal den Einzelspielermodus versuchen (Server Settings -> Start Server -> Start Game)

Das ist übrigens noch eines der großen Probleme die ich habe: nen eigenen 24h-erreichbaren Server laufen lassen ist mir zu teuer, und mit der aktuellen Lösung der eigenen kleinen Server kann ich keinen globalen Highscore aufstellen lassen (zumindest habe ich noch keine Idee, wie man den betrugssicher machen könnte). Ansonsten könnte ich ja eine Lobby einrichten, von der man dann die privaten Server erreichen kann.

dominikkv 1. Mär 2007 18:21

Re: Multiplayer Tetris
 
hi
sieht schon mal toll aus...
nur wenn ich nen server starten will kommt:
Zitat:

---------------------------
Tetris7_3
---------------------------
Windows-Socket-Fehler: Der Zugriff auf einen Socket war aufgrund der Zugriffsrechte des Sockets unzulässig (10013), auf API 'bind'
---------------------------
OK
---------------------------
und ist das programm auch internet tauglich, damit wir mal eine DP-Tetris-Runde zocken können^^

edit: ich hab vista, vllt liegts daran

Sebioff 1. Mär 2007 18:30

Re: Multiplayer Tetris
 
hi dominikkv,
ich würd jetzt auch mal drauf tippen, dass Vista da Probleme macht...
Hast dus in einem Account mit Adminrechten versucht?
Bei mir läufts nämlich auch unter Vista.

edit: hab mal eben gegoogelt, aber ne lösung hab ich nicht gefunden....hm.
Versuchs vielleicht mal mit nem anderen Port als 80, der ist ja nicht unbedingt für Games gedacht :)


Und ja, ist Internettauglich :-D

Namenloser 1. Mär 2007 18:36

Re: Multiplayer Tetris
 
Zitat:

zumindest habe ich noch keine Idee, wie man den betrugssicher machen könnte
da fällt mir was ein: man könnte doch statt des highscores selber so eine art replay übermitteln, was dann virtuell durchgespielt wird, und der highscore, der dann rauskommt, wird eingetragen.

dominikkv 1. Mär 2007 18:39

Re: Multiplayer Tetris
 
ja, bin in nem adminkonto drin und hab jetzt sogar nochmal mal das prog über "als administrator ausführen" gestartet -> gleicher fehler.
vista version: ms vista 64 ultimate final mit allen updates

Sebioff 1. Mär 2007 18:42

Re: Multiplayer Tetris
 
Zitat:

Zitat von NamenLozer
Zitat:

zumindest habe ich noch keine Idee, wie man den betrugssicher machen könnte
da fällt mir was ein: man könnte doch statt des highscores selber so eine art replay übermitteln, was dann virtuell durchgespielt wird, und der highscore, der dann rauskommt, wird eingetragen.

Keine schlechte Idee, aber das Replay könnte man dann ja fast genauso einfach wie seinen Score manipulieren...


@dominikkv: Hm ok, ich hab die normale Business-Version...
hast dus mal auf einem anderen Port versucht? Hab nochmal ein bisschen weitergegoogelt, das scheint wirklich mit dem Port zusammenzuhängen.

Namenloser 1. Mär 2007 18:44

Re: Multiplayer Tetris
 
Naja, aber der Aufwand wäre größer, und es köntne nicht sooooo astronomische highscores geben, wenn man z.b. den zeitlichen abstand, nach dem neue teile runterfallen fest im programm eingestellt hääte und dann im replay nur noch steht, welche teile wann gekommen sind. Aber 100% sicher wird man es eh nie haben...

Sebioff 1. Mär 2007 18:50

Re: Multiplayer Tetris
 
Zitat:

Zitat von NamenLozer
Naja, aber der Aufwand wäre größer, und es köntne nicht sooooo astronomische highscores geben

Schon richtig :)
Ich habe sowieso über eine Replay-Funktion nachgedacht, da würde sich das ja gut kombinieren lassen...

Was ich mir halt problematisch vorstelle: was, wenn man einfach ein total gefaktes, abgeschnittenes Replay übermittelt? Man könnte ja einfach Replays einschicken von 2 Spielern, in denen beim zweiten Spieler einfach ohne sonstige Aktionen die Blöcke bis zur Decke gestapelt wurden...
Ob das Match zwischen den beiden wirklich stattfand oder wie lang es ging kann ich ja nicht nachprüfen, ich müsste da voll auf die übermittelten Daten vertrauen.

dominikkv 1. Mär 2007 19:09

Re: Multiplayer Tetris
 
ok, auf port 81 hats geklapt :thumb:
ich wär mal dafür das wir mal alle auf nem server spielen :cyclops:

xZise 1. Mär 2007 21:46

Re: Multiplayer Tetris
 
Hi Sebi,

Zitat:

Zitat von Sebioff
Da ich bisher keinen besseren (noch nicht vergebenen...) Namen gefunden habe, heisst das Projekt im Moment TetriSeb (bessere Vorschläge werden gerne entgegengenommen :))

Wie wäre es mit "Network Tetris"?
Hier ein paar sachen, die mir aufgefallen sind:
  • Wenn ich als Einzelspieler spiele, dann ist die Grafik nicht okay (Es ist weis)
  • Wie wäre es mit einem "Pause"-Button (o.ä.)?
  • Wenn man spielt, hat das Memo den Fokus (auf "ReadOnly" stellen ;))


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:41 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz