Live data from Hacker News

How We Built r/Place

redditblog.com

91–100 of 255 posts

Re: How We Built r/Place

#91

Thank you for the fascinating writeup! How long did the whole thing take to put together?

> seems to be pretty simple, I feel like it shouldn't take more than a day to code

From a reddit "expert", so I guess that answers that ;)

Re: How We Built r/Place

#92
post #80

Why use Redis and multiple machines instead of keeping it in RAM on a single machine? I'm not claiming the Reddit people did anything wrong; they have a lot more experience than me here obviously. I'm just trying to figure out why they couldn't do something simpler. 333 updates/sec to a 500kB packed array, coupled with cooldown logic, should have a negligible performance cost and can easily be done on a single thread…

> Why use Redis and multiple machines instead of keeping it in RAM on a single machine?

Because machines go down. If you don't expect your hardware to fail at the most inopportune time, you'll be screwed when (not if) it happens.

Re: How We Built r/Place

#93

The front-end UX for scrolling that bitmap was quite frankly horribly badly designed.

What was wrong with it?

It gets weird when the cursor leaves the box while dragging. Now, when you go back inside, you're still in drag mode since the box did not get the "mouse up" event and you end up selecting and dragging random text.

Re: How We Built r/Place

#94

The front-end UX for scrolling that bitmap was quite frankly horribly badly designed.

What was wrong with it?

Did you try to use it?

It's still there: https://www.reddit.com/r/place/

They have may have fixed one or two scrolling issues since, but the main issue is that if you

a) press LMB

b) move the mouse, and move outside of the pixelized area

c) release LMB

.. it does weird things.

Re: How We Built r/Place

#97
post #93

Earlier quoted context omitted.

What was wrong with it?

It gets weird when the cursor leaves the box while dragging. Now, when you go back inside, you're still in drag mode since the box did not get the "mouse up" event and you end up selecting and dragging random text.

In the end this does not seem to have mattered. Reddit's hardcore "contributors" are the kind of people who enjoy a challenge, even when it's stupid. I think it even turned into some kind of pride for some of them, being able to "master" an idiotically programmed system.

Myself, I just get so frustrated about the idiocy.

Re: How We Built r/Place

#99
This is awesome but man, reading the canvas portion was a bit distressing. I wonder why they didn't use a game engine to do this? All the work they did has been implemented already in several JS game engines, such as the one I help maintain (it's free and OSS), https://excaliburjs.com. We support all the features they needed including mobile & touch support. They could have also used Phaser (http://phaser.io) too I bet... that has WebGL support for even faster rendering on supported devices.

Re: How We Built r/Place

#100
post #80

Why use Redis and multiple machines instead of keeping it in RAM on a single machine? I'm not claiming the Reddit people did anything wrong; they have a lot more experience than me here obviously. I'm just trying to figure out why they couldn't do something simpler. 333 updates/sec to a 500kB packed array, coupled with cooldown logic, should have a negligible performance cost and can easily be done on a single thread…

> keeping it in RAM on a single machine

> 500kB packed array, coupled with cooldown logic, should have a negligible performance cost and can easily be done on a single thread. That thread could interact via atomic channels with the CDN

That's not simpler.

We used tools that we're already using heavily in production and are comfortable with.

Post reply on HN