2012-03-23 9 views
1

Hintergrundinfo: Ich habe vor kurzem beschlossen, ein Projekt für ein soziales Browserspiel zu übernehmen. Ich habe im Moment nichts Großes im Sinn, aber vor allem möchte ich experimentieren, um eine Facebook-App zum Spaß zu machen, die ich und meine Freunde spielen können (vielleicht wird es beliebter, aber lass mich nicht ablenken).Welche "Werkzeuge" werden benötigt, um ein soziales Browserspiel zu erstellen?

Zuerst würde ich gerne sagen, dass ich fühle ich bin überdurchschnittlich bei der Programmierung im Allgemeinen (Ich habe eine PHP/MySQL-Website entwickelt, machte eine grobe 3D-Spiel-Engine in Java, einige eingebettete C-Programmierung, etc - zu geben eine Vorstellung von der Höhe der Hilfe, die ich benötige). Wie gesagt, ich kenne PHP und ich kann mit SQL-Datenbanken arbeiten. Mein Javascript ist vielleicht mittelmäßig, da ich es nicht ausgiebig benutzt habe, aber ich lerne und finde es nicht zu schwierig. Ich kenne Flash überhaupt nicht, aber es scheint der Trend zu HTML5 und Canvas zu sein.

Zu der Frage: Ich möchte mit HTML5 + Javascript, MySQL-Datenbank und PHP beginnen. Ich bin mir jedoch nicht sicher, wie ich das in ein Spiel integrieren kann. Mein Hauptanliegen ist, welches Werkzeug für die Kommunikation zwischen Client und Server zu verwenden ist. Habe ich falsch damit zu sagen, dass alle relevanten Berechnungen (zum Beispiel für Ressourcen), Server-Seite gehalten werden, wie fortgeschrittene Benutzer können Hack?

Zweitens, wie würden Sie Daten zwischen Client und Server senden (offensichtlich Beitrag und Neuladen der Seite wird nicht funktionieren)? Ich habe schon einmal Ajax benutzt, aber ich bin mir nicht sicher, ob das der richtige Weg ist.

Ich brauche keine komplizierte Antwort (obwohl ich mich nicht beklagen werde, wenn ich einen bekomme!). Ich wäre dankbar, wenn mir jemand einfach in die richtige Richtung zeigen könnte. Vielen Dank!

* Ich glaube, ich sollte hinzufügen, dass das Spiel interaktiv sein sollte, nicht textbasiert (wie einfach Entsendung hier funktionieren würde)

*** Wer Interesse an dem gleichen Problem, check this out: nodejs: Ajax vs Socket.IO, pros and cons (Der Grund, dass ich das vorher nicht fand, war, dass ich Socket-Verbindungen nicht kannte)

+0

zu breit, zu subjektiv. Sie könnten versuchen, Google zu fragen. Sobald Sie etwas angefangen haben, bitten Sie uns um Hilfe, wenn Sie nicht weiterkommen. –

+2

nehmen Sie diese Diskussion in http://chat.stackoverflow.com/ – code4life

+1

Es hängt wirklich vom Spiel ab.Ajax oder Sockets sind die gebräuchlichste Route. Die Hauptsache, um ein Spiel zu machen, ist ein Spiel zu machen. Da dies eine ziemlich breite Frage ist, könntest du es besser im [Gamedev StackExchange Chat] (http://chat.stackexchange.com/rooms/19/game-development) fragen. – thedaian

Antwort

1

auf meinem vorherigen Kommentar erweitern:

Es gibt zwei Optionen für die jetzt zwischen Client und Server in einem html5 Spiel zu kommunizieren. Welches du wählst, hängt davon ab, was für ein Spiel du machst. Für Echtzeit-Multiplayer-Kommunikation sollten Sie websockets verwenden, für etwas Turn-based, als normale AJAX ist in Ordnung (obligatorische "jQuery" hier einfügen).

Auch, ja, Sie möchten Ihre relevanten Berechnungen Serverseite halten. Verwenden Sie einfach Javascript, um Daten an den Server zu übergeben und diese Daten anzuzeigen (MVC-Framework denken, wo Javascript die Ansicht ist)

Hinweis: Wenn Sie ein Multiplayer/Echtzeit-fokussiertes Spiel machen, sollten Sie vermeiden, den aktuellen Speicherort zu speichern Spieler in MySQL, denn das wird Sie sehr verlangsamen. An diesem Punkt ist es besser, etwas anderes zu tun.

+0

Danke! Genau das, wonach ich gesucht habe (Entschuldigung dafür, dass ich es so vage gefragt habe. Vermute, ich war mir nicht sicher, was ich sagen wollte). Nehmen wir an, das Spiel ist Einzelspieler in dem Sinne, dass Sie nur Ihre eigenen Charaktere auf dem Bildschirm sehen, aber Multiplayer in dem Sinne, dass Scores/Ressourcen serverseitig gespeichert werden (und dort aus Sicherheitsgründen berechnet werden), wird AJAX in Ordnung sein ? Ich habe das Gefühl, dass ich mich im Moment an die WebSockets anlehnen sollte? Ich habe kein Problem damit, etwas Neues zu lernen. Danke nochmal – Denzil

+0

Im Nachhinein hätte ich meinen Fragetitel viel besser benennen können :) – Denzil

+1

@Denzil Wenn die Punkte/Ressourcen nicht ständig in Echtzeit aktualisiert werden müssen (aka, mehr als 1 Sekunde oder so vor der Aktualisierung) dann AJAX wird in Ordnung sein. WebSockets ist meistens, wenn Sie sofortige Updates vom Server über etwas benötigen, normalerweise für etwas wie andere Spielerpositionen oder ähnliches. – thedaian

0

Wenn Sie ein Facebook-Spiel entwickeln möchten, sind wahrscheinlich die besten Quellen die Facebook-Entwickler-Seiten, die Facebook veröffentlicht, die die Facebook-API beschreiben selbst.

http://developers.facebook.com/docs/guides/canvas/

+0

Danke, aber ich habe das schon gemacht. Ich brauche keine Hilfe mit Leinwand oder Integration mit Facebook. Meine Frage betrifft die Client-Server-Kommunikation. – Denzil

Verwandte Themen