2012-03-28 8 views
0

Microphysics.js ist eine Javascript-Bibliothek, die eine Welt mit 3D-Kugeln und AABB-Boxen erstellt, die Beschleunigung und Kollisionen ermöglicht. Ist es möglich und praktisch, eine auf einem node.js-Server gehostete Welt zwischen Clients zu synchronisieren, die sockets.io verwenden? Was sind allgemeine Richtlinien für die Programmierung, Optimierung für niedrige Latenzzeiten?Wie synchronisiert man microphysics.js zwischen Clients?

Die einfachste Implementierung, die ich mir vorstellen kann, ist: senden Sie regelmäßig Informationen, die Position, Geschwindigkeit und Beschleunigung jedes Objekts in der Nähe des Clients enthalten, und passen Sie sie dann für die Ankunftszeit der Nachricht an.

Antwort

3

Ja im Grunde müssen Sie Live-Streaming-Daten zwischen Clients mit Positionen Richtungen und alles, was "bewegt". Beobachten Sie jedes Objekt und senden Sie jede Änderung an den anderen Benutzer, was Sie verwenden sollten.

Ich weiß nicht, wie Ihnen das helfen könnte, aber viel Glück beim Programmieren, weil Sie etwas zu tun haben.

+0

Aber kann ich es programmieren, um Position + Geschwindigkeit + Beschleunigungsinfo jede Sekunde für jeden zu senden, oder sollte ich mich sorgen um das Optimieren für Bereiche und das Senden der minimalen Daten möglich? – MaiaVictor

+1

Wenn Sie viele Clients haben, sollten Sie einfach das Ereignis senden, das ein verschobenes Objekt ausgelöst hat, und es auf den anderen Clients auslösen. Das Senden jeder Information (Position, Geschwindigkeit, Beschleunigung) ist eine Art Killer, wie das Rendern eines 3D-Films auf jedem Client ohne Codecs. – khael