Hacker News new | ask | show | jobs
by popey456963 3352 days ago
I'd honestly disagree. Start small, don't expect to build something that works for 100k users and you'll be fine!

Take the bare bones of this project:

- Canvas.

- Websockets.

That's literally it. You'll need to know how to draw on a canvas, and how to send and receive WebSocket information. You can quite happily keep the current state of the canvas in an in-memory array, perhaps saving it to a file every few minutes in case the server crashes. Then, perhaps, when that's done you can swap our your in-memory array for a REDIS bitfield, improve the web sockets to no longer use JSON, but instead binary? Both of which should be only a few tens of lines of changes, but after that you'll be able to support tens of thousands of simultaneous users with hundreds, if not thousands of changes per second.

The thing with this project that's complex is the number of users required to use this at once, lessen the requirements a little and you'll come up with a simple project.