Automap (indoor & dungeon) implementation

Discuss Daggerfall Unity and Daggerfall Tools for Unity.
Post Reply
BansheeXYZ
Posts: 555
Joined: Fri Oct 23, 2015 8:19 pm

Re: Automap (indoor & dungeon) implementation

Post by BansheeXYZ »

Nystul wrote: Fri May 31, 2019 2:08 pm Or with mouse controls by holding down middle mouse button and moving mouse up until slice/transparency limit is higher than any geomtry - this works for all 3 modes (transparency, cutout and wireframe)
I know that. It resets every time I open the map anyway, so I'd be constantly doing that before rotating the map.

User avatar
Nystul
Posts: 1501
Joined: Mon Mar 23, 2015 8:31 am

Re: Automap (indoor & dungeon) implementation

Post by Nystul »

BansheeXYZ wrote: Fri May 31, 2019 2:14 pm
Nystul wrote: Fri May 31, 2019 2:08 pm Or with mouse controls by holding down middle mouse button and moving mouse up until slice/transparency limit is higher than any geomtry - this works for all 3 modes (transparency, cutout and wireframe)
I know that. It resets every time I open the map anyway, so I'd be constantly doing that before rotating the map.
I could implement an ini setting that when enabled would remember the last setting if that helps - or that the map will open with the slice level being maxed out (also if corresponding ini setting is enabled)
pango wrote: Fri May 31, 2019 8:11 am I know it would be a departure from classic, but could default view be 3D instead of 2D?
I think this should be a welcome change - maybe interkarma could also give his ok?

User avatar
Nystul
Posts: 1501
Joined: Mon Mar 23, 2015 8:31 am

Re: Automap (indoor & dungeon) implementation

Post by Nystul »

I am working on the micro map for the dungeon automap:

Image

User avatar
mikeprichard
Posts: 1037
Joined: Sun Feb 19, 2017 6:49 pm

Re: Automap (indoor & dungeon) implementation

Post by mikeprichard »

BansheeXYZ wrote: Fri May 31, 2019 9:34 am I really, really want you to experiment with a mode you haven't tried yet. I see it working quite well in my head. Render nothing but the floors, and render them a solid color, no shading or lighting effects. Apply a solid black line at the base of the floor where the walls met the floor, this will represent the wall. This black line should not be there on cliffs, just where the wall goes UP from there floor. Without wall obstruction or textures blending into other floors or walls, this should create a more readable 3d map. If depth is still a problem, you can then try darkening each layer a little different.
I'd love something like this if it could ever happen (i.e. if a shader programming god is lurking around to do the work). Nystul has done amazing work on DFU's automapping already (it's leaps better than classic's mapping), but I still find dungeon automaps extremely confusing in many cases just because of the complexity of Daggerfall's procedurally generated maps.

User avatar
Nystul
Posts: 1501
Joined: Mon Mar 23, 2015 8:31 am

Re: Automap (indoor & dungeon) implementation

Post by Nystul »

While there is likely more room for optimized automap rendering strategies I honestly think that daggerfall dungeons will always be hard to read on any automap rendering implementation. Even a split into different dungeon levels won't help imo since player needs to switch levels frequently when traversing more complex dungeons.
The biggest Unity related issue that prevents me personally from doing a better job with the automap is the rendering of transparent objects. only the top-most transparent geometry will be visible, no stacking of multiple transparent corridors is possible in unity to my knowledge. So the map ends up with opaque geometry below the top-most transparent geometry which is suboptimal. Stacking overlapping transparent corridors would improve the situation quite a bit I guess.

BansheeXYZ
Posts: 555
Joined: Fri Oct 23, 2015 8:19 pm

Re: Automap (indoor & dungeon) implementation

Post by BansheeXYZ »

While there is likely more room for optimized automap rendering strategies I honestly think that daggerfall dungeons will always be hard to read on any automap rendering implementation.
That's such a non-reply reply again. Your own latest screenshot shows a giant wall obstructing the hell out of three different floors. The topdown view has no sense of depth and floors obstruct other floors. The angled view (which most of us gravitate to because of this) has walls obstructing floors and other walls. So make a mode that gets rid of the walls and represents them as an outline the way a 2d map would. It's not like you walk on walls, so they are of little value to getting your bearings and pathfinding. The transparency stuff is not the answer, and the wiremesh thing is equally wtf.

User avatar
mikeprichard
Posts: 1037
Joined: Sun Feb 19, 2017 6:49 pm

Re: Automap (indoor & dungeon) implementation

Post by mikeprichard »

Please, let's be civil. :) But (as usual coming from the guy who wouldn't do the work) I see banshee's point about removing the opaque walls from the rendering as providing a potentially useful optional view. I could visualize that as being very helpful to me at least.
Nystul wrote: Fri May 31, 2019 8:36 pm
BansheeXYZ wrote: Fri May 31, 2019 2:14 pm
Nystul wrote: Fri May 31, 2019 2:08 pm Or with mouse controls by holding down middle mouse button and moving mouse up until slice/transparency limit is higher than any geomtry - this works for all 3 modes (transparency, cutout and wireframe)
I know that. It resets every time I open the map anyway, so I'd be constantly doing that before rotating the map.
I could implement an ini setting that when enabled would remember the last setting if that helps - or that the map will open with the slice level being maxed out (also if corresponding ini setting is enabled)
pango wrote: Fri May 31, 2019 8:11 am I know it would be a departure from classic, but could default view be 3D instead of 2D?
I think this should be a welcome change - maybe interkarma could also give his ok?
I also second (third) these improvements. I'd even suggest remembering the last map display setting as the default instead of needing to fiddle with the .ini to achieve it.

User avatar
Nystul
Posts: 1501
Joined: Mon Mar 23, 2015 8:31 am

Re: Automap (indoor & dungeon) implementation

Post by Nystul »

mikeprichard wrote: Wed Jun 05, 2019 5:45 pm I also second (third) these improvements. I'd even suggest remembering the last map display setting as the default instead of needing to fiddle with the .ini to achieve it.
I tried this but I am unsure about this - it often leads to situations where rooms above the current player level occlude the player marker and the corridor/room the player is in. Not sure if it will confuse people that's why I would rather have it as an ini setting first and test it before making it default
BansheeXYZ wrote: Wed Jun 05, 2019 5:28 pm So make a mode that gets rid of the walls and represents them as an outline the way a 2d map would. It's not like you walk on walls, so they are of little value to getting your bearings and pathfinding. The transparency stuff is not the answer, and the wiremesh thing is equally wtf.
Having the ideas is one thing, implementing them is a much harder task ;)

update: I tried out a quick shader hack to hide all walls by face normal test:

Image

for comparison transparency:

Image

User avatar
mikeprichard
Posts: 1037
Joined: Sun Feb 19, 2017 6:49 pm

Re: Automap (indoor & dungeon) implementation

Post by mikeprichard »

I could see the no-walls view in the first shot being useful, particularly for such a convoluted map (Privateer's Hold?).

User avatar
Nystul
Posts: 1501
Joined: Mon Mar 23, 2015 8:31 am

Re: Automap (indoor & dungeon) implementation

Post by Nystul »

mikeprichard wrote: Wed Jun 05, 2019 8:14 pm I could see the no-walls view in the first shot being useful, particularly for such a convoluted map (Privateer's Hold?).
Castle Daggerfall

Post Reply