Automap (exterior) implementation

Discuss Daggerfall Unity and Daggerfall Tools for Unity.
Post Reply
R.D.
Posts: 379
Joined: Fri Oct 07, 2016 10:41 am

Re: Automap (exterior) implementation

Post by R.D. »

Houses would devolve to being "Residence" when the quest is complete, but its previous name(s) would remain permanently on the map until erased.
You're right. While the name from the quest is still on the map, when I use the info mode interaction the name is displayed on screen as "Residence." The label on the map is still using the unique name from the quest. So, it may simply be that the notation on the map was saved.

I just did another test. I went to the residence that had been showing in quests as "Ashsmith Residence," and this time before getting a quest I identified it with the info interaction so it became already labeled as "Residence" on the map. I then got a quest that used it. This time the quest called it the "Ashton Residence," which means the name is not always the same. The two labels "Residence" and "Ashton Residence" for the building became overlapped on the map. But this is in a quest where I am asking for the location of a person whose last name is Ashton, which may be why that name was used.

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

Re: Automap (exterior) implementation

Post by Nystul »

BansheeXYZ wrote:Please god consider automatically labelling colored structures. I always thought it was kind of stupid that they weren't.
I thought about doing icons for different types of shops once discovered - but this is way down on the road map.
maybe also showing dungeon entrances or maybe even doors of buildings would be an option ;)
BansheeXYZ wrote: DF vanilla made you talk to people and they'd randomly have no idea. Which is absurd because YOU LIVE IN THIS CITY. OF COURSE YOU KNOW WHERE THE SLEEPY BEAR INN IS. EVERYONE KNOWS.

Maybe they were attempting some kind of realism here, but it just fails. Realistically, your character wouldn't have a map layout of thousands of cities anyway. Unless someone gave him a magic map to start the game. In which case, why doesn't a magic map have names on it too? Meh...
This is true, though I consider this less critical than the actual conversation dialog. It is just the biggest shortcoming in the whole game in my opinion. Nothing to really do in there...
BansheeXYZ wrote: Also, it would be great to see the entire city map without needing to scroll around. Now that we're unbound by low resolution, we can totally do that, right? I don't recall being able to zoom out in vanilla, but maybe I'm wrong...
this is already working. You can zoom in/out in the new implementation...


@interkarma: I would need to add a new GameObject in the hierarchy - can I change the scene or do you want to do this change by yourself? I would like to add a empty GameObject called "ExteriorAutomap" similar to the already existing Automap gameobject and attach a script to it (the upcoming DaggerfallExteriorAutomap.cs script - currently developed in my branch). How to proceed?

heading for the temple...

Image

Image

User avatar
Interkarma
Posts: 7236
Joined: Sun Mar 22, 2015 1:51 am

Re: Automap (exterior) implementation

Post by Interkarma »

Good thread! Interesting research on the Residence naming, I hadn't put much thought into that yet. And R.D. welcome to the forums. :)
Nystul wrote: @interkarma: I would need to add a new GameObject in the hierarchy - can I change the scene or do you want to do this change by yourself? I would like to add a empty GameObject called "ExteriorAutomap" similar to the already existing Automap gameobject and attach a script to it (the upcoming DaggerfallExteriorAutomap.cs script - currently developed in my branch). How to proceed?
If you've already got the latest version of scene (has an active QuestMachine object), just go for it. I shouldn't need to make any scene changes for a while.

Since we've formalized the idea of stable/unstable builds, I'm also happy for you to send to master branch when you're ready.

User avatar
Arl
Posts: 202
Joined: Sun Mar 22, 2015 10:57 am

Re: Automap (exterior) implementation

Post by Arl »

An arrow instead of a dot?

Nystul, you are a hero.
My Deviantart page, I have some Daggerfall stuff in there.

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

Re: Automap (exterior) implementation

Post by Nystul »

Phobos Anomaly wrote:An arrow instead of a dot?
Nystul, you are a hero.
thanks ;)

the dot always annoyed me in vanilla df -
I was often disoriented when firing up the map and didn't know which direction I was heading...

User avatar
Interkarma
Posts: 7236
Joined: Sun Mar 22, 2015 1:51 am

Re: Automap (exterior) implementation

Post by Interkarma »

Merged changes this morning and just want to say freaking amazing this looks and feels already! Awesome work.

I'll put test builds up after work so testers can play with recent changes.

R.D.
Posts: 379
Joined: Fri Oct 07, 2016 10:41 am

Re: Automap (exterior) implementation

Post by R.D. »

I tried out the new automap. Nice work! I know it's still a work in progress but if I can make a couple suggestions

1. The zoom in and zoom out for exteriors seem like they should be switched to me. In interiors the "upstairs" icon goes up, which is like zooming out, and the "downstairs" icon goes down, which is like zooming in, so I find it more intuitive to match to that.

2. The red arrow seems pretty big, especially when first opening the automap. How about making it smaller?

But like I said, nice work! It's an important feature to have all right.

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

Re: Automap (exterior) implementation

Post by Nystul »

Interkarma wrote:Merged changes this morning and just want to say freaking amazing this looks and feels already! Awesome work.

I'll put test builds up after work so testers can play with recent changes.
thank you!
R.D. wrote:I tried out the new automap. Nice work! I know it's still a work in progress but if I can make a couple suggestions

1. The zoom in and zoom out for exteriors seem like they should be switched to me. In interiors the "upstairs" icon goes up, which is like zooming out, and the "downstairs" icon goes down, which is like zooming in, so I find it more intuitive to match to that.

2. The red arrow seems pretty big, especially when first opening the automap. How about making it smaller?

But like I said, nice work! It's an important feature to have all right.
also thanks, regarding your suggestions:

1. had it behave that way but for me it felt better when I swapped the buttons, but if more people want it the other way around I will change it

2. I know what you are talking about. It is though tuned to be easily recognized when the view is zoomed out all the way. Maybe I can make it a bit smaller

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

Re: Automap (exterior) implementation

Post by Nystul »

@interkarma:
I want to start implementing visualization of building names on the map.

In a first version I just want to use dummy names like armorer, weapon smith, residence etc. - this info can be derived from your bulding structs pretty easy.

What I would need for the implementation is though:
  • a way to determine the center position of each building:
    • either within its 64x64 map layout bitmap (its rmb block) in pixel or normalized coordinates
    • or in normalized coordinates in the current map pixel for the loaded location either in reference to the layout width/height (the values from 1-8) or for the maximum size (8x8)
  • a way to render text into a Texture2D (ideally a helper function in DaggerfallFont class to render to Texture2D, I will see how far I can get - might need some help there)

User avatar
Interkarma
Posts: 7236
Joined: Sun Mar 22, 2015 1:51 am

Re: Automap (exterior) implementation

Post by Interkarma »

Nystul wrote:@interkarma:
I want to start implementing visualization of building names on the map.

In a first version I just want to use dummy names like armorer, weapon smith, residence etc. - this info can be derived from your bulding structs pretty easy.
No problems. Great idea, dummy names are a good place to start nailing down position and rendering of text. Once we have text handling in place, I'll port over my name generation code from test env.
Nystul wrote:
  • a way to determine the center position of each building:
    • either within its 64x64 map layout bitmap (its rmb block) in pixel or normalized coordinates
    • or in normalized coordinates in the current map pixel for the loaded location either in reference to the layout width/height
My feeling is that Daggerfall is using normalized coordinates from building's model origin inside block. You've noticed how well player position in world lines up to building footprint on automap when the coordinates are handled correctly (great work on that by the way). I'll work on adding building coordinates to block metadata and that should be enough for a first pass.

It could be DF uses a completely different method I just haven't found yet, but the above should be perfectly workable as a starting point. If/when a better method is found, I'll hand back those coordinates instead.
Nystul wrote:
  • a way to render text into a Texture2D (ideally a helper function in DaggerfallFont class to render to Texture2D, I will see how far I can get - might need some help there)
Rendering direct into the automap texture might not be the best as zoom&rotate feature will distort text, and it will rotate with map (so text ends up at 45 degrees for example). It will also make it a lot harder to edit names on the map or place custom labels like in DF.

I think it would be better to use the DagUI features already present (like TextLabel) to render text. A little math will be needed to position text correctly on map rotation, but that isn't hard. This also allows you to take advantage of the higher pixel density of the canvas for better text quality at more zoom levels. If text fuzzes up too badly at smallest levels, we can just disable text after user zooms out far enough.

We might even be able to improve text readability a bit while keeping same look and feel (better fonts, better scaling, etc.). Something to keep in mind for later.

I'll try to get those building coordinates in for you as soon as I'm able. :)

Post Reply