vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Re: Online-Spiel: Matchmaking 
Autor: Snof
Datum: 16.06.09 14:55

Hallo

Zu deinem ersten Problem hab ich ne Idee. Ist aber noch nich ganz ausgereift. Sammel alle möglichen Paarungen zusammen und sortiere sie nach Differenz der Stärke der Spieler. Und dann geh die Liste von oben nach unten durch. Wenn bei einem Paar einer oder beide Spieler schon vergeben sind, ignoriere es.

Es wird aus der aktuell möglichen Menge an Paarungen die Beste rausgesucht und dann wiederum aus der Restmenge das Optimum. So lange bis die Menge leer ist. Dabei kann es allerdings passieren, dass es schnell zu Paarungen mit recht hoher Differenz kommt.

zB:
1 - 2 - 2,4 - 3 - 4 - 4,6 - 5 - 6
Bei einer solchen Verteilung kommen follgende Paare raus:
(2 - 2,4) (4,6 - 5)
(3 - 4) (1 - 6)
Die Frage ist, möchtest du das? Ein alternatives Vorgehen wäre es, eine Menge von Paarungen zu suchen, bei denen die Summe der Differenzen minimal ist. Da hab ich im Moment aber kein Algorithmusvorschlag.

Überleg aber mal bitte was genau du mit der Zuweisung erreichen möchtest, also die beste Paarung finden, oder dass alle einen möglichst guten partner haben, oder was ganz anderes?



Zu deinem zweiten Problem: Wie behandelst du sowas in der Offline-Variante?
Wenn dein Spiel nach Server-Client-Prinzip arbeitet, sollte das Spiel eh aufm Server laufen und die Clients nur als Oberfläche dienen. In diesem Fall Sendet Client 1 an den Server, dass er das Spiel verlässt. Der Server gibt es dann an Client 2 weiter. Sowohl Server als auch Client reagieren dann entsprechend darauf.



Und Problem 3:
Gegen das einfache Beenden des Programms oder andere Verbindungsabbrüche würde ich einen TimeOut probieren. Eventuell noch ein regelmäßiges Signal vom Client zum Server. Bleibt dieses zu lange aus gilt der Client als Offline.
Dagegen, dass ein Spieler nicht an seinem Rechner sitzt, kann man aber glaub ich wenig tuen. Das hängt auch von deinem Spiel ab. Bei Schach beispielsweise ist es deinem Rechner praktich gar nicht möglich zu erkennen, ob der Spieler nur lange überlegt oder nicht mehr da ist.

Soweit erstmal von mir, eventuell kommt noch mehr, falls ich nen schönen Algorithmus finde oder mir ein guter einfällt
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Online-Spiel: Matchmaking857vaubea16.06.09 13:35
Re: Online-Spiel: Matchmaking531Maas16.06.09 13:55
Re: Online-Spiel: Matchmaking559vaubea16.06.09 14:37
Re: Online-Spiel: Matchmaking543Snof16.06.09 14:55
Re: Online-Spiel: Matchmaking555ModeratorRalf Ehlert16.06.09 14:58

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel