We set out to create multiplayer snake! ...in a browser.

  • Inspired by Agar.io, we wanted to create a simple multiplayer game which would scale well, and allow players from anywhere to play.

  • From a technical perspective, we wanted to get our hands dirty with Node.js and HTML5 Canvas. Our team has a diverse spread of talent, but little to no experience with Node.js or even Javascript! So it was a really good learning experience for our entire team.

The Challenges

  • We wanted to learn javascript and node.js so we refused to use a framework, such as phaser. We designed and wrote everything in raw vanilla javascript and node.js with the exception of the express, and socket.io node modules.

  • The real struggle came with sending, receiving, and synchronizing data between any number of clients as well as the server. All this has to happen several times a second to maintain a usable performance, without overloading our server and causing latency as more and more users join.

The Fun, and the Future.

  • Snake is wildly simple game, but throughout development we came up with so many fun ideas and cool things we could put into this game. Multiplayer snake opens up a lot of doors.

Some of the ideas we had:

  • Having different skins for the snakes (user customizable)
  • Being able to kill other snakes, when they die, their food is available.
  • Snakes made of emojies or images, when you eat another snake, the emojies get absorbed into your snake
  • Infinite world
  • Speed boosts for the snakes
  • Snake decay, the rich get taxed
Share this project: