All Projects → stavro → snakes

stavro / snakes

Licence: other
🐍 Multiplayer "Snake" game using Ruby, MongoDB, WebSockets, and HTML canvas.

Programming Languages

ruby
36898 projects - #4 most used programming language
HTML
75241 projects
javascript
184084 projects - #8 most used programming language
CSS
56736 projects
shell
77523 projects
coffeescript
4710 projects

Snakes

Built as a learning experiment. Multiplayer "Snake" game using Ruby, WebSockets, and HTML canvas.

image

Application architecture

The application is divided into two parts, a (1) game server, and a (2) web server.

Data (user names, scores, images, etc) is persisted through MongoDB, with a single user model shared between both the game server and the web server.

Game Server

Snakes.io game server is powered by Reel, a "fast, non-blocking evented web server" built atop Celluloid, a concurrent object framework. Celluloid is probably most well-known for previously powering Sidekiq, an amazing background job processor for Ruby.

The game server runs on JRuby, per Celluloid recommendations.

Web Server

A simple Rails 4 application responsible for serving the website, authentication with Facebook, and asset compilation & management.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].