| | | | |
| |||||||
| Software-Design Diskussionen auf Profi-Niveau: PHP Lösungen auf konzeptioneller Ebene |
|
| | LinkBack | Themen-Optionen | Thema bewerten |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | ||
| Erfahrener Benutzer Registriert seit: 10.10.2009
Beiträge: 2.637
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() | Zitat:
- Für ein Kartenspiel mag es reichen, aber denk mal an einen Chat, was dann mit deiner Datenbank passiert. - Der Browser des Clients feuert sekündlich HTTP Anragen raus die ggf. ins Leere laufen (keine Rückgabe produzieren) und der Server muss diese bedienen Alternativen: Long-Polling: Dabei startet der Client einen Request der eine gewisse Zeit offen gehalten wird und nach Ablauf der Lebenszeit ohne Rückgabe geschlossen wird, oder vorher mit einer Rückgabe kommt sodass direkt ein neuer "wartender" Request gestartet werden kann (Facebook verwendet Long-Polling). TCP-Sockets: Mit JavaScript ist es möglich in modernen Browsern eine TCP Socketverbindung zu einem Server aufzubauen. Somit kann der Server den Client banachrichtigen wenn eine Aktualisierung nötig ist und das ewige "Anfragen" entfällt. Beispiele: http://websocket.org/aboutwebsocket.html http://code.google.com/p/jsxmlsocket/
__________________ "Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst". | |
| | |
| | |
| Erfahrener Benutzer Registriert seit: 28.05.2008
Beiträge: 2.094
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() | Eventuell interessiert dich das als Applikationsbasis: socket.io nodejs Falls du nach einem nodejs-Framework suchst: expressjs Als Grafikengine könntest du dir blender (graphik engine) und three.js (webgl runtime) anschauen, allerdings wird das auf absehbare Zeit vom IE boykottiert werden. Natürlich kannst du auch mit c# oder c++ „rumhantieren“ Falls ich dein Interesse für javascript-basierte Erweiterungen/Module geweckt habe, gib Bescheid. Dann poste ich dir gern mehr. |
| | |
| | |
| Erfahrener Benutzer Registriert seit: 25.09.2009
Beiträge: 2.115
PHP-Kenntnisse: Fortgeschritten ![]() ![]() | zusätzlich gibt es noch nowjs es verwendet socket.io und ein longpooling für browser die es nicht unterstützen(die examples mal mit FF und IE vergleichen) |
| | |
| | |
| Erfahrener Benutzer Registriert seit: 25.09.2009
Beiträge: 2.115
PHP-Kenntnisse: Fortgeschritten ![]() ![]() | http://buildingbrowsergames.com/tutorials/ schau dir mal das an MFG EDIT: sorry dass ich einfach nur ein blöden link gepostet habe, aber es ist halt nicht alles auf einmal zu erklären 1) normalen HTML link erstellen, der einen php script aufruft oder 2) einen Ajax request, der das gleiche macht nur im hintergrund, sprich die seite wird nicht neu geladen. Damit Clients mit einander kommunizieren können, wird in meisten fällen eine Datenbank verwendet. eine direkte client zu client verbindung gibt es nicht(wenn man jetzt HTML5 außer acht lässt). Mit JS ist es möglich die gesamte Logik eines Spiels zu verarbeiten, nur 1) wird JS nur in deinem Browser ausgeführt , der server kriegt nichts davon mit 2) JS skripte kann jeder sehen (sicherheite etc) 3) JS kann deaktiviert werden (wieder sicherheitslücke) 4) Kann kein sauberes OOP in klassischen browserspielen verläuft das ganze etwa so: Benutzer ruft im browser domain.xyz/index.php auf, der script prüft etwas macht paar dinge und erzeugt HTML/Javascript code. Javascript Code ermöglicht dinge wie animation oder andere spezial effekte sowie Ajax requests. Danach hat der Benutzer, weitere klick möglichkeiten, die zb einen Ajax request ausführen. Dabei wird ein weitere PHP Script im hintergrund geladen und das ergebnis dieses PHP Scripts(kann HTML Code oder XML code oder JSON sein) kommt zurück an den client und du müsstest das ergebnis auf der Client seite bearbeiten(zb das ergebnis in einem Bestimmten DIV element einblenden lassen). Außerdem speichert der PHP script dann werte in der Datenbank. Diese werte werden von anderen Browsern dann ausgelesen. Als Beispiel, kannst du mal mein Spiel anschauen. http://cruel-online.de username: test, passwort: testing. Nachdem du dort die Spielfigur ausgewählt hast, wirst du weitergeleitet zu der Karte, Ich erzeuge mit PHP das grundgerüst bzw den HTML code , anschließend sobald der HTML code von dem Browser dargstellt wird, wird Javascript automatisch gestartet. Dieser erzeugt weitere Divs in meinem Grundgerüst(einzelne elemente der Karte) und lädt zusätzliche informationen über Ajax nach(zb hintergrundbild einer Kachel) das ergebnis des Ajax requests erweitert mein HTML code. Danach klickst du in irgend eine richtung und der Javascript code erzeugt weitere DIV elemente im HTML code und lädt bei bedarf weitere informationen zu den divs. zusätzlich wird ein anderer Ajax request ausgeführt der die neuen Position der Spielfigur in der Datenbank abspeichert. Normalerweise müsste ich jetzt noch parallel alle paar sekunden wieder ein ajax request versenden um aus der Datenbank auszulesen, wo sich gerade andere spieler befinden und spieler in meiner nähe dann einbleden. jedoch ist dieser vorgehensweise nicht besonders performant also werde ich versuchen die tage nowjs einzubauen und websockets. Du kannst dir das Firefox plugin Firebug installieren und dort die konsole aktivieren, dann siehste genau was wird beim Ajax request versendet, und was kommt als antwort zurück. Hoffe ich konnte dir weiterhelfen Geändert von BlackScorp (29.11.2011 um 16:39 Uhr). |
| | |
| | |
| Erfahrener Benutzer Registriert seit: 25.09.2009
Beiträge: 2.115
PHP-Kenntnisse: Fortgeschritten ![]() ![]() | soweit ich das mitbekommen habe ist nowjs ein socket.io wrapper um es einfacher in den Client zu implementieren.. aber das ist jetzt eine andere geschichte EDIT: @topic JS kann zwar kein sauberes OOP aber es gibt sowas wie Dart ob man es verwenden muss.. ich weis nicht Geändert von BlackScorp (29.11.2011 um 17:02 Uhr). |
| | |
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Hilfe bei Multiplayer Canasta | Kruemmel | Freizeit | 0 | 09.09.2011 17:11 |
| Würfel spiel | tkb | JavaScript, Ajax und mehr | 1 | 22.03.2011 23:22 |
| Verstärkung gesucht für ein Sci-Fi Space Multiplayer Game | BlackOrbst | Sonstige | 0 | 08.12.2010 23:39 |
| Verstärkung gesucht für ein Sci-Fi Space Multiplayer Game | jastreb | Sonstige | 0 | 04.12.2010 12:58 |
| Sci-Fi Space Multiplayer Game Programmierers gesucht | jastreb | Gewerblich | 2 | 30.11.2010 23:52 |
| Suche Spiel Programmierer | Erik1234 | Sonstige | 2 | 12.04.2010 14:10 |
| Suche Programmierer für Instant Messenger / social Network / multiplayer Arcade games | JamesTCookie | Sonstige | 0 | 10.03.2010 13:59 |
| Karten Spiel | shocky | PHP Tipps 2006 | 10 | 16.02.2006 11:56 |
| Zahlen Raten Spiel | PHP Tipps 2005-2 | 3 | 24.09.2005 17:25 | |
| die meisten Punkte pro Spiel abfragen | Gumfuzi | Datenbanken | 10 | 05.04.2005 21:29 |
| nächstes spiel anzeigen? | PHP-Fortgeschrittene | 3 | 19.09.2004 15:45 | |