Show HN: Warsaw in voxels – An interactive 3D map of the city centre

Posted by stared 5 days ago

Counter325Comment55OpenOriginal

Explore central Warsaw in voxels - slightly inspired by Minecraft, and MagicaVoxel. You can change the date, time of day and weather, explore the city, or click on a pedestrian to control them (here a bit of inspiration from Dungeon Keeper).

Works best on desktop, but I tried to make it usable on mobile too. The initial load can take a while. It's based on several open datasets, including:

- OpenStreetMap (https://www.openstreetmap.org/#map=6/52.02/19.14) - buildings, streets, sidewalks, tram tracks, etc

- GUGiK / Geoportal (https://www.geoportal.gov.pl/) - LiDAR for building heights and trees, aerial imagery for colours

- Warsaw's city tree database (https://mapa.um.warszawa.pl/) - individual tree species, used for seasonal foliage

Open-source (https://github.com/stared/warsaw-vibe-voxel), so feel invited to (re)use it as you wish!

Comments

Comment by stared 5 days ago

There are quite a few such other projects, e.g. Streets of Prague (https://beta.streetsofprague.com/), were one can explore Prague in a top-down GTA2-like mode, based on real data.

Comment by andyfilms1 5 days ago

It'd be cool to see these taken to the next level by showing actual live updated public transit and car traffic

Comment by zeroq 4 days ago

there's an ex googler whos been pretending on yt for the last 6 months that he's building "open source palantir".

he recently published his ai slop and it's basically a google earth running on open source maps with fake traffic drawn on the streets.

looks impressive, until you zoom on your location and look out the window and compare what's on the screen vs real life

Comment by rasz 4 days ago

Until you realize its streaming data and by zooming in to compare your location you just gave that dude your precise location.

Comment by lirolero 4 days ago

[dead]

Comment by AlfeG 4 days ago

Gamepad controls are broken in the car for some reason. Otherwise cool stuff )

Comment by ionwake 5 days ago

this blew my mind! incredible!

Comment by MisterTea 4 days ago

Super neat project but I am getting fractional (<1 FPS) frame rates in FF on Linux. Granted, this is an older AMD PC and certainly no power house but it used to run actual Minecraft just fine.

Comment by lukan 4 days ago

Sounds like software rendering.

Try activating webgl/webgpu (off by default on linux) in FF config (or use chromium).

Comment by samox73 2 days ago

Same here, FF on Linux notebook with only an iGPU on an intel ultra 7.

Comment by _whiteCaps_ 4 days ago

I really enjoyed visiting Warsaw, I went there for work a few years ago and didn't really know what to expect.

If you ever have the chance, I highly recommend the Warsaw Uprising Museum.

Comment by jesse__ 4 days ago

It's almost unusably slow on my laptop. 3080ti mobile, windows 11, chrome. I opened the profiler and the update appears to be fast enough; roughly hitting 30fps, but there are massive gaps between updates and the actual frame time seems to be about 120ms.

Other than that, neat :)

Comment by stared 4 days ago

Made a few perf changes - let me know if now it is better.

Comment by radicality 5 days ago

Nice. At first glance looks cool, but then, oh my, some areas are really butchered :S Poor Old Town and Plac Zamkowy - I'm familiar with the area and at first was scanning trying to find it visually by the features I know are there, but then in this model it's very different (wrong color, many more floors in this model, a 20-story building where at most should be at most a 5-story, the old town castle looking like a gray residential 'blok' and not the prettier structure that it is!).

Comment by nutrientharvest 5 days ago

I think you're looking at something else, because the Old Town isn't on the map at all. Unless part of it failed to load for me.

Comment by wolvoleo 4 days ago

Yeah that was the first thing I looked for. I find it fascinating that the old town was rebuilt exactly as it was before, after the war. Especially because at that time Poland was under communist rule who usually didn't really care for such 'inefficient' aesthetics.

Comment by badpun 4 days ago

The rebuilt was motivated by preserving architecture important for national identity (which was something Polish communist authorities did buy into), not aesthetics.

Comment by stared 4 days ago

By popular demand, added it now.

Comment by artturibyte 4 days ago

Looks great! Sad that could not find that my favourite thing from warsaw trip, this really long residential building that had actually its own wikipedia article and was called "dachshund" :D https://en.wikipedia.org/wiki/Dachshund_(building)

Comment by KptMarchewa 4 days ago

The map cuts off just a few hundred meters to the west of that building.

Comment by sixtyj 5 days ago

Mobile version reloads, imho it is too heavy for Safari.

Well done.

As default weather - I would prefer sunny day instead of rain…

Comment by WhrRTheBaboons 5 days ago

>As default weather - I would prefer sunny day instead of rain…

But then it would not be an authentic Warsaw experience!

Comment by stared 5 days ago

Yeah, it is a bit heavy, but I had to balance features and performance without adding too many toggles that push choices onto the user (often when it is already too late). I optimized it primarily for desktop, with some ideas for making it lighter on phones (rendering only small parts in 1m3 voxels and the rest in gray 8m3 blocks).

When it comes to weather, I am torn between always using golden hour with a clear sky and using the current weather.

Comment by samox73 2 days ago

What a cool project. Without any knowledge on the mentioned datasets: how generic is the approach you used for building the voxel world? Can this be applied to other cities as well?

Does this bring us a step closer to a fully virtual Minecraft world?!

Comment by wolvoleo 4 days ago

Wow such amazing work! I love it.

I have good memories of my visits to Warsaw. Very walkable city so I spent a lot of time doing that (despite being there on tiresome work trips).

Comment by rasz 4 days ago

This runs 10x too slow for what it is. Tell Opus about mip mapping, greedy meshing, maybe even zbuffering judging on how bad this runs.

Comment by stared 4 days ago

Told Opus - tell me if it is any better.

Comment by rasz 4 days ago

Cant detect any improvement by eye. Lags when dragging, runs at ~15fps maxing GPU.

Does it run smoothly for you? What kind of hardware?

Comment by percentcer 4 days ago

This is neat but the FPS controls are very strange, I'd recommend changing the A/D movement to be a 'strafe' (lateral movement, no rotation) and reversing the mouse look directions (i.e. dragging right should rotate the camera to the right instead of dragging the screen like it might in figma)

Comment by throw_a_grenade 5 days ago

A bit unfortunate it doesn't reach to the Old Town, or even Royal Palace. But impressive stuff nonetheless!

Comment by stared 5 days ago

Good point! I've already expanded the area from something much smaller (so to go to the National Stadium and so on). The first draft is easy, since Opus 5.5 is good at working with open data and checking against it.

What takes much more time is polishing. Sometimes things are jagged or wrong, streets are disconnected, some tree crowns float in the air, and bridges look like they’ve been hit by an airstrike.

I check things manually, compare them with photos, etc.

Comment by Tade0 4 days ago

The voxel version of Złota 44 doesn't do it justice. I mean, just look at this thing:

https://en.wikipedia.org/wiki/Z%C5%82ota_44

Comment by stared 4 days ago

Thanks! I will look at it.

It is all about fixing such stuff.

Comment by serifsadi 4 days ago

The seasonal trees from the city database are a great touch. The buildings reminded me a bit of 3DCityDB. Did you look at CityGML or 3DCityDB at all, or go straight from OSM and LiDAR?

Comment by ionwake 5 days ago

I really like this, not trying to be annoying but is the main point that we can walk around in first person or does it lend itself to be ported to minecraft or something?

Sorry to be weird and ask. Very impressive though I like it.

Comment by stared 5 days ago

A very natural question.

Not a Minecraft player myself, but if you want to do so (code is there), feel more than invited.

Comment by wossab 5 days ago

For the longest time I wanted this as the interface for a Local News website I was participating in. It was impossible at the time but I hope it will become a thing. Sure beats HTML tables with text and pictures.

Comment by ivanjermakov 5 days ago

> Sure beats HTML tables with text and pictures

Except this website chokes many desktop PCs, not to mention phones.

Comment by lo_zamoyski 5 days ago

A fragment of Śródmieście (the downtown center of Warsaw). The Old Town and most of the right bank (including Praga) are missing.

In any case, very fun. Hope it improves.

Comment by theneverendingp 1 day ago

awesome! thanks do you think you can improve performance a bit for this?

Comment by camies 5 days ago

Really impressive. The autumn trees and the golden hour light make it feel alive, and the landmark labels are a nice touch. Fun to fly around the city centre.

Comment by stagas 4 days ago

This is one of the most amazing things I’ve seen. Spent a ton of time wandering around. Thank you for making this!

Comment by parkersweb 4 days ago

I really like that you can click on people and cars jumping from one to another to see follow along behind them - nice!

Comment by jim180 4 days ago

Awesome! I gave your git repo to Opus and asked to recreate my hometown.

Looking good so far, even without lidar data yet.

Comment by harvey9 5 days ago

It was raining when I opened it. Is that tied to the live weather?

It's really good, and responsive in Firefox on my android tablet.

Comment by sashaverg 4 days ago

My Lenovo laptop sounds like a jet engine taking off, but the website is great!

Comment by java-man 5 days ago

Is it raining, or are those rendering artifacts on a fractional scale monitor?

edit: it is raining!

Comment by thehamkercat 5 days ago

Yes it's raining, you can change the weather on top-left of the website

Comment by stared 5 days ago

It's raining, man :)

Comment by majorbugger 4 days ago

Unusable because of (lack of) performance. I have a laptop with a dedicated GPU...

Comment by hollowonepl 5 days ago

small part of Downtown.. looks cool but instantly one wants more, especially if you know what this city can offer today and how rapidly it's changing its landscape!

Comment by hartator 4 days ago

this is cool, but not to be pedantic, voxels are usually way smaller. 1cm-10cm, these look like 1m.

Comment by stared 4 days ago

AFAIK voxels are 3d pixels - of any size.

Comment by serg_nechaev 4 days ago

wow thats super cool! does it correctly texture the buildings?

Comment by globalnode 4 days ago

just a black screen for me with some labels floating in space

Comment by stared 4 days ago

Made a few changes. Did you try to hard-reload?

Also, which system, GPU and browser?

Comment by radku 1 day ago

[flagged]

Comment by donovan-places 5 days ago

[flagged]