25 ms·
How We Built r/Place (2017)
- deleted 5y ago[deleted]
- theyeenzbeanz 5y agoI participated and constantly had to fight against flags that keep severing and overriding our artwork and coordinators threatening to erase it entirely. We managed to make do, but the white only pixel at the end felt like a slap in the face after all the effort.
- wingerlang 5y ago> but the white only pixel at the end felt like a slap in the face after all the effort. I'm not invested at all in Place, but to me it seems like the whole point of the event is that things are not permanent. The inevitable time-lapses is the ACTUAL artwork, not the final state of the canvas.
- wolpoli 5y ago>I'm not invested at all in Place, but to me it seems like the whole point of the event is that things are not permanent. That's probably the reason why they made it fade away back to white in the end. For many participants through, they were motivated to spend the entire weekend on this just to ensure that their creation ended up in the final snapshot and that would feel like a slap in the face.
- blamazon 5y agoLong ago I visited a Tibetan Buddhist temple in my town in the USA and they explained to me the significance of the Sand Mandala, [1] which is an intricate image drawn with colored sand on a square board by a group. There was one in progress and it was stunning to behold, clearly so many hours put into it. Once the Sand Mandala is complete, it's ceremoniously swept into a bin and returned to nature. The idea, as I understand it, is to demonstrate how even actions that are impermanent have meaning, symbolic of our transitory lives on this planet. Or, stated another way, "maybe the real Mandala was the friends we made at the sand table." Then I pointed at a Sand Mandala that was visibly hanging on the wall and asked what's that. They explained that that Mandala was present during a visitation by the Dalai Lama to their temple so they glued the sand in place and hung it up. I was like, wait, doesn't that invalidate the premise of the Mandala? To which they just kind of shrugged and smirked and said "not really. That one is special, but it too will be destroyed someday." [1]: https://en.wikipedia.org/wiki/Sand_mandala https://en.wikipedia.org/wiki/Sand_mandala
- david422 5y agoHa. Turns out we are all human after all.
- istorical 5y agoI mean, the entire dataset should become available so you can look at any particular instance of the map, if you want, just create a snapshot of the map right before the white erasure started. Or find a high quality recording of a timelapse and screenshot your preferred moment.
- deleted 5y ago[deleted]
- marcofiset 5y agoWhy is this tagged 2021? It's an article from 2017.
- jasode 5y agoI don't know why it's "(2021)" but I noticed the HTML source does have a tag with "2021" in it. Somebody would have to do a diff between some previous Wayback Machine snapshots and the current page to try and determine what got updated. <a href="https://www.redditinc.com/blog/how-we-built-rplace" rel="bookmark" tabindex="-1"> <time class="entry-date published" datetime="2017-04-13T00:00:00-04:00">April 13, 2017</time> <time class="updated" datetime="2021-08-30T16:09:26-04:00">August 30, 2021</time> </a>
- dang 5y agoFixed above. Thanks!
- deleted 5y ago[deleted]
- deelowe 5y agoArticle is "How We Build r/Place," not "We built r/place." And, as others have commented, this is from 2017.
- netrus 5y agoThe "How" is removed automatically on HN, if I remember correctly. I never understood how that is helpful. Maybe it is to "disarm" Buzzfeed-like "How to ..." headlines, but more often than not it just creates (slightly) misleading titles.
- yreg 5y agoThe original /r/Place was created (invented?) by /u/powerlanguage who recently rose to prominence again when he created Wordle.
- s_dev 5y agoThey went from /r/Button to /r/Place -- it really felt like this was /r/Place sequel rather than another original experimental sub for reddit. Wordle would have been perfect -- every reddit account getting the little green and black squares display.
- KennyBlanken 5y agoHe didn't invent pixel wars any more than he invented Mastermind.
- deleted 5y ago[deleted]
- yreg 5y agoI added the invent word to clarify that I don't mean "this guy created it, not the folks who wrote the article in the original post". How would you phrase it? :)
- globular-toast 5y agoI remember at least one that existed years before r/place. Drawball was created in 2005 and was probably better.
- MatthiasPortzel 5y agoThe OP's post was written the engineering team behind r/place. Wardle was indeed Reddit's product manager at the time. He wrote this blog post about 2017 r/place https://www.redditinc.com/blog/place-part-two/ https://www.redditinc.com/blog/place-part-two/
- matsemann 5y agoLast time, wasn't there someone here saying it was easy to do and they could do it in a weekend, and then actually delivered? Can't find it, but perhaps someone here remember more about it?
- Liquid_Fire 5y agoI'm sure it's not too difficult to build if you don't need to scale it up to a similar number of users (especially bots). How would you test that it's actually capable of that? Even the article mentions they ran into unexpected issues despite all the load testing.
- pg_bot 5y agoGiven the right tools, you should be able to handle double the max load that they are expecting given a beefy enough server. Their architecture is a bit too complex for my taste, but given that reddit is written in python it is not surprising that this was the direction that they took. You could use tsung (http://tsung.erlang-projects.org/1/01/about/ http://tsung.erlang-projects.org/1/01/about/) to test workloads at that level. This would be a pretty straightforward project to build with erlang/elixir's gen_server abstraction.
- zild3d 5y agoit's not really a ton of code to write (around 3400 lines) https://github.com/reddit-archive/reddit-plugin-place-opensource https://github.com/reddit-archive/reddit-plugin-place-openso... the harder part is scaling the number of requests and active websockets
- Sohcahtoa82 5y agoThere are probably a lot of programs that could be built in a weekend. I imagine any competent full-stack developer could make a Twitter clone in an afternoon. The challenge is making it scale. That developed-in-an-afternoon Twitter clone probably won't be able to handle an active user count in the 4 digits, let alone the 7+ digits Twitter has now.
- hghmn 5y ago
- skilled 5y agoIt was nice to have it back, though I hope they will stick to that 5 year gap. On day 2, the streaming community at large caught up with the project and there were a lot of "wars" happening for space. If you are a small Reddit community, you don't stand a chance against 300,000 people using Tampermonkey to recreate a gigantic drawing in 10 seconds. Having said that, I also hope that the next time it does happen - Reddit developers will implement at least some protection against this kind of brigading. I wouldn't be surprised it was also the reason they decided to wipe out the whole thing in the end.
- haskaalo 5y agoDuring the first version of /r/place, there was some mechanism in place to reduce the use of bots such as a CAPTCHA and not allowing newly created accounts to place pixels. However, this year I feel like they gave up on all of that simply to gain more users.
- blamazon 5y agoNotably, Reddit is planning to IPO this year. [1] [1] https://www.redditinc.com/blog/reddit-announces-confidential-submission-of-draft-registration-statement-related-to-proposed-public-offering https://www.redditinc.com/blog/reddit-announces-confidential...
- MonkeyIsNull 5y agooh no.
- toper-centage 5y agoThat explains why they allowed new accounts to participate. There were probably hundreds of thousands of new bot accounts created over the weekend.
- yreg 5y agoAlso hundreds of thousands human accounts as well to be fair. Whether they will stick around remains to be seen.
- deleted 5y ago[deleted]
- unsupp0rted 5y agoI don't like /r/place - I spend time in several regional subreddits, and they've transferred their nationalistic identity wars to Reddit. They're constantly fighting to build and rebuild their flags. Now those regional subs are littered with one post after another of "come on, we need your help to defend our flag" nonsense. It's all pointless and divisive.
- nsilvestri 5y agoIt's a game. Games can have competition. Sometimes that's what makes them fun.
- badkitty99 5y ago
- moffkalast 5y agoOne might call it a "capture the flag"
- ASalazarMX 5y agoAnd flags are some of the few pixel arts that most people can casually coordinate for, once the intended size is apparent.
- colordrops 5y agoit's a game that overtakes many subreddits for a significant period of time.
- treesknees 5y agoIt was divisive everywhere. I saw so many posts from folks arguing why X or Y shouldn't be on the board, or shouldn't use up so much space, or how flags were too boring. I stopped playing after the first day because of all the anger around it.
- zeven7 5y agoI saw a lot of people having fun and didn't see people getting really angry. Though I'm sure there were people actually getting angry, that happens with every game. Maybe those people should relax more, but ¯\_(ツ)_/¯. I was part of a community maintaining a small logo that got attacked a few times, and we repaired it - part of the fun. I agree with the people who think a canvas full of flags is kind of boring and wish people didn't jump so quickly into nationalistic identities as a way to express themselves, but ¯\_(ツ)_/¯.
- blamazon 5y agoHighlight of /r/place this year for me was Canada narrative. Initially that community struggled to decide on cannabis leaf or maple leaf, just like 5 years ago, leading to inevitable griefing campaigns taking advantage of the internal volatility to successfully turn it into "Bananas" with a yellow flag and a banana in place of the leaf for a short time. But then the Canadians prevailed in the last hour, with Canada spelled correctly and the maple leaf and even all their provincial flags were added. At some point during the volatile Canadian flag period the Germans made a perfect maple leaf inside the German flag in about 3 minutes which was amusing. You can see the Canadian leaf was one of the most volatile map areas on this pixel volatility heatmap: https://mobile.twitter.com/Mehdi_Moussaid/status/1511253192956420097?t=zwmaz4sNO-RcpZYtWhBWWg&s=19 https://mobile.twitter.com/Mehdi_Moussaid/status/15112531929...
- kannanvijayan 5y agoI did not participate in the reddit place event, but I did witness this drama play out as I was browsing the site. The psychological response to this was also fittingly Canadian. Ultimately the chaotic symbol was dubbled the "merple lerf", and accepted in the good humour that it deserved to be. Now allow me to take 20-50 minutes to dissect what this event means to the Canadian identity, and how the chaotic aspect of the symbol may reflect deeper schisms and currents that underscore the Canadian experience. Tonight at 8:00pm on CBC Radio. 7:30pm in Newfoundland.
- 8note 5y agosounds like an afternoon for crosscountry checkup
- mirceal 5y agothe whole thing was hilarious. the memes that came out if it were also hilarious. at some point i saw a meme with a minion complaining that the Canadians are trying to take over his country’s flag.
- jjoonathan 5y agoYeah, r/place generated so many miniature dramas it was wild. The US flag drama was also an interesting lesson in coordination. Obviously it drew a lot of attack / defense, beefs, etc, but a lot of the early support was uncoordinated and also hindered bringing the artwork to the next level. The hivemind was good at local fixes but bad at global fixes -- our equivalent of the merple leaf was that the flag would always tend towards 100 stars in a grid instead of 50 stars in staggered rows. Attempts to add artwork or remove & fix stars were rejected by the hivemind trying to defend the flag. I'm embarrassed to admit that I may have put 2 or 3 reverts against what, in hindsight, was an attempt to add Iwo Jima to the lower left. In the end, what rallied the troops was a retreat. https://www.reddit.com/r/place/comments/tvhtgv/american_flag_discord_100_person_call_moment_of/ https://www.reddit.com/r/place/comments/tvhtgv/american_flag... After seeing the US flag disappear, supporters flocked to the subreddit and the discord. This tipped the balance away from self-sabotaging hivemind and towards coordination. There was a dynamic of "minimum viable change," where the hivemind would stop fighting artwork only once it could recognize it, so the key was to organize enough people on discord to push out an identifiable chunk (say, the space shuttle) in a single wave. I'm sure this dynamic played out in hundreds of communities, but in the end good art and organization won: https://www.reddit.com/r/AmericanFlaginPlace/comments/twg11p/gg_guys_we_won/ https://www.reddit.com/r/AmericanFlaginPlace/comments/twg11p... I'd love to hear the French story. They rotated through a few designs and look heavily contested on the heatmap: https://www.reddit.com/r/place/comments/twryzd/frequency_of_color_change_on_canvas/ https://www.reddit.com/r/place/comments/twryzd/frequency_of_...
- treesknees 5y agoI didn't care for /r/place this time around. It felt like a lazy and uninspired move by Reddit to just copy the exact same idea from 5 years ago. As pointless as their other events were, like /r/the_button, at least they were unique. Not only that, it spoiled the treasured memory and experience of 2017. This year was so full of hate and fighting over flags, stream raids, bot scripts floating around, none of it felt genuine except maybe people keeping up with the Ukraine flag on day 1. In 2017 it closed with me thinking Reddittors came together to make some cool art, this year it closed with me wondering whether any humans were involved by the end.
- KennyBlanken 5y agoNot to mention the reddit admin who was constantly overwriting squares with no cooldown. They were doing it so much that it was clear they weren't just abusing their admin power but using a bot as well.
- colordrops 5y agowhy was an admin overwriting squares?
- snarkerson 5y agoSome images were not permitted. Like the American flag linked above. They rebuilt it but the original was wiped out by an admin user.
- nemothekid 5y ago>original was wiped out by an admin user This isn't true at all. As I was following it, the original American flag was just being griefed.
- zenexer 5y agoThere were portions of the canvas wiped out by admins, but the American flag wasn’t among them. That was a coordinated griefing effort.
- steelframe 5y agoI wondered WTF was happening on my alma mater's subreddit when suddenly the whole front page became "we have to defend/win back our r/place space!!1!" I checked a few other college subreddits, and yup, this has become a spam scourge.
- blamazon 5y agoOh no. Increased engagement in your online community for a whole 4 days. How did you survive? Please share tips and tricks.
- bombcar 5y agoThe botting makes it more boring, in my opinion, it's just a user count system at that point. It would be more interesting (in my opinion) if somehow you could get your OWN pixel by being the one who claims it, something like if you change a pixel, others can't change it for 5+x minutes where X increases each time you "defend" it or something.
- deleted 5y ago[deleted]
- thesuitonym 5y agoDoesn't really solve botting though. In fact, this might make it even worse, if you ``own'' a pixel longer than the cooldown to set a pixel, once you get a pixel, you set up a bot to refresh it every 5 minutes. The map becomes mostly static very quickly, and if no art got in quickly, I mean static in both senses of the term. If the ownership is shorter than the cooldown, then the botting game just becomes clicking every pixel until you own one, then finding someone (really a bot on a different account) to take over for you.
- willis936 5y agoA user count system sounds pretty in line with the spirit of r/place. What isn't in spirit is silent censorship. The entire premise of r/place is illegitimate.
- mirceal 5y agothis sounds like a good system design question. how would you build r/place?
- cuteboy19 5y agoI would probably be the last person to suggest this, but why not put it on the blockchain? It would be a pointless display of conspicuous consumption, almost as bad as the monkey NFTs!
- mirceal 5y agoyou can’t get the required tps for this. observability would also be bad between blocks and you would also have states where you could end up with different pixels based on the block that won. so nope. wouldn’t work with blockchain
- sushid 5y agoAre you talking about a specific blockchain or categorically condemning all L1s? Solana could definitely handle the level of tps for something like this. A cache could handle the observability issues and you can just keep the old pixel until the transaction goes through.
- zhte415 5y agoWas it a honeytrap for spotting bots and alts I wondered? Having carefully placed a pixel childishly contributing to the humour of a banner depicting a favourite football club, I noted it was replaced by a very serious user within seconds named 'ProBiotic587' or something similar. I was not alone in my contributions, as others were rewriting the very serious banner in a manner similar to scratching out parts of a 'Please mind your head sign' to 'Fleas in your head'. Seeing that sign on the train as a 10 year old was a reminder both that were I a few years younger there may indeed be fleas in my head and headlice shampoo was no fun, and that a small act of rebellion by someone anonymous makes a monotonous train ride pass with a little humour. Just as the fleas in your head sign was restored every few months on seat pairings, so were user contributions of 'art' to this football club's banner. Both by very serious anonymous people. While I never knew the names of train maintenance staff, Reddit made the names of these people known, but made them no less anonymous. A bot army of 3-8 letter word + 3-8 letter word + 2-4 digits at the end. Fine, some people take their football club vary seriously, and would likely not be much fun in the terraces. To each their own. But it wasn't just a serious fan of a football club. There were numerous examples of a voice shouting disproportionately and artificially louder over, well, over a lot of pixels. Ego? Other? And that was entirely disengaging. Reddit is, by subreddit definition, a place of sharing common interest, herding, or denying others' contribution to common interest through such herding. But Place was not just a place for herding, of tuning into and manipulating a group for one's own aims, it was an affirmation of the dominance of bots, alts as magnifiers of this, in discussion and voting in all but the most resilient subreddits, or subreddits of the most inert subject matter.
- winrid 5y agoWhen I broke my ankle I actually built a "live" version of r/Place for Android without ever hearing about r/Place. People just called it a "place clone" :p It supports much larger images though! You can find it on Android called "Pixmap". How I built it: Server: Client side websocket load balancing against NodeJS servers. Client connection location stored in DB. Separate service to route events between the client facing servers. Separate service which pulls change events from the DB and applies to images and also keeps track of the most popular areas of rooms, so the client can auto zoom you to those areas when you join. Changing pixels involves two things. 1. Broadcasting the immediate event, and 2. Processing the image. When someone joins a room, they just fetch the image. The image processor is in Node too. Client architecture: App is in pure Java. There are two rendering engines that we switch between based on zoom level. When you zoom out far, we mostly use the GPU, and individual pixel changes update a bitmap which is then pushed to the GPU. When you zoom in, it mostly uses the CPU and just a canvas as it feels more responsive this way. Also allows us to do things like add annotations to show who is drawing. Getting the transition seemless is tricky. There's also a whole matchmaking system, which was a fun thing to build. Anyway my ankle healed and I switched to other projects... :)
- lovehashbrowns 5y agoThis is exactly the kind of content that I really love. A lot of people are decrying the streamers but I feel like they added a lot more fun to the project. There was a giant 1v8 that "France" fought for in the bottom left corner and they ended up winning and keeping their flag. The bronies got attacked consistently over the course of 3+ days and ended up with more space than they started with. It's fun reading over the different arguments. Flag haters, bot haters, territorial arguments, etc. This is the best kind of art! It's also kinda funny watching people complain about bots when the first iteration had just as much botting. I wouldn't be surprised if the exact same scripts were used now that existed then. I think the only big difference this time around was streamers using overlays to 50K+ viewers.
- ssn 5y agoVery interesting post. Where can we find posts like these — e.g. architectural and technological analysis and decisions in real word contexts?
- jrockway 5y agoWhat did the bot situation look like this year? I know that the stock-related areas and Osu! were accused of botting (and faded to white very quickly when Place ended last night, sort of confirming the accusations), but it seemed like coordination through popular streamers seemed to cause the most aggressive edits to succeed. I initially imagined that communities that cared to bot would have some sort of coordination server, and users would add compute power to that from their local machines. The local thing that each user ran would get a pixel to change from the coordination server, then use their auth credentials and IP address to make the edit. Reading some comments below, though, it seems like there was no IP rate limiting and no requirement to use an active account. So instead of needing a coordination server, I'm guessing that interested users just made a lot of accounts and cycled through them locally to make the desired edits. Does anyone know for sure? (The main reason I didn't bot this was because I assumed having a pool of residential IPs and high-karma accounts would be mandatory. I guess I was wrong, though!) Some other comments below imply that this was an intentional decision to boost user numbers before an investment round / IPO. I hope the investors that are looking to get in on that get access to the database to determine whether or not the numbers are legitimate. I'm surprised investors are OK with spam accounts being counted as legitimate users. They aren't going to buy anything that's advertised or invite their friends ;)
- Macha 5y agoAbsolutely rampant. I think most communities that were still on the canvas day 2 and on either had a huge inbuilt following or resorted to bots. I think Osu, the superstonk people and France probably were botting, but unless those bots were incredibly poorly written, I don't think were the cause of the sudden erasure - the bot code I saw shared most widely was definitely looking up which colour to pick based on the rendered colour code, and one discord I was in that was using it was definitely alerted to the white starting because the bots started erroring out for being unable to find the desired colour. I think it's more likely hostile bots were the cause of the swift erasure. If they're just picking a random or first colour to try wipe it out, they'd still function and contribute to swift deletion
- jrockway 5y ago
- fattless 5y agoMy favorite little spot was the r/foxhole little spot For those who are unfamiliar, foxhole is a grand scale mmo war game where two sides fight over a giant map over the course of a few weeks. There’s extensive player led logistics lines, massive front lines, and every battle, base, and item are all made by players. It’s a good time The foxhole community built a little replica of the game map, and over the course of place fought over it much like the actual game. If you check the Timelapse you can see both sides trying to push into the other territories. And it found itself caught in a bunch of big events, raids, voids, ect. But the community rebuilt and resumed fighting incredibly quick, which seems pretty in character lol. Leave it to the foxhole players to fight over even faker land
- softcactus 5y agoEveryone was calling it "Shard 3" which gave me a good laugh
- willis936 5y agoThere is plenty of talk of bots, but no one mentioning that reddit employees were caught painting whatever they feel like. Admins defended it as "a tool to keep users safe". r/place being special is an illusion. It's worse than nothing because it actually tricks people into thinking the image is somehow representative of users voting on pixels. It's all just awful. https://reddit.com/r/place/comments/tv3hin/a_reddit_mod_is_cheating_and_the_mods_are/ https://reddit.com/r/place/comments/tv3hin/a_reddit_mod_is_c... https://reddit.com/r/place/comments/tv2lb6/mod_caught_cheating_previous_thread_locked_and/ https://reddit.com/r/place/comments/tv2lb6/mod_caught_cheati...
- jspash 5y ago"Bad news blurs" I love a good pun! Even if it makes me feel old.