[PHP] Auftrag, ist mein Konzept gut? ANDERES PROBLEM
-
Darf man trotzdem wissen wer die Konkurrenz sein wird?
MfG SideWinder
-
es ist keine Konkurrenz.....wenn die ESL ne Konkurrenz hat, dann die GIGA-Liga...möchte nicht zu viel dazu sagen, sorry, könntest du trotzdem meine Frage beantworten oder bist du jetzt beleidigt? :p
-
Ich bin jetzt beleidigt :p
Nein, dein Konzept ist imho okay
MfG SideWinder
-
deins klingt aber auch ganz cool
Was haben die denn für Vor-und Nachteile? Meines wohl als Vorteil, dass man keinen Prozess mehr braucht
-
Meins hat den Vorteil, dass die meiste Arbeit in einem Programm geschrieben ist das bereits compiliert ist und nicht interpretiert werden muss.
Bzgl. Geschwindigkeit kann ich dir nichts sagen, keine Ahnung wie man INSERT/SELECT am besten abstimmt um optimale Ergebnisse zu erzielen. Aber das scheint bei dir sowieso nicht nötig zu sein, da es ja keine Konkurrenz zur ESL wird und somit fast keine suchenden Spieler bedient?
MfG SideWinder
-
Ich kapier nicht warum es PHP basierend ist. Denn ein ordentlicher Client wäre dazu viel geeigneter - denn du willst doch wohl nicht, dass alle User dauernd deine Seite reloaden... Das wäre ja hölle für den armen Server...
Lieber zB ein JavaApplet (wenn es Browser basiert sein muss) aber am besten wäre ein Client, in dem das alles angezeigt wird. Würde dafür nen ordentlichen Server verlangen - hätte aber klare Vorteile.
btw: ich habe nicht kapiert warum SideWinders Variante mit nem schönen cronjob in PHP nicht gehen sollte. Ansonsten würde ich es wie SideWinder machen, nur das sich keine 5 sekunden nehmen würde, sondern mindestens 20.
Sonst geht der Server ja in die Knie
Und der Cronjob schaut natürlich auch, ob sich etwas geändert hat - lässt sich ja leicht einrichten...
-
ich wäre auch nur für Programme
Aber naja....Auftrag ist Auftrag....
-
ist es sinnvoll als ID in der DB die SessionID zu verwenden? Gibt es kostenlose OPENSOURCE Javaapplets um im IRC zu chatten, oder darf ich das selbst basteln?
-
Surkevin schrieb:
ist es sinnvoll als ID in der DB die SessionID zu verwenden?
n bisschen lange id - aber OK. wenn du nur schnell suchen willst, würde ich nen index bevorzugen.
Gibt es kostenlose OPENSOURCE Javaapplets um im IRC zu chatten, oder darf ich das selbst basteln?
Gibt es, aber frage mich nicht wo. ich hab schon einige gesehen, aber da das thema uninteressant ist für mich, habe ich alles wieder vergessen
-
Warum der Auftraggeber das so haben will? Weils beim Vorreiter genauso ist, 1:1-Kopien sind in dieser Hinsicht sehr beliebt da die Spieler das dann genauso benützen können.
Client lädt niemand runter, das Programm muss serh einfach zu bedienen sein - und schnell verfügbar sein. Wenn das mit einem Download zusammenhängt wird das niemals populär wenns bei der Konkurrenz auch ohne geht. 20 Sekunden wartet auch niemand, der durchschnittliche Gamer denkt in Millisekunden, nach 20 Sekunden glaubt der doch der IE hat sich aufgehängt und schießt ihn ab.
MfG SideWinder
-
SideWinder schrieb:
20 Sekunden wartet auch niemand, der durchschnittliche Gamer denkt in Millisekunden, nach 20 Sekunden glaubt der doch der IE hat sich aufgehängt und schießt ihn ab.
Wieso warten? Der User wird ja wohl nicht sofort mit ner antwort rechnen, oder? so schnell kann ja keiner 'OK spiele mit' sagen. Da sind 20 sekunden imho eine schöne refresh rate
Oder sind die Leute wirklich so ungeduldig? Wie will man da dann etwas tun? Schließlich warten ja nicht alle Leute darauf, dass jemand ein Spiel 'eröffnet'.
Erklär mal - das interssiert mich.
Und wenn du zB 100 user auf der seite sind und es gibt alle 5 sekunden ein reload der seite - wie verkraftet dass der server? mal abgesehen von dem verschwendeten traffic: kann die seite überhaupt alle 5 sekunden dargestellt werden? ich meine der browser muss einen request machen, die seite runterladen und dann darstellen. geht das vernünftig alle 5 sekunden? da kann man doch nicht gut klicken, oder?
-
Tja, müssen wohl Frames und Streamed-HTML her.
Aber hier wäre ein JavaApplet echt angesagt. Und die ganzen Spielekinder haben das ja auch drauf, also sollte das kein Problem sein. Geht sehr viel eleganter damit.
-
Jo ich mach dann mal alles so, wie ich es am Anfang sagte, danke euch allen!
Kevin
-
http://www.esl-europe.net - InstantChallenger
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.
MfG SideWinder
-
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