π McMeddons World Explorer 2.0 (wip) (Patreon)
Content
Showcasing the new World explorer, a 3D Map viewer for all of my worlds.
[Jump right in] or checkout the PMC project pages which have the worlds explorer links.
Following now: A showcase of all the new features and details :)
π Hiiii im back~
probably my longest time Ive been away, which mainly was due to: heatwaves, sickness, life circumstances, some exhaustion probably, recovery, gaming, and sideprojects like this one! And just time passing by like sand through the hands.. holyy..
Anyway so ive been putting together this new version of the world/terrain viewer,
with new styles, design, features, and a giant leap in technical complexity, detail and performance:
Its an tile streaming quadtree heightmap displayer with LOD's. So its not true 1:1, as overhangs, insides, undersides are just not possible to display this way. But its like basically a 1:1 closeup surface block display and its the essential foundation i needed to manage and display all these worlds for you. And ever since, I was able to compute around 5-600GB of world data, down to around 18Gb+ of data for all 260 worlds.
Features!!
00: Performance
loading: 1-3seconds now - VS - 30-60s build time before
fps: target 60-90, capped at 90 to not waste GPU resources, toggles down to 30fps in idle, large scenes can still be intensive.
vram: around 0.3-1.2GB in high settings now vs 10-13GB vram before.
Streamed quadtree with different detail levels for height and color tiles. You get what you need at the best quality possible for a near 1:1 experience . !Mobile users indeed will struggle, reduced settings is required as to many LOD's and triangles are produced to handle.
0.1: From 60 to -> 260+ worlds now
Survival maps, creative maps, Christmas maps, test maps, my build worlds, and some test worlds.
1: Near 1:1 Block accuracy
I added a new 16bit heightmap exporter that would capture the worlds in more details and better height accuracy. So structures, trees, objects, heck even plants/grass become more apparent. But the biggest improvement it provides is for accurately displaying 384 (320) height worlds and beyond.
1.1 Also added new color maps
New colors derived from selective block averages (wip).
To better identify biomes, trees, structures. Was very helpful in the next example the arctic area, which previously would be just bland white, and now blends local blocks together with the arctic snow to create a "frozen look" while still being able to display the actual object.
1.2 Sun & Shades & Shadows
A mixture of takrams athmosphere and precomputed shadow maps have been added. So, change the time and the sun and shadows will change.
2: Biomes indicator
Im analyzing all chunk data and extracting the biome positions. And where ever you hover you should get a somewhat accurate biome info.
3: POI Pins / Point of interest Pins/markers/indicators
WIP: This will take time, Im still labeling and all structures, world by world.
You can now see and find where structures, villages, ocean structures, underground structures, and custom structures are. Thats a WIP! They are partly derived from the chunk analysis, and partly manual selection where its to difficult to automatically identify. But each individual structure gets its own pin and and data location to be found.
Left button next to the world coordinates is the World POI selector / World Drawer (Press B). Opens up the world poi drawer and all the related topics categorized.
Tiles:
Leftclick select
rigt click, cycle through locations
For quick measures you can also just rightclick to open a context menu, and click "Enable POI Pins"
3.1: Context hover & copy location
Hover above an icon; and it will display what it think it is or whats been set or what the chunk analysis thought it should be.
Clicking the marker, will copy the location coordinates like this: "3452 92 3490".
Copy coordinates also works as "copy coordinates" from the right click context menu.
3.2 Indicators for
containers, chests and barrels and spawners are indeed also included, hidden in an different tab, and not/never displayed on load. Thats probably a controversial additions, but also very useful for admins, creatives, creators, or groups/people that have been searching for ages.
Thinking about adding a confirmation feature like confirm by text repeat, something like: "Yes i truly need to know container locations and wont spoil the group fun or loot gobble the world " or a passcode maybe? Not sure yet. Waiting for feedback.
4: Biome area displays and searches
Press B (World Drawer) > Biomes > category > Select tyle
It is possible to highlight and search for specific biomes (and structures/objects), that were detectable.
even cave biomes, althought not quite perfect yet:
biomes > category > tile selected + top right button for the highlight mode to glow.
(might need to improve that UX/UI mmm - room for improvement)
5: Caves display
The probably hardest part to share and far far faaar from perfect.
The current caves tab in the World Poi Menu, has by default the approximated "interesting caves" displayed: drip, lush, deepdark, magma, and frozen caves, to not overwhelm the viewport. All caves can be displayed but are disabled for obvious performance reasons, by default (toooo many).
6. Whats in the world - section
Below the world in #world-contents, are all the findings i were able to make, via chunk analysis and or via manual pinning (structures). Apparently not all are easy to find, as the worlds are unloaded mostly. It splits into, Item status:
- Included (pretty sure its there)
- Possible (based if a biome or block like beehive are available)
- Not observed (auto observer couldnt find it definitively)
- Not checked (mostly for structures, as i have to manually look some up)
- Missing ( is pretty surely not included)
Note: just noticing that all the caves still need better linking/implementation
but in any case you should be able to lookup anything: biome, structure, loottype, animal, cavebiomes, and even blocks,
6.1 And theres the level.dat Inspector tab
Check the level.dat for any specific details you need to know.
Seed, type, spawn, version, difficulty, gametype, levelname.
to be found: here
it adds #world-inspector to the url.
Thoughts..
Why i build this~
The overall goal was always to share what exactly the worlds were and included, and then to enable to inspect and view these worlds even further. The sheer scale and size of such projects, + the whole amount always makes this challenging and sometimes overwhelming in itself.
With 250+ Worlds i do have a kinda unique issue displaying and showcasing them all.
- I tried hosting dynmap& later bluemap servers, for like 1-2 years, got to like 5-15 Worlds.
- Then i found bluemap, and was able to upload subsets of each world to github to show of worlds 1 by 1, but that was very time intensive and i did it for like 15-20 maps i think.
- And then with the help of the program unmined, i put together this terrain viewer 1.0, to display more worlds than ever before. Which were at the end around 60 worlds.
- And the current 2.0 version is now a streamlined custom build 16bit heightmap + color map creator with streaming tiles for a 3d viewport basically able to organize and displayed 260+ worlds
Im satisfied with the result, i cant lie
[V1 displayer]
compared to bluemap it was quite successful, even if the performance and resources needed were intense:
- The legacy builder was simple:
- It got one height image.
- It creates one highly subdivided plane covering the whole world.
- The vertex shader displaces that plane using the height texture.
[bluemap left vs v1 right]
[And V2 displayed here on yoxadion]
(realistic/physical viewport has a pretty dark forest in this view angle, it gets brighter in different angles and in simplified lol)
And all 260+ worlds in view on the explore page:
BEFORE: like it took up to 10-12gb vram to fully display one whole world, thats now gladly part of the past :
Backend
For all this also a backend/controller page was created to create, manage, render.
Which V1 did not have. And it payed off 100x. I integrated all the most useful tools and then created custom tools and scanners ontop.
Unmined was very useful, but now a legacy part. Great tool can recommend!
As i integrated a 16bit exporter for height and color now.mca selector was truly a game changer helping me to get into chunk analysis. Today its used as single (newer or custom ) structure searcher. But also the most time intensive one. But more and more replaced by my chunk analysis.
I later integrated also the chunker app (bedrock conversions) into my backend which helped massively to convert older worlds in a timely manner. What previously took around a 1h of manual work was finished within 10-15min. Truly a game changer and huge relief for me.
With all this i can managed to compute worlds from source files and process them within minutes in an organized way. Very helpful upgrade! Its still time intensive, but less process intensive gladly.
Domain note:
The full project has been hosted on the prev.mddn.bla domain for a while now, im thinking about moving it to a subdomain of mcmeddon for the future. But thats still TBD.
~ The End
I hope you all will find this tool useful for your exploration, inspections and research! It surely brought me hours of fun exploration, and will be improved even further.
I will be very appreciative of any feedback!
End note: Its still a WIP project. Especially the structure labeling and data sourcing, will take some time. But all step by step.
Have a great day βοΈ
- McMeddon