Skip to content
This repository has been archived by the owner on Sep 9, 2024. It is now read-only.
/ zulis-backend Public archive

The codebase behind Zulis.io, an Agar.io-inspired webgame.

Notifications You must be signed in to change notification settings

rkulyassa/zulis-backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Zulis.io Backend

The goal here was to build a game similar to Agar.io. Unfortunately, some of the other devs left the project and it never came to fruition. Despite that, what's seen here is my personal contribution to what would've been a cool game, including, but not limited to, the following:

  • Web server to manage game servers and worlds (src/index.ts)
  • Websocket server to manage user connections and game state relay (src/core/GameServer.ts)
  • Custom physics system with classes to handle all game logic, entities, etc. (everything else in src/core). An amalgamation of data structures are manipulated every tick to keep track of the game state
  • Geometry & collision system (src/primitives/geometry)
  • Quadtree algorithm for space partitioning (src/primitives/Quadtree.ts) Had a lot of fun with this one!
  • ArrayBuffer/packet constructor package (src/primitives/SmartBuffer) Credit to Fohz67

A live demo can't be provided as our frontend (Angular + PixiJS) will likely remain private. I'm not really in control of that since I didn't build it. With that being said, the protocol is laid out in src/models/Protocol.model.ts and it's usage is documented well throughout with TSDoc, so it wouldn't be very difficult for someone to build a new frontend for it if they stumbled across this.

I'll lay this to rest some screen recordings from the development stages in no particular order:

Solotrick.mov
Quadtree.mp4
Feed.Viruses.mov

About

The codebase behind Zulis.io, an Agar.io-inspired webgame.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published