I had just wrapped up a project and wanted to do something small/fun before I started the next one. The Flash runtime is being reimplemented in Rust[1], and I’ve enjoyed re-enabling the Flash on my site[2]. That had me thinking about my Flash projects again. I decided to try to revisit an unsolved mystery from one of my Flash projects.
Back in 2010, I wrote an article about procedurally generating wilderness maps using Voronoi polygons[3], and I made a demo in Flash. The authors of Realm of the Mad God[4] used it to generate thirteen maps[5] that shipped with the game. The authors don’t remember the map seeds they put into the map generator. These maps were used from 2010 to 2024.
I’ve been curious what the map seeds were.
I told myself at the time that it would be a pain to recover the seeds. There are 232 = 4 billion map seeds. It took 5 seconds to generate each map. That’d take 20 billion seconds, or around 630 years, to generate all the maps, each with 222 = 4 million tiles.
But with some optimizations and shortcuts … I found a match!

After some more work, I found more matches:
| world | rotmg from realmeye[6] | seed | mapgen2 from my page[7] |
|---|---|---|---|
| 1 | ![]() |
||
| 2 | ![]() |
perlin 20927-1 | ![]() |
| 3 | ![]() |
perlin 84542-1 | ![]() |
| 4 | ![]() |
||
| 5 | ![]() |
perlin 30997-1 | ![]() |
| 6 | ![]() |
||
| 7 | ![]() |
perlin 65166-1 | ![]() |
| 8 | ![]() |
perlin 7785-1 | ![]() |
| 9 | ![]() |
perlin 43671-1 | ![]() |
| 10 | ![]() |
||
| 11 | ![]() |
perlin 59103-1 | ![]() |
| 12 | ![]() |
blob, many | ![]() |
| 13 | ![]() |
radial, many | ![]() |
They don’t match exactly, but they are close. I wrote up the process and results. I had allocated 4 hours for this project but ended up spending 9.





















