a0481ed867
Route gameCommand traffic through WebRTC unreliable DataChannel
...
Socket.IO (TCP) holds back later packets while it retransmits a lost
one, which stalls worldUpdate delivery on lossy long-distance links —
exactly the pattern game state suffers worst from. WebRTC DataChannels
in unreliable mode (ordered:false, maxRetransmits:0) drop late packets
instead of queueing them, which is what we want for high-frequency
state sync.
Adds a per-user WebRTCTransport on top of the existing Socket.IO
connection. Socket.IO stays in charge of bootstrap, signaling
(SDP/ICE exchange), and control messages — only gameCommand payloads
get routed onto the unreliable channel once it's open. If WebRTC
fails to negotiate, gameCommand transparently falls back to
Socket.IO, so the game keeps working unchanged.
A new StatsLogger writes per-session JSONL events (session_start,
webrtc_ready with negotiation time, per-second stats with transport,
RTT samples, recv/send rates, seq gaps) so we can compare real-world
runs (e.g. Germany server <-> Korea client) instead of guessing.
URL flag ?webrtc=0 forces fallback for A/B testing.
scripts/webrtc-browser-test.js spins up a headless Chromium against
a freshly-started server and asserts the unreliable channel opens
and gameCommand traffic actually rides it.
2026-05-11 00:38:18 +00:00
logsol
ce01c8888e
Makes singleton variable name of PointerLockManager lowercase
...
When we require a singleton, its instance name should be named
by lowercase, since it is not a class.
Relates to #128
2016-10-10 22:42:22 +02:00
logsol
3cb2e39a18
Makes singleton variable name of NotificationCenter lowercase
...
When we require a singleton, its instance name should be named
by lowercase, since it is not a class.
Relates to #128
2016-10-10 22:11:55 +02:00
logsol
ffc55a204a
Makes singleton object variable names of DomController first letter lowercase
...
When we require a singleton, its instance name should be named
by lowercase, since it is not a class.
Relates to #128
2016-10-10 21:50:03 +02:00
logsol
c87997c774
fixes #147 , fixes #136 , is related to but doesnt entirely complete #144
2016-08-28 22:40:25 +02:00
logsol
502cf72a7e
fixes #157
2016-08-28 13:24:27 +02:00
Jeena
a8adbcf140
fixes position state update and removes dev graphs for better fps
2015-08-02 16:06:32 +02:00
logsol
f1197b3045
added swapMeshes method to swap textures of 2 meshes
2015-05-11 11:10:30 +02:00
logsol
8e70eedbce
added setting to switch off pointer lock filter
2015-05-11 11:10:30 +02:00
logsol
fb3ac40d17
implemented rubedoll direction flip and added meshIndex (z) swapping capability. #151
2015-05-11 11:10:30 +02:00
logsol
97da7770d0
repaired debug view (offsetting)
2015-05-11 11:09:24 +02:00
Jeena
a66a327386
fixes the sending and rendering of game stats
2015-04-19 17:31:41 +02:00
Jeena
cad112419d
fixes initial level positioning
2015-04-19 16:06:23 +02:00
Jeena
aaa1db4468
hides default layers while loading level
2015-04-19 12:33:45 +02:00
Jeena
0592e2524d
added gangsta level and tried to fix on new level
2015-04-12 18:08:11 +02:00
Jeena
aff23e8de0
better handling of dangerousnes, etc. fixes #107
2015-04-02 22:49:43 +02:00
logsol
f9d97c5a47
trying a new approach to calculating damager
2015-04-02 19:35:10 +02:00
Jeena
16826b174a
fixed debug view and ragdoll start positioning
2015-03-16 01:50:41 +01:00
logsol
feca76f677
#79 added possibility to add non-colliding tile layers from tiled editor
2015-03-12 11:11:16 +01:00
logsol
5f5fec5b10
added optimizer scripts and some code style improvements
2015-03-09 04:56:28 +01:00
logsol
67507333c4
added ping histograph and made disconnect clear with page reload. fixes #104 fixes #122
2015-03-03 15:34:43 +01:00
logsol
5007ab5b02
better feedback on killing. fixes #109
2015-03-02 00:13:21 +01:00
Jeena
9f32562a8d
cleaning up after #36
2015-03-01 16:35:22 +01:00
Jeena
f4c7d9edeb
cleanup debug canvas #36
2015-03-01 15:09:14 +01:00
Jeena
8dacc83f7a
fixed #36 debug draw working
2015-03-01 14:54:56 +01:00
logsol
20a974124e
added new debug draw
2015-02-28 21:27:42 +01:00
logsol
13af9ecb9c
worked a bit on menu top bar
2015-02-28 19:57:05 +01:00
logsol
60eae208a2
Added PointerLockManagement, Fixed layer positioning, added fps chart. fixes #120 , fixes #121 , fixes #123
2015-02-27 18:44:30 +01:00
Jeena
e452399caf
added menuBar
2015-02-22 18:39:35 +01:00
Jeena
550d14fbef
fixed #110 rewrite of tab-view and better fonts
2015-02-22 17:36:06 +01:00
Jeena
b6d67a0581
fixes #98 revisit throwing
2015-02-14 19:28:52 +01:00
logsol
93680e3286
fixed movieclip speed/fps bug. fixes #35
2015-02-07 15:37:40 +01:00
logsol
dbde25f76e
Added SpriteSheet support to chuck animations
2015-01-14 17:31:38 +01:00
logsol
4f3a53ca53
fixed #91 crash after round end
2014-12-27 22:35:26 +01:00
logsol
b152053d18
fixed fullscreen swiper
2014-12-26 23:53:44 +01:00
logsol
1f8f0ef6e1
merged from master (use strict)
2014-12-22 02:00:40 +01:00
logsol
2b186be8af
use strict; fixes #83
2014-12-22 01:43:21 +01:00
logsol
58b83f7297
updated pixi to v2
2014-12-21 23:16:35 +01:00
logsol
f02230c50c
updated pixi to v2
2014-12-21 19:32:18 +01:00
logsol
1e233efbea
Added Swiper drawing
2014-12-08 19:36:14 +01:00
Jeena
6d9d02615a
added pointer locking and viewport moving
2014-12-06 20:20:49 +01:00
logsol
072e984215
fixed health bar
2014-11-30 15:19:02 +01:00
logsol
c1a756050f
added ghost layer, fixed arrow
2014-11-30 15:06:02 +01:00
logsol
81ccdaa127
cleanup
2014-11-30 13:43:22 +01:00
Jeena
85867f92af
working paralax (not for zoom)
2014-11-15 23:28:03 +01:00
Jeena
357ef181d9
centered images in image layers
2014-11-15 17:37:16 +01:00
Jeena
9c9db8ca8c
loading graphic layers works with right order
2014-11-15 17:02:27 +01:00
logsol
a70ca6d8fb
working layers - still needs parallax support
2014-08-31 17:50:55 +02:00
Jeena
222fd09f3f
non working layers
2014-08-30 16:27:05 +02:00
Jeena
57135f3acc
more layer work
2014-08-30 16:02:41 +02:00