Client / Server Spiel möglich?

Übersicht BlitzBasic Allgemein

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen

 

gamble

BeitragMi, Okt 19, 2005 16:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Warum sind die bei Valve bloß noch nicht auf so eine Idee gekommen? Rolling Eyes

bruZard

BeitragMi, Okt 19, 2005 16:17
Antworten mit Zitat
Benutzer-Profile anzeigen
I.d.R. wird in einem MP Game ca. alle 100ms (wenn nicht noch öfter) ein Status-Paket der einzelnen Clients an den Server verschickt. Nehmen wir an es existieren 8 Clients welche natürlich nicht synchron ihre Nachrichten schicken. Das bedeutet eine Freizeit von durchschnittlich 12,5ms pro Scriptaufruf. In dieser Zeit muss es das PHP Script schaffen sich mit der Datenbank zu verbinden, die Daten abzugleichen, neue Päckchen schnüren und an alle Clients verschicken. Nehmen wir weiterhin an der Provider ist so nett und bietet Dir einen so schnellen Sevrer (utopisch) dann wird nach spätestens einer halben Stunde Spiel Deine Datenbank deart fragmentiert sein dass Du unter 250ms keine Abfragen mehr hinbekommst. Zudem werden Anbieter wie 1&1 Dir nach einer Woche die Datenbank dicht machen weil es nicht erlaubt ist diese für derartige Zwecke zu mißbrauchen.

Der Unterschied zwischen einem echten Gameserver auf einem Linux-Server und einer dämlichen PHP MySQL Installation ist etwa so groß wie der Schreibzugriff zwischen Festplatte und Diskette.
Mal abgesehen davon dass Du mit BB keine persistenten Verbindungen zu einem HTTP Host aufbauen kannst und somit für jede Abfrage eine neue Verbindung aufbauen musst ... schon das allein dauert manchmal bis zu 100ms.
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32

User posted image

Ofenrohr

BeitragMi, Okt 19, 2005 16:28
Antworten mit Zitat
Benutzer-Profile anzeigen
sicher, du hast recht.

ich war bei meinem ersten post von einem relativ einfachem tabellenbaisertem onlinegame ausgegangen, bei dem es noch im bereich des möglichen ist, php und mysql zu benutzen.

mfg ofenrohr
Ofenrohr.net

regaa

BeitragMi, Okt 19, 2005 16:36
Antworten mit Zitat
Benutzer-Profile anzeigen
bruZard hat Folgendes geschrieben:
Das Problem: Du bräuchtest einen Windows-Server auf dem DirectX installiert ist ... mir ist kein Provider bekannt der so einen Quatsch anbietet.


Windows2003 Server wird 100%ig DirectX installiert haben. Davon gibt es mehr als genug Angebote und Provider im Netz. Ich würde dir dennoch C# oder BlitzMax für einen Server empfehlen.

bruZard hat Folgendes geschrieben:
Das bedeutet eine Freizeit von durchschnittlich 12,5ms pro Scriptaufruf. In dieser Zeit muss es das PHP Script schaffen sich mit der Datenbank zu verbinden, die Daten abzugleichen, neue Päckchen schnüren und an alle Clients verschicken.


Kennt ihr denn noch nicht BlitzSQL?
http://www.codersworkshop.com/....php?id=76

Also ich brauche für 1000 Anfragen an nen SQL Server keine Sekunde.
UltraMixer Professional 3 - Download
QB,HTML,CSS,JS,PHP,SQL,>>B2D,B3D,BP,BlitzMax,C,C++,Java,C#,VB6 , C#, VB.Net

bruZard

BeitragMi, Okt 19, 2005 16:43
Antworten mit Zitat
Benutzer-Profile anzeigen
@regaa: Ein direkter Aufruf der Datenbank von BB aus ist sicher ein Geschwindigkeitsgewinn, gleichzeitig aber ein extrem hohes Sicherheitsrisiko. Man benötigt nichtmal einen Hex-Editor um Benutzername und Passwort zur Datenbank aus der Exe zu lesen. Zeitgleich kommt aber immer noch die enorme Latenz einer Datenbankbasierten C/S Programmierung und die exorbitante Fragementierung der DB bei einer Frequentierung im Millisekunden-Takt zum Tragen.
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32

User posted image

regaa

BeitragMi, Okt 19, 2005 18:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Sicherheitsrsiko ist angenehm bei unseriösen Projekten. Ansonten würd ich sagen: Den MySQL User per HTTP GET zuschicken lassen oder auch aus einer txt lesen (muss nur einmal geschehen), natürlich in verschlüsselter Form und die BBAnwendung das ganze entschlüsseln lassen. Den Algo ausm ASM code rauszulesen, wäre ich zumindest, nicht in der Lage.

Ist aber auch eine interessante AUfgabe das ganze sicher zu machen. Ich nutze derzeit die BlitzSql Lib und bin noch nicht so weit als das ich über Risien mir Gedanken machen müsste, aber in paar Tagen komm ich an einen Punkt wo Lösung gut wären.

Also immer her mit den Ideen. Surprised
UltraMixer Professional 3 - Download
QB,HTML,CSS,JS,PHP,SQL,>>B2D,B3D,BP,BlitzMax,C,C++,Java,C#,VB6 , C#, VB.Net

Hip Teen

BeitragMi, Okt 19, 2005 18:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
BB/BB+ und B3D benötigen eine DirectX fähige Grafikkarte damit die damit erstellten Programme laufen können.

Imo brauch man das bei Blitzplus nicht, jedenfalls nicht wenn man ohne Graphics arbeitet. Und das geht ja sehr gut unter B+ Wink
Spruch der Woche: "Ahh, ein neues Gesicht?!" - "Nein, das hab ich schon länger"

Jan_

Ehemaliger Admin

BeitragDo, Okt 20, 2005 7:57
Antworten mit Zitat
Benutzer-Profile anzeigen
was auch ein gerücht ist, ohne DX3, startet B+ erst garnicht.
between angels and insects
 

animago

BeitragDo, Okt 20, 2005 10:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey, so eine schöne resonanz auf meine Frage hätte ich nicht erwartet. Von der Idee mit PHP und mysql bin ich sehr angetan, da das meine hauptprogrammierung auf meiner Arbeit ist und ich mich damit also sehr gut anfreunden kann. ich werde mir dein Tutorial mal ansehen Ofenrohr.
Die Idee finde ich sehr gut und es dürfte auch so programmierbar sein, da sich z.b. kämpfe rundenbasiert auf einer art Schachbrett spielen lassen werden glaube ich das die Datenübertragung auch nicht zu hoch sein wird. Es soll hauptsächlich ein mit Grafiken versehenes RPG werden (nicht 3d).
Zumindest lässt sich mit der methode einiges realisieren.

Ich danke dir ofenrohr und natürlich auch den anderen für die guten beiträge und ich hoffe einfach mal ich übernehme mich nicht mit dem Projekt.

Naja, wenn es ein gutes Stadium erreicht findet man hier ja anscheinend genügend kompetente coder die einem weiter helfen können.
Versuche niemals, die Realität zu kopieren.

Wenn du die Realität willst, dann lass den Computer aus und geh vor die Tür.

Wenn du Spaß haben willst, dann erschaffe eine andere Realität.

DHE

BeitragDo, Okt 20, 2005 10:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Für den Anfang würder aber doch DynDNS reichen.

(Außerdem lässt du dier keien feste IP zuweisen, sondern ne addresse die dich zu deiner JETZIGEN IP linkt. Dafür musst du die vorher aber jedesmal wenn du ne IP vom Provider zugewiesen bekommst Updaten...)
Das Leben is scheiße die Grafik is geil

Keep on Rockin...

User posted image
 

animago

BeitragDo, Okt 20, 2005 10:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, entweder so oder die blitzsql methode. ggf könnte ich es auch in c/c++ versuchen und wenn das spiel gute ausmaße annimmt kann man sich ja einen server einrichten. Den Client auf B+ zu proggen ist jedenfalls am wichtigsten, da DX programmierung auf C++ noch etwas zu hart für mich ist, auch nach dem schönen einsteigerbuch von Heiko Kalista, welches ich für C++ anfänge wärmstens empfehlen kann.
Versuche niemals, die Realität zu kopieren.

Wenn du die Realität willst, dann lass den Computer aus und geh vor die Tür.

Wenn du Spaß haben willst, dann erschaffe eine andere Realität.

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group