Automap (exterior) implementation

Discuss Daggerfall Unity and Daggerfall Tools for Unity.
Post Reply
User avatar
Nystul
Posts: 1501
Joined: Mon Mar 23, 2015 8:31 am

Re: Automap (exterior) implementation

Post by Nystul »

thank you! this is encouraging ;)

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

Re: Automap (exterior) implementation

Post by Nystul »

made a new pull request - changes are:
  • introduced building nameplates (currently shop type is used instead of building name)
  • walking to new locations works now correctly with exterior automap
  • camera rotation and zoom settings are remembered and restored now when closing and reopening exterior automap while in a location (resets on new location)
  • resources will be now loaded only on demand
  • location layout is now only generated once - when the automap is opened for the first time for the current location

User avatar
InconsolableCellist
Posts: 100
Joined: Mon Mar 23, 2015 6:00 am

Re: Automap (exterior) implementation

Post by InconsolableCellist »

Wow! Super impressive work. I should look at the code and learn how it works.

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

Re: Automap (exterior) implementation

Post by Nystul »

since info mode is now a thing, it might be a good time to start on building names discovery (via info mode) for exterior automap.
I just have to find some time to start messing around with it.

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

Re: Automap (exterior) implementation

Post by Interkarma »

Great! :)

I'm working on a building key system to better integrate buildings across various systems, and I've stubbed out managing discovered buildings for player saves. Give me a few days (depending how busy work keeps me) and I should have the basics ready for you to check if a building has been discovered or not. This will need to tie into the quest system a little (for local houses selected by Place resource) but I'll add helpers that hand back this information.

It might also be nice to have a "show all buildings" toggle of some kind for testers that will display building nameplates like now, regardless of player discovery.

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

Re: Automap (exterior) implementation

Post by Nystul »

cool, no hurry!
I already wanted to ask if you want the automap or one of the other core systems to take responsibility for discovery state/save mechanics. your post answered my questions already ;)

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

Re: Automap (exterior) implementation

Post by Nystul »

I just added the exterior automap caption line to the window's background image:

Image


furthermore I did some invesigations on the vanilla daggerfall exterior automap, this is a list of things discovered:
  • building name text of the building is added whenever player discovers them in-game via info mode or dialog how it seems
  • one can move building texts with right click (although it is really buggy since it will catch other texts when mouse is moved
  • individual notes can be added when clicking in a region without text
  • existing building texts and notes (which are technically the same) can be edited when clicking on existing texts
  • existing building text and notes can be deleted by editing them and erasing the whole text - if erased they can be rediscovered in-game and the building text will be added again
  • if you rename a building you can rediscover it again and end up with 2 text labels (the edited and the rediscovered name) possibly overlapping
  • text labels of buildings discovered in-game are only added if there is no other label with the same text string on the map -
    so in case of "The Bank of Daggerfall" there is only one label at the same time on the map even though there are 3 different buildings in the town of Daggerfall with this name.
    This might be related to the "bug" where quest targets could not be found in houses/taverns/shops in towns -
    maybe there were several buildings with the same name and the wrong one was revealed on the map -
    and maybe the quest target was in one of those "hidden" buildings (hidden because their text label wouldn't show up on the map) -
    but this is just a theory
  • you can add several notes with the exact same text manually
I will likely add some functionality to Daggerfall Unity's current exterior automap to allow for custom notes - but i am not sure if I should support renaming of discovered building nameplates since as seen in the list above it leads to several problems. I will rather not allow the user to change buildings nameplates...

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

Re: Automap (exterior) implementation

Post by Interkarma »

Nystul wrote: I will likely add some functionality to Daggerfall Unity's current exterior automap to allow for custom notes - but i am not sure if I should support renaming of discovered building nameplates since as seen in the list above it leads to several problems. I will rather not allow the user to change buildings nameplates...
Great work, and more than fair on that last point. :)

I also want to avoid having multiple labels on a building. The discovery system I'm working (and apologies for not posting yet, I've been consumed by other progress) works on a MapID/BuildingKey basis. This means a building can only be discovered once, but the name can change. For example, "Residence" might become "The Hawkwing Residence" for a quest. When the quest is over it just becomes "Residence" again.

I'm considering whether or not plain old "Residence" even needs to be added to the automap on a permanent basis. It's very easy to identify residences on the map, and they make up a huge majority of buildings. The "Residence" tag just seems a little redundant and cluttery.

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

Re: Automap (exterior) implementation

Post by Nystul »

Interkarma wrote:
Nystul wrote: I'm considering whether or not plain old "Residence" even needs to be added to the automap on a permanent basis. It's very easy to identify residences on the map, and they make up a huge majority of buildings. The "Residence" tag just seems a little redundant and cluttery.
My plan would have been to copy behavior of vanilla df regarding "residences". As long as it is an unnamed residence it won't show up on the automap. As soon as it is named (through being part of a quest) it will show up ;) This can easily done by filtering out nameplates with string "Residence" :D

the whole topic is somehow linked to the question if the same residence will always get the same name or if it can end up with different names for different consecutive quests. I hope we will find a way to implement the first mentioned behavior...

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

Re: Automap (exterior) implementation

Post by Interkarma »

Nystul wrote: My plan would have been to copy behavior of vanilla df regarding "residences". As long as it is an unnamed residence it won't show up on the automap.
That's not quite how classic works. If you info-click on any home, it still adds a "Residence" tag to automap. And if that residence gets assigned a quest, the second tag will be dropped on top of the first. It's an ugly setup and I don't want to reproduce it at all. We seem to want the same thing here. :)
Nystul wrote: the whole topic is somehow linked to the question if the same residence will always get the same name or if it can end up with different names for different consecutive quests. I hope we will find a way to implement the first mentioned behavior...
I'd like "Residence" tags to never display on automap at all. If a home is assigned as a quest target, player discovery will allow nameplate of assigned building name while quest is active. When quest is complete and home reverts to generic, nameplate should be removed. The exception is named buildings (like shops) which stay permanent as per normal discovery. For homes, I'm not convinced its worth keeping temporary building names from completed quests.

I'm sorry I haven't dropped the promised work for you yet. I'll try to swing back to discovery as soon as I can. This will include helpers to get BuildingKey, discovery state, and any links to quest system. It should be enough for you to drop nameplates cleanly without multiples on the one building.

Post Reply