r/Place 2022: My Accidental Foray into Pixel Art
Following April Fool’s Day (specifically, on April 3rd), after a lecture on Monte Carlo tree search, the cool weather and the soothing sound of rain lulled me into a slumber. By 8 PM, life had returned to its usual rhythm, and as I browsed Discord, I discovered something intriguing was afoot: r/place 2022.
r/place
r/place is an irregular social experiment hosted by Reddit, first launched on April Fool’s Day in 2017. Historically, Reddit has never replicated any of its April Fool’s events (as my friend, Bùi, pointed out), making this a unique exception. A conspiracy theory, also from Bùi, suggests that the event was a strategic move to rapidly boost user engagement, potentially to impress investors prior to an IPO or to capitalize on NFTs post-event.
The rules of engagement are straightforward: each Reddit account can place one pixel on a shared canvas every five minutes (twenty minutes for accounts without verified emails). Initially, the canvas was 1000 x 1000 pixels, but it expanded twice during the event, ultimately reaching 2000 x 2000. In 2017, participation was restricted to accounts created before April 1st. However, this limitation was lifted in 2022, lending credence to the user-boosting theory. This change, unfortunately, led to an influx of bots, transforming the community-driven event into a battleground for those with VPS access (more on this later).
As this event primarily unfolded in the GMT timezone, all times mentioned in this post are in Vietnam’s timezone, UTM+7.
r/place 2017
From what I gather, the r/vietnam community, in collaboration with r/placehearts, managed to create a heart-shaped Vietnamese flag in the top-left corner of the 2017 canvas. Back then, the Reddit community was smaller, and the pre-April 1st account rule limited the participation of newer users.
![]() |
|---|
| vietnam peace of heart in r/place 2017 |
A Summary Before My Entry into the Fray
By the time @84436 and I joined the event around 10 PM on April 3rd, it had already been underway for over a day. According to updates from r/placevietnam, a Vietnamese heart emblem had been established prior to the first canvas expansion.
![]() |
|---|
| vietnam peace of heart in 2022 |
Subsequently, a series of expansion campaigns were launched, aiming to secure a larger area for the Vietnamese flag in the first quadrant of the canvas.
The First Flag
![]() |
|---|
| Location of the first VN flag |
Why this particular location? The Moroccan community had graciously ceded a portion of their territory to us through diplomatic efforts. If you examine the time-lapse, you’ll notice that this area was initially fully occupied, and the Vietnamese flag was constructed by overlaying existing pixels. From 0:04 in the time-lapse, our flag began to take shape and expand.
Our Moroccan allies progressively relinquished their pixels until the Vietnamese flag surpassed their own in size.
![]() |
|---|
| VN flag was bigger than Marocco flag and was preparing to swallow the brother of a star on a red background |
Later, the Moroccan side proposed a collaborative flag design to symbolize our मित्रता. r/placevietnam agreed, but an unforeseen, aggressive faction launched raids, not only on the Moroccan flag but also on neighboring territories, including the BBL canvas. Thus, from nothing, we found ourselves with a rapidly expanding flag.
Raid: In the context of this event, “raid” refers to the coordinated overwriting of an existing artwork.
![]() |
|---|
| Proposed joint flag by Morocco |
![]() |
|---|
| VN flag after the raid |
The decision to engulf the Moroccan flag sparked considerable controversy.
- Heated discussions: https://www.reddit.com/r/VietNam/comments/tv3odi/ok_this_is_the_last_expandation_of_vietnam_flag/
- Communist comrades: https://www.reddit.com/r/CommunismMemes/comments/tv9wk1/guys_can_you_support_the_only_aes_country/
- Morocco’s (public) revenge plan: https://www.reddit.com/r/Morocco/comments/tv4u05/everyone_go_to_vietnam_now_we_need_to_replace/
Following these events, we negotiated with the Moroccan community and assisted them in rebuilding their flag. r/placevietnam officially disavowed any involvement in the raids on other areas, including the initial encroachment on the Moroccan flag, reiterating our initial alliance. Naturally, there are always divergent elements within any group, and unfortunately, in this case, the uncontrolled actions of a few created significant repercussions.
The Streamer Raid
Subsequently, the streamer BBL launched a raid on our flag, eventually claiming the entire frame. We negotiated and secured the upper portion of the frame, below the area occupied by a group depicted as bears.
We had settled into a relatively secure position and were creating heart patterns to maintain peace with our allies. All agreements were in place. And this is where I joined the r/placevietnam effort.
![]() |
|---|
| Stable VN flag position after being raided |
A Moment of Levity
Returning to the main narrative, after waking up from my earlier lecture-induced nap, I was discussing some philosophical matters with @84436, including some shitposts on r/placevietnam. We then delved into researching the tactics of the most formidable community in the event, r/Osu – a community renowned for clicking circles rhythmically to music and boasting the strongest defense.
![]() |
|---|
| Welcome message from the Osu! community on their Discord |
They were employing an overlay technique to preserve pixel placements and facilitate coordination among community members and allies.
Overlay
In the context of r/place, an overlay is a script that runs in the background, serving to maintain the integrity of pixel art by coordinating placements among allies and the wider community.
At that moment, I realized the necessity of a tool to solidify the flag’s position and enable coordinated efforts among different groups. Together with @84436 (mostly @84436), we adapted an overlay script to anchor the Vietnamese flag at its current coordinates.
To achieve effective coordination, we required a pixel artist to create a design precisely tailored to the original canvas dimensions (2000 x 2000). Figma emerged as the ideal tool for this task. Once the blueprint was finalized, we proceeded to pad the image to conform to the overlay’s structure.
![]() |
|---|
| Artist’s output |
In essence, padding involved expanding each pixel in the RGBA array into a 3x3 grid, with the original pixel positioned at the center.
output[3*i + 1][3*j + 1] = data[i][j]
This allowed us to superimpose the entire padded image onto the canvas, enabling participants to paint over it according to the artist’s instructions.
![]() |
|---|
| How overlay works |
![]() |
|---|
| Overlay in action during the conflict with the Turks |
Within an hour of its public release, our overlay code, developed with @84436, had spread beyond the confines of the r/placevietnam Discord, reaching communities like J2Team and Voz.vn.
A significant incident occurred during the event. In short, we were engaged in a protracted struggle with Turkish users for control of the flag’s position. Subsequently, the aforementioned bear encroached from above, displacing both parties.
At 3 AM, the canvas was doubled in size once more. This is when I went to sleep.
The Following Morning, 9 AM
![]() |
|---|
| State of the flag from 9 AM to 5 PM |
This was the consequence of a lack of uniformity in the design used by different groups. A contingent had opted for a star with an outline, resulting in a bloated appearance. It’s important to note that the star on the national flag does not have an outline. With the assistance of @japao, who set up the bots, a comprehensive plan of action was devised at 6:45 AM that day.
Both human users and bots would utilize the new design to rectify the flag. This design was personally crafted by me (hence the server-wide moniker of “pixel artist”), incorporating elements from previous iterations created before 3 AM, along with the addition of the Hoang Sa, Truong Sa, and Phu Quoc archipelagos (thanks to @ornithobiography and @ncgn).
![]() |
|---|
| My design |
Utilizing this unified design, all bots and users within the server converged on a single objective: to “slim down” the flag.
![]() |
|---|
| Temporary plan from 6 PM by the Commander |
At 6:30 PM, @japao rallied all bots and users on the server to execute a synchronized placement, successfully transforming the flag into its final iteration. The definitive version of the event can be accessed here.
Conclusion
![]() |
|---|
| Credit from the community |
![]() |
|---|
| My new title |
This was a thoroughly enjoyable and fascinating event. It began as a casual affair among ordinary users but quickly evolved into a battleground for IT enthusiasts, replete with bots, servers, and hosting. Many novices learned to configure a Heroku dyno or set up a newly acquired hosting account within a mere 12 hours. Ultimately, I extend my sincere gratitude to the r/placevietnam community for recognizing my contributions, to @84436 for collaborating with me throughout those two days and one night, and to @japao for the donated card.
Following the event, I transitioned from a pixel artist back to a beleaguered individual facing a mountain of deadlines.
All overlay scripts are available at: overlay.
Toan Doan
![vietnam peace of heart in r/place [2017]](/assets/images/Q6OBL7I.png)














