How to make procedural map of points that open levels

What I want is a simple procedural map of locations you can “travel” to that opens a hand made level associated with that destination, similar to skyrim but you’d be unable to walk between locations for example.

And similar to this, with points distributed that you select and a level opens

I have a random stream that produces a seed on game start, I have levels that I made, I have a mathematical function I’d like to use to distribute the points on a map, I have a map widget that accepts an image and is pannable and zoomable.

I don’t know where to go from there though. Do I use data tables? Should I be generating an image to use on my current map system? I’m not sure how I would modify the data tables on a per new game basis, or generate the image to use for the map, or save the modified data table to load later. I know it’s a complex question because I need a direction to start in, so thanks for any effort!

I’d appreciate any insight, or even resources regarding how to approach this :slight_smile:

I would go for the first picture, much easier to pull off.

You can just have an array of icons and level names etc, randomly distribute them in a sort of ‘cloud’ shape like that, and use something like ‘deproject screen to world’ to find out where the mouse cursor is. Then open the level.

With a flat image, you’re going to have to do more management to figure out where you should draw your dots as the player zooms in and out. Could be a lot more work… :slight_smile:

It’s really up to you, what sort of feel you want to give the game…

1 Like

Shame to hear, I’m going more for the second image haha. Crazy to hear that it’s more difficult though!

So far this is what I’ve got Map Demo - Album on Imgur
Sorry for the weird crop, it’s to cut down on the size. I just start the project and press m to open the map and pan/zoom around.

So the 2d map zoom scaling and panning are already handled, I’m more wondering about how I should do the data management and saving after I generate the points locations using a seed. Just an array of structs? :face_with_spiral_eyes:

I’ve made some progress since I last posted but still lacking great direction.

1 Like

Are you panning and zooming a flat image there? I looks a bit 3D.

Array of structs would do it fine. You can also use a data table, but you would have to read it into an array anyway in order to manipulate it.

Also, data tables are fixed, you can’t update them, so I’m wondering how that works with your random generator?

1 Like

Indeed 2d!

Maybe this image highlight it better.

I wasn’t aware that data tables are fixed in unreal, I’m somewhat new to the engine (and this area of programming is not what I formally have done the past couple of years, as I much prefer UX & level design), so that’s good to know!

It doesn’t seem like unreal has a magic tool for this situation so I’ll need to get to work on this :cry:

1 Like