Skip to content
dhruvkshah75Public

About

A real-time multiplayer game server in Go for state synchronisation and concurrent player communication

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GameSync

GameSync is a real-time multiplayer game server written in Go. Its purpose is to learn and demonstrate the backend engineering behind shared, low-latency game worlds: persistent connections, concurrency, authoritative state, and state synchronization.

The demo game will stay intentionally small: a browser-based 2D arena where players can join a room, move, and see one another. The server—not the client—will decide the authoritative game state.

Current stage

Stage 0 — Repository Bootstrap. This first commit deliberately contains only a Go module, a runnable entry point, and project documentation. No HTTP, WebSocket, room, or game-state architecture has been introduced yet.

Run it with:

go run .

Planned learning path

  1. HTTP server
  2. One WebSocket client
  3. Multiple clients and safe broadcasting
  4. Rooms
  5. Minimal synchronized player state
  6. Authoritative inputs and a fixed server tick

The project will grow incrementally: build a small capability, encounter the next real problem, learn the relevant Go or networking concept, then extend the system.

Documentation

Each milestone will have a short record of its goal, design choices, how to run/test it, and lessons learned. Start with Stage 0: Repository Bootstrap.

Project goals

  • Learn idiomatic Go through a practical concurrent-networking project.
  • Keep the server authoritative: clients send intentions, while the server validates and simulates the world.
  • Measure before optimizing; introduce complexity only when it solves a real problem.
  • Build toward meaningful simulated concurrent load, not elaborate gameplay.

About

A real-time multiplayer game server in Go for state synchronisation and concurrent player communication

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages