Tok1t4N1k0 / Gaia-live

experiment with synchronous servers and relays

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Agar.io Clone

A replica of the real-time multiplayer browser game agar.io, featuring client-side prediction and lag compensation based on Valve's Source Engine

STILL A WORK IN PROGRESS!

Image

Gameplay

Move with mouse, shoot mass with left-click.

No-server demo

There is a simple browser-only demo in the NoServerDemo folder. Check it out to quickly see if you dig it. Use Google Chrome!

Build

With docker:

To build and run the server in docker:

$ make start

this builds and runs a docker image tagged agario on port 8080, and also uses the Server directory as a shared volume.

With gradle

build and run the server:

$ cd Server
$ gradle build run 

TODO

  • Fixing time-stepping on server and clients
  • Handling blob generation and synchronization across clients
  • Collision Detection (with Quad trees?)
  • Porting physics to Java on the server
  • Implementing Source strategy for client-server communication. Better explained here (in progress)
  • Replacing string data communication between server and clients with other formats/encoding. (JSON or raw binary?)
  • Better effects (added blobbiness/elasticity effects)
  • Tweaking input processing and buffering across threads
  • Optimization for CPU-heavy code
  • Creating a pre-game panel for preliminary settings and player name input
  • Splitting upon colliding into viruses (in progress)

About

experiment with synchronous servers and relays


Languages

Language:JavaScript 80.9%Language:Java 16.1%Language:HTML 2.4%Language:CSS 0.4%Language:Makefile 0.1%Language:Dockerfile 0.0%