[MOD] l3lessed Enchanted Compass

A curated forum for compatible and maintained mods. Users are unable to create new topics in this forum but can reply to existing topics. Please message a moderator to have your mod moved into this forum area.
Post Reply
l3lessed
Posts: 1399
Joined: Mon Aug 12, 2019 4:32 pm
Contact:

Re: l3lessed Enchanted Compass

Post by l3lessed »

Check it out. I'm getting real close to release. UI is in. Now I need to setup the array to handle the individual building indicator type colors, and done.

I may add in a daggerfall UI UI component at some point, but for now, the unity gui method is easiest.

My Daggerfall Mod Github: l3lessed DFU Mod Github

My Beth Mods: l3lessed Nexus Page

Daggerfall Unity mods: Combat Overhaul Mod

Enjoy the free work I'm doing? Consider lending your support.

User avatar
Hazelnut
Posts: 3015
Joined: Sat Aug 26, 2017 2:46 pm
Contact:

Re: l3lessed Enchanted Compass

Post by Hazelnut »

Looks interesting. Couple of things I noticed watching the video. The icons seemed to be upside down, though it's not clear whether the map is oriented to N or player facing. Secondly, the transparency slider didn't seem to allow the minimap to be seen through which is what I expected.
See my mod code for examples of how to change various aspects of DFU: https://github.com/ajrb/dfunity-mods

l3lessed
Posts: 1399
Joined: Mon Aug 12, 2019 4:32 pm
Contact:

Re: l3lessed Enchanted Compass

Post by l3lessed »

Thanks for the feedback. I put in transparency for the GUI itself. You can also fully customize each icon group type, include turning them off completely[ I'll probably expand this to every single building type, so you can do whatever you want. For ease right now, I grouped them very close to the original color scheme, with the added shader of red for armor and weapon buildings.

I think I'm getting close to addressing everyone's requested features. I still need to add a radius for npc icon detect and an icon/label size controller.

My code is one giant smoke pile of a mess. I don't even 100% understand what is going on, and every time I try to refactor it it breaks, but its working without bugs, and it only pulls the indicator request on a new location load or a UI control update/change.

My Daggerfall Mod Github: l3lessed DFU Mod Github

My Beth Mods: l3lessed Nexus Page

Daggerfall Unity mods: Combat Overhaul Mod

Enjoy the free work I'm doing? Consider lending your support.

l3lessed
Posts: 1399
Joined: Mon Aug 12, 2019 4:32 pm
Contact:

Re: l3lessed Enchanted Compass

Post by l3lessed »

Spent today figuring out how my code is actually running flow wise and was able to break most of it into individual objects or properties. This will be nice for future developers, as I have created a public object to grab all buildings in a location and pump out every property and object you could want for it, from its staticBuilding to its gameObject to its buildingSummary to the specific world position of the building.

At some point, I plan to compile all the little coding tools I created for my mods, like the above building finder, and release a l3lessed DFUnity modding tool packet, like the ones provided for SKSE to expand its use to others.

Also, this allowed me to clean up and create a individual list and structure for all the indicators, building and npc for cleaner and easier code handling and developing. I also will make them public so other mod developers can pull that info easily.

Finally, I was able to tie the npc marker objects to a quick loop check and allowed for indicators to be turned on and off. There are two settings for this: Show npc indicators for anything within the camera render area, including things behind objects; also, Show npc indicators by radius from the player is in. You can turn both of them on to get the most realistic indicator setup, which ensures only indicators seen within a player set radius/range will appear on the minimap. This mimic real life senses the best in my opinion.

I'll put up a video for it when I can.

That was the last big feature to get coded in. Now, all I need to do is setup the mod settings area, add in two more menu settings for control icon and label size, and release. If I have time, I'll try to change the menu texture to some 8 bit looking magical compass, so it isn't so unimmersive when you open it up.
My Daggerfall Mod Github: l3lessed DFU Mod Github

My Beth Mods: l3lessed Nexus Page

Daggerfall Unity mods: Combat Overhaul Mod

Enjoy the free work I'm doing? Consider lending your support.

Jarlyjarljarl
Posts: 64
Joined: Sat Aug 01, 2020 6:37 am

Re: l3lessed Enchanted Compass

Post by Jarlyjarljarl »

Interesting mod. Is there a way to have a full-screen version of this that can be toggled on and off as a kind of replacement for the default city map? I've never personally used minimaps because I like having as little UI elements as possible on screen but the map that this minimap creates is definitely better than the city maps the game gives us, particularly because it tracks NPCs.

l3lessed
Posts: 1399
Joined: Mon Aug 12, 2019 4:32 pm
Contact:

Re: l3lessed Enchanted Compass

Post by l3lessed »

Yes, that is a simple scaling variable that I have already made public.

As for releasing it, I had to slow down per usual. Once I put in all the code and was able to get a proof of concept working, it became clear my fears were valid; My nub coding skills lead to the creation of a massive cpu bottle neck. I had tried to push everything through a single script, which led to the script thread overloading and bottle necking everything causing massive frame drops.

So, after a day of doing research on proper class constructor use and creation, I rebuild the code for npcIndicators into its own class script and then attached it to the npc objects themselves. When attached, it runs all the code on its own to figure out what type of marker to use and when to turn it on and off. This removed the bottle neck by distributing the load over numerous scripts/threads. I'm keeping building indicators under a single script though, since they do not need updated once created; they don't move or change, past the player updating their preferences.

Here it is. It went from adding over 16 MS to the load to under 1 ms.

You can also see the realistic indicator detection setting. This sets it so indicators in view and within a certain range only show, and once they are out of view disappear in half the range.
My Daggerfall Mod Github: l3lessed DFU Mod Github

My Beth Mods: l3lessed Nexus Page

Daggerfall Unity mods: Combat Overhaul Mod

Enjoy the free work I'm doing? Consider lending your support.

User avatar
King of Worms
Posts: 4752
Joined: Mon Oct 17, 2016 11:18 pm
Location: Scourg Barrow (CZ)
Contact:

Re: l3lessed Enchanted Compass

Post by King of Worms »

Nice job on detecting the bottleneck and the optimization pass!

I see you test the map in the same time of day, might be worth it to try during full day, to see how it looks in bright settings and at the midnight as well.

Things I would like improved are the Player arrow being hard to see due to its color, Id switch it to golden.

+

The North indicator is missing, that would be a great addition as this is supposed to be a compass anyway. If the N is present there, the need for ingame compass is gone and that would be fine (esp if we can disable the vanilla ingame compass in the 1st person view, or place your map in the bottom right corner over the current compass)

Anyway, nice progress and great mod so far, thank you for the update! :ugeek:

l3lessed
Posts: 1399
Joined: Mon Aug 12, 2019 4:32 pm
Contact:

Re: l3lessed Enchanted Compass

Post by l3lessed »

I already dealt with the lighting issue. I created a custom shader, via code, using a particle shader and then heavily modifying it. It applies to all minimap markers now. The material is an unlit shader, so light doesn't affect its appearance. I also attached a no fog component to the camera, so fog should also be ignored for indicators.

Base code is optimized; it can use some more cleaning, but the bottle necks are dealt with.

Still need to put in some filters to stop icons being made for non-critical buildings, like walls, but big coding hurdles are done now.

What I have added since last pass:
  • Minimap npc and player indicators resize as you zoom in and out for easier viewing positions.
  • Menu is now properly togglable. It will pause game and enable mouse.
My Daggerfall Mod Github: l3lessed DFU Mod Github

My Beth Mods: l3lessed Nexus Page

Daggerfall Unity mods: Combat Overhaul Mod

Enjoy the free work I'm doing? Consider lending your support.

l3lessed
Posts: 1399
Joined: Mon Aug 12, 2019 4:32 pm
Contact:

Re: l3lessed Enchanted Compass

Post by l3lessed »

We have a basic compass UI now. It is aligned properly with real world positioning too, as seen in the below video. Also, UI is now properly toggable.

As for the quality and design, I'm not really happy with it. I created it from an internet png with some editting in paint.net. I would much rather prefer a better version that doesn't take up so much screen pixel room and matches default DF style better. If anyone makes one, just ensure the center and outsides are transparent.




Here is the crudy compass png file I created. You can use it to see how to setup a better one. If you do, post it, and I will add it to the mod for users, If I get multiple submissions, I'll add them as UI choices for the player to choose from.

https://www.dropbox.com/s/c8e7m6h0y1fs6 ... 2.png?dl=0
My Daggerfall Mod Github: l3lessed DFU Mod Github

My Beth Mods: l3lessed Nexus Page

Daggerfall Unity mods: Combat Overhaul Mod

Enjoy the free work I'm doing? Consider lending your support.

l3lessed
Posts: 1399
Joined: Mon Aug 12, 2019 4:32 pm
Contact:

Re: l3lessed Enchanted Compass

Post by l3lessed »

I updated the compass interface. It matches a traditional compass face now. The compass itself is static, while the inside float indicators freely float and rotate. This also allowed me to clean up the thick, ugly 8bit nintendo compass and create a sleeker pixelated one. I might up the pixilation a little more to match class a little closer.

Need to add in a few more interface options and keys, add a handful of missing icon textures for certain buildings, and I can drop.

I plan on releasing a magical scroll version for those who prefer rectangle maps. It will work the same, but the compass ui will be replaced by a unfolded scroll with the square minimap in the middle.



Update

Converted the UI over to a more immserive scroll. I need to at some point increase its size, so the menu and text and items aren't so tiny. But, that can wait until after release. Now, just a few bugs to hammer out.

Also, shrunk down the direction indications so they didn't take up as much visual room.

My Daggerfall Mod Github: l3lessed DFU Mod Github

My Beth Mods: l3lessed Nexus Page

Daggerfall Unity mods: Combat Overhaul Mod

Enjoy the free work I'm doing? Consider lending your support.

Post Reply