Has anyone come close to creating a procedural city generators like these yet

The starcitizen devs came up with possibly the best City generator tool Ive seen, I would love to see something similar to this in ue4

or even this one

The Star Citizen one is really simple, just blocks. The more complex you want it the more difficult it becomes.

I’ve toyed around with the idea of making a city generator as a future project and started light investigation into the topic. Unity seems to have a few really good ones like CScape. Is this something people are really interested in you think?

Btw, thanks for the links - I really like the Sinking City demo!

I find the Star citizen one to also be my fav as you can just change the zones to industrial residential, retail, ect and its really intuitive 2D layout.
How would one even go about creating a grid like that or a 2d layout

Because the layout is all made from blocks of the same size it’s very very easy to just set it up so that you can have it randomize a library of pieces for each block. If you want more complexity then you have to add more rules for what pieces can go where. But really, what you have there in Star Citizen is the most basic form you can get.

Procedural maps result in lower quality (as I said, more complexity takes more work) and I’m much more interested in higher quality/more interesting things to do than to simply have a large environment.

But yeah, that Star Citizen tool is not complex at all, it’s just pulling from a library of pieces and placing them in nice squares. The other video that was built in UE4 is much better, but takes more time and also has issues like buildings going through each other.

EDIT: Dude, also, you need to learn how to use the Edit button, we can see every time you delete a post to make a change and it really clutters the forum.

The city shown at the beginning of the video doesn’t have that stuff, it’s literally just blocks of city buildings being randomized. The interiors shown there aren’t a component of the procedural city, and even those interiors only have a little bit more complexity to them

When you delete a post it’s still listed for us in the forum, only a mod can delete it without it showing up anymore.

It’s still the same thing, even if it’s got a door to go inside it’s just placing buildings on a grid and randomizing it. NMS does a lot more since it has to be much more particular about where things get placed.

“Even Community Tools offers one albeit a starter option.” - can you give me a link to this asset?

I’ve been really interested in PG for a while and this seems like the project to dive deeper into it (like my animal AI project was a way to learn AI!). I’ll have to dig a bit more and see if this can be my next project after Im done with ABK. Its either this or a traffic system I’ve been thinking about lol.

Honestly the risk of procedural generation of large cities being bland is a very minor issue, that could easily be counted by having the main grid road system pass first, then the zone tiles placed, but also add PG to each individual tile itself on the final pass. or even just have many variations of sub roads and tile types.
if you can go in once the build is finished and regenerate each tile independently it would be extremely flexible.

for now I would just settle for the actual city and road system without interior rooms as the game type I would like this for is a vr cockpit flight game.
this would help small teams and solo devs like me get a real jump in getting games off the ground. But as of yet I have not come across anything in the ue4 marketplace even like this. Yet I have seen something like this in the unity store :frowning:

The city generator can just be setup to spawn the actors in your scene (roads, buildings, props) and then you can change any of the actors in your scene after the fact. That part is “relatively” easy to do. What seems a bit harder is adding randomization to the city generation - do you want to generate a random road network that makes sense? Do you want to randomize each city block? Etc, etc.

The example from Sinking City is actually a happy medium IMO. It looks like the artist defines the road network (no randomization there) and then the tool populates the surrounding areas with random assets based on a bunch of parameters (like building size, orientation, city block type, etc). A tool with this functionality is fairly feasible I think :slight_smile:

Hey guys, I posted a GIF of our own solution for procedural levels generation in UE4 sub-reddit, and @AlphaWolF invited me over to post in this thread. Here’s an article about how our tool works:

http://www.lucianoiurino.it/procedural-dungeon-generation-in-ue4/

It’s nothing fancy like StartCitizen’s, but it’s proving to be very useful and fun to work with in our own projects.

Hey @BaseReality ,

This thread got me inspired so I decided to work on this project this week lol. This is what I got so far - is this what you had in mind? What do you think?

Excellent , I’m really happy Something has already come of this and I am glad I inspired you .
I love how you already got straight on the idea of using instanced meshes and only rendering interior assets when close to them,
and that your thought process about having flexibility after the city has been generated. this was my thinking also.

I have also been giving a lot of thought to how the best way to do this and what I kept thinking would work really well and give the biggest flexibility
would be a seamless tile based system with various tile types available. so I started to work on something like that as a side project.

so you select your grid size and apply a material color to every individual tile basically painting where you would want different zones.
EG:
Orange = industrial zone
red = retail zone
green = park zone
blue = corporate zone
purple = public service zone.

then every zone tile will proceduraly generate the assets for the type of zone they represent and can be selected independently and randomize if you are not happy with a particular one.

this could even be a layered type of procedural generation that once the zone have been generated it then does a generation on interior layouts and props.

also roads are going to need streelamps and traffic bits.

this is what I started working trying to get some kind of grid system up and ruining, but I its very early and this is still a new area to me also. I have only got 2 tile types up and running so far and I can hit randomize button. got not way tom place things like roads yet or custom zones.

Also came across this, and it looks amazing, but it looks like the person has gone completely dormant.
Really cant understand why somebody would make a tool like this and never release it.
They are defiantly using procedural spline generation with some kind of detect surface/snap to surface code running on the first pass.

[video]https://twitter.com/delacian/status/698922063675969537[/video]

Hey AlphaWolF ,

Very nice! A grid system can have its advantages for sure. Actually my first attempt at the system (way before the video) was such a system. I was able to generate a grid on the map with different “tile types” very similar to yours. However, I never took it farther than that. I got stuck thinking about auto road network generation with the tiles. You actually seem to be farther than me with that approach :slight_smile:

As far as the roads - road network generation is the hardest part for me atm. I’ve seen several algorithms but havent found an easy way to implement them in BP so far.

Wow! That really looks amazing! And its so smooth too!

I honestly think The procedural road network is the secret source, This also reminds me of cityengine which a played around with in the past you could change to grid or radial or even hexagon
road layout.
it worked with xml file input from OSM street-maps . like this plugin also does. Which I also just got working thanks to thunder_owls
help.

https://forums.unrealengine.com/community/released-projects/105486-plugin-openstreetmap-importer

Hey Alpha

I started working on procedural road network generation - super early code but it’s looking promising :slight_smile:

WOW
you are so close to having a full blown city generator RIGHT NOW!.
Curious if your generating these from pre defined layouts or if they are just random splines networks