The main draw of Node.js for a lot of people is its scalability. It's able to create and manage a lot of simultaneous users. But the vast majority of projects using it are list apps, social networks, and similar account-based implementations. I wanted to push the multitasking of node, the networking of websockets, and the pure processing power of the V8 Javascript engine to its limits. That's where the Life.JS comes in.

I recreated the most famous cellular automaton, Conway's Game of Life, on a canvas in HTML5. With the help of JQuery, I can efficiently respond to the users inputs with astonishingly high speed. Any action a user takes is immediately mirrored on every other users grid, for a collaborative, high-speed creative game. The front-end is adapted to work perfectly on both full-size desktop and laptop monitors down to touchscreens on smartphones. The back-end is heavily optimized to calculate 4096 cells at at least 30 frames (generations) per second. All the information is delivered efficiently over a persistent websocket connection to over 30 tested users without any slowdown. Chances are pretty good that it can scale to even more.

Share this project: