0
Answered

Can a 2D-minimap of a 3D-physical map be generated from the same random seed number?

Doug 1 year ago • updated by Daedalus 1 year ago 6

Hello.


I love your product! It's working great for my game!


I'm currently working on a 3D sci-fi roguelike game with your 3D sci-fi assets, each level being created according to a stored random seed number.


I was wondering if it is possible to create and display a simple, yet accurate, 2D minimap of each randomly-generated 3D-level by using the same random seed number for both?


Or, is there any other way to do this with Daedalus (but WITHOUT the use of another camera or RenderTexture)?


Thank you for your time,

Doug

Answered

Sure! Once Daedalus generates map data, it's used to create the physical 3D assets and place them accordingly in the 3D space. But you can just use the same map data to draw your own mini-map (2D/3D).

Have a look through the docs and you'll see how to grab any useful data from the generated map (for example, you can get to know what tile is a wall, a room floor, a corridor floor, etc.).

Hope it helps!

Thanks for the speedy reply!


However, will this method work well if my game's levels use 3D StandardMaps and not TileMaps?


Looking at the reference information for class VirtualMap, it appears that everything works with a grid of "Cells".


How will the floors/doors/walls/columns/etc. be placed into this grid of cells (a VirtualMap) when using a 3D StandardMap, if they aren't all the same size and some of them overlap?


Or do I misunderstand?


Can anyone help me?

Daedalus maps are cell-based, yes. Even if you use StandardMaps, you will be able to lay out a mini-map from that data, showing what cells are 'full' or 'empty'. Do you have any other specific need?

Well, how does one determine where the walls and doors are? Does the Virtual Map include this information?


I was under the impression that when it comes to Standard Maps, the Daedalus Generator, after generating the Virtual Map, put the walls and doors overlapping the floors, and they weren't explicitly included in the Virtual Map.
I couldn't find anything else in your documentation about how to determine where walls and doors are in the Virtual Map that the Standard Map comes from, but maybe I missed something?
If so, could you please point me in the right direction?

These are the exposed functions/data you can currently get your hands on:

http://daedalus.artskillz.net/daedalus-documentation/#Exposed_Methods