Back to technical archive

Archive case / 006

NeonStrike

A real-time browser arena shooter with an authoritative Socket.IO loop, prediction and reconciliation, plus optional on-chain match settlement.

Browser multiplayer game

JavaScript / Node.js / Socket.IO / Solidity

Video evidence / Real-time simulation stays off-chain; the optional chain layer handles escrow and signed match outcomes after play.

Engineering question

How can a competitive browser shooter offer optional verifiable settlement without putting real-time gameplay latency on-chain?

Focus

  • 66 TPS loop
  • Prediction
  • Result verification

The technical question

What was being tested

How can a competitive browser shooter offer optional verifiable settlement without putting real-time gameplay latency on-chain?

Implementation notes

What I built

  1. 01

    Authoritative simulation

    A Node.js and Socket.IO server owns state, collision, scoring, bots, death, and respawn in a roughly 66 TPS loop.

  2. 02

    Client correction

    The client predicts local movement and reconciles with sequenced server updates so authority does not make the game feel unresponsive.

  3. 03

    Additive settlement

    Smart contracts handle escrow and signed match outcomes only after play, leaving moment-to-moment simulation off-chain.

System map

The working path

A compact model of the relationships this experiment was designed to make explicit.

  1. 01

    Browser input

  2. 02

    Socket.IO server loop

  3. 03

    Signed result

  4. 04

    Optional contract settlement

Evidence and limits

What this proves

Real-time simulation stays off-chain; the optional chain layer handles escrow and signed match outcomes after play.

The Web3 layer is an optional prototype feature. Match discovery, key management, and several cross-boundary hardening steps remain future work.

Next iteration

Add replay logs for audits, formal match indexing, end-to-end Socket.IO-to-contract tests, and hardened signer-key management.

Inspect public repository