[PHP] Auftrag, ist mein Konzept gut? ANDERES PROBLEM
-
SideWinder schrieb:
http://www.esl-europe.net - InstantChallenger
OMFG - bin ich froh, dass ich nicht für diese Zielgruppe programmieren muss...
Das "ich spiele mit" kannst du dir sobald du den IC-Start-Button gedrückt hast nicht mehr aussuchen, du bekommst nur noch das Ergebnis zu sehen.
Muss ich mich da anmelden damit ich das sehen kann?
Wenn ja: dann erklär mal genauer bitte
Wenn nein: kannst du mir den direkten link geben? die seite ist mir zu unübersichtlich, ich finde da garnix.
-
Bis auf das Menü das die DAUs immer noch in JS haben ist die Page doch sehr übersichtlich geworden. Das Chaos war schon schlimmer, und für die Anzahl der User und Teams im Vergleich zur Servergröße steckt ein gutes System dahinter. Es ist die geordnetste und im europäischen Vergleich nun auch größte Onlineliga für E-Gaming. Es gibt in der Pro-Series 100K? zu gewinnen. Also bitte etwas mehr Respekt als dein abwertendes "die Zielgruppe"
Hab nachgesehen: Du musst bereits in einer 1on1/2on2-Ladder angemeldet sein. Der IC ist zudem nur für stark frequentierte Ligen freigeschaltet (Counterstrike, WarCraft3). Also musst du bereits für ein solches Game angemeldet sein und damit auch einen gültigen CD-Key besitzen. Ich glaube das könnte sich bei deiner Einstellung zu dem Thema als schwierig erweisen
Also gibts für good ol' Shade eine detaillierte Beschreibung
- User kann für Ligen in denen er eingeschrieben ist + für die der IC aktiviert ist diesen benützen
- Link auf Instant Challenger im Menü bringt ihn auf eine Page auf der er ein paar Informationen angeben kann (Gleichstarker Gegner aus dem ELO-System, beliebiger Gegner, Game-Server vorhanden, etc.).
- Nach einem Go hat sich die Sache für den Gamer (und deswegen wohl auch die Beliebtheit)
- Eine Art Uhr refresht dann alle paar Sekunden und zeigt an der wievielte Durchlauf es bereits ist
- Meistens findet sich auch sehr bald ein Gegner was mich zu einem Fenster weiterleitet, dort finden sich oben Informationen über den Gegner (ESL-Team-Link (sozusagen die Homepage eines Teams mit Infos), die derzeitigen ELO-Punkte, etc.))+ ein JS-Chat in den beide Mitglieder geschmissen werden
- Die besprechen dort kurz Ort des Matches (ServerIP + Passwort) und welches AntiCheat-Tool benützt wird und fertigFür den Notfall (Fenster geschlossen, etc.) kann man IC-Spiele die noch nicht den Status "Ergebnis eingetragen" bzw. "Spiel abgeschlossen" haben wieder im Menü aufrufen, das heißt wieder zurück zum Chatfenster kehren.
Ein erneuter Aufruf des IC weist zudem den User nochmals daraufhin, dass er noch offene Matches hat.
Ein IC-Match ist verpflichtend und auch sofort auszutragen - eben ein "Ich will jetzt ein Ligamatch spielen"-System :).
Da beide Teilnehmer angemeldet sein müssen erweist sich die Sache als sehr einfach da sowieso Tabellen mit den Teams + Spieler + Matches vorhanden sind und das Match dort nur noch eingetragen werden muss. Eine einzige Tabelle IC reicht dann im Prinzip, die wird vom System nach passenden Einträgen durchsucht um diese dann miteinander zu verbinden.
MfG SideWinder
-
Hallo,
Bin auf folgendes Problem gestoßen:
Angenommen Spieler sucht Gegner, Datenbankeintrag wird erstellt. Nun will er aber doch nicht mehr spielen und beendet einfach das Fenster, ohne auf "Will doch nicht mehr spielen" zu klicken. Sein DB-Eintrag ist aber noch verfügbar. Nun kommt Spieler2, der genau auf den abgehauenen Kerl passt. Schreibt ihn in die matched Tabelle und geht in den Chatroom. Doch es kommt niemand, da der andere Spieler schon längst nicht mehr spielen will, und nicht mehr dauernd nachsieht, ob in der matched Tabelle seine ID steht. Nun hat Spieler1 ein Problem, weil niemand da ist.
Wie könnte man diesen Fehler umgehen?
Ich dachte mir es so eventuell: Der Spieler refresht ja die ganze Zeit eine Seite, bei der überprüft wird, ob er in der matched Tabelle steht. Bei jedem Aufruf schreibt er zu seinem eigenen DB Eintrag die Serverzeit, wann sein letzter Refresh war. Wenn jetzt ein Gegner gefunden wurde, und seine Refreshzeit länger als 30 Sekunden her ist, wird der DB Eintrag von ihm gelöscht...nur hat das eben auch den Nachteil, dass es gut sein kann, dass er vor 20 Sekunden den letzten Refresh hatte, und als Gegner akzeptiert wird, obwohl sein Fenster geschlossen wurde. Soll ich dann einfach sagen: Pech gehabt?
Wohl nicht allzutoll.....hoffentlich habt ihr Ideen....
Danke,
Gruß,
Kevin