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
Log in or sign up for Devpost to join the conversation.