A fantastic multiplayer action browser game http://chuck-game.tumblr.com
Find a file
Jeena 71e4b4e847 Replace cheat-detection teleport with server reconciliation
The old PUNKBUSTER check compared client-reported position to server
position and snapped the player back when latency made them diverge,
which felt like getting teleported under any real network conditions.

Replaces that with proper client-side prediction + reconciliation:
client tags each input with a sequence number and keeps an input
buffer; server tracks the last processed sequence and reports its
authoritative position via a per-user inputAck alongside each
worldUpdate. The client only corrects when the actual disagreement
exceeds what the unacked input time can explain — so steady-state
movement runs purely on local physics, and only genuine unexpected
events (collisions, being hit) trigger a smooth blend toward the
server state.

Includes adaptive threshold scaling so high-latency sessions don't
false-positive corrections during normal running.
2026-05-11 00:37:42 +00:00
app Replace cheat-detection teleport with server reconciliation 2026-05-11 00:37:42 +00:00
config implemented rubedoll level item (not after dying yet) 2015-05-11 11:10:30 +02:00
lab Makes singleton variable name of NotificationCenter lowercase 2016-10-10 22:11:55 +02:00
scripts adds core analyzer script which generates the core/channel/client method overview of a class 2016-08-29 00:33:59 +02:00
snippets added semicolon because of jslint 2015-03-15 13:39:51 +01:00
static 2025 update! 2025-07-15 20:05:12 +02:00
.floo changed modes 2014-01-12 16:59:16 +01:00
.gitignore Replace cheat-detection teleport with server reconciliation 2026-05-11 00:37:42 +00:00
channel.js implemented rubedoll level item (not after dying yet) 2015-05-11 11:10:30 +02:00
client.js 2025 update! 2025-07-15 20:05:12 +02:00
package-lock.json 2025 update! 2025-07-15 20:05:12 +02:00
package.json 2025 update! 2025-07-15 20:05:12 +02:00
README.md adds video image 2015-06-28 17:06:52 +02:00
server.js adds warning too many recordings. fixes #132 2015-06-22 11:58:13 +02:00

chuck.js

Physical JavaScript Action Browser Multiplayer Game - it will be awesome!

Follow the development at http://chuck-game.tumblr.com/

How to run:

  • git clone https://github.com/logsol/chuck.js.git
  • cd chuck.js
  • npm install
  • node server.js [port] [log level]

Open in browser http://localhost:1234

This game is licensed under the GPLv3 licence http://www.gnu.org/licenses/gpl-3.0.html