[Overhaul Project] Daggerfall Unity Re-imagined

Show off your mod creations or just a work in progress.
Post Reply
User avatar
Magicono43
Posts: 662
Joined: Tue Nov 06, 2018 7:06 am

Re: [Overhaul Project] Daggerfall Unity Re-imagined

Post by Magicono43 »

Apologies for no updates to this thread in a little while, I have mostly been working on stuff that there is not much to show in terms of pictures or anything, so I figured not that worth putting up, but I have been working. My work has slowed down a little bit though, just been lazy the past week or so not sure why, just happens sometimes I guess. Right now i'm currently in the middle of working on the shop loot tables, so far the actual shops have been going fine and are pretty much done besides balancing on the overall values and such.

Something I have gotten stuck on recently is trying to figure out a decent way to get the guild service "shops" to be persistent similar to the shop shelves, but without the shop shelves essentially, and it's a little bit more of an issue than I originally thought it might be, but hopefully I will figure something out soon enough.

But yeah, work on the overhaul is still going on, it's just been slow recently due to mostly my own laziness, but rest assured it is getting worked on slowly but surely, even if I don't provide updates on progress too often, the github repo will show much more frequent updates in that regard as I make commits and such to the code.

User avatar
Magicono43
Posts: 662
Joined: Tue Nov 06, 2018 7:06 am

Re: [Overhaul Project] Daggerfall Unity Re-imagined

Post by Magicono43 »

Just wanted to make a quick update of status post. To confirm if anyone was wondering, I am not dead no, lol. Past few weeks I have just been taking a little break from working on this project after getting stuck on some coding challenge, I also felt like actually playing a game for once so I started a heavily modded set-up of Oblivion and been fairly engrossed in it (After all these years Oblivion has some really awesome mods.)

I will be getting back into working on the project eventually, not sure exactly what time that will be, but eventually, sometimes when I hit coding road-blocks I take little breaks. But have no fear, I will get back on the wagon at some point, with more inspiration as well due to playing other games and getting more ideas during that time.

User avatar
Daniel87
Posts: 330
Joined: Thu Nov 28, 2019 6:25 pm

Re: [Overhaul Project] Daggerfall Unity Re-imagined

Post by Daniel87 »

Yoj can try n let us know the specifics of the road block, maybe we can be of help :)

User avatar
Magicono43
Posts: 662
Joined: Tue Nov 06, 2018 7:06 am

Re: [Overhaul Project] Daggerfall Unity Re-imagined

Post by Magicono43 »

Daniel87 wrote: Mon Apr 12, 2021 9:56 pm Yoj can try n let us know the specifics of the road block, maybe we can be of help :)
Well it's interesting timing that when you posted this reply that I just reinstalled my Unity environment and project setup after my previous hard-drive a few days ago died somewhat unexpectedly. So that was somewhat of a road-block the past few weeks as I had to reinstall my PC environment on a new hard-drive and such. Now that I have my modding environment mostly setup in the most basic form again, I should be starting work again soon as I get the desire to start on it again.

But at least from what I recall from a few weeks back when I hit the coding road-block was that I was trying to get the guild-services such as the magic item vendors, as well as the potion sellers to have a persistent inventory similar to the shop shelves in normal shops. The issue I realized being there is nothing that is "saving" between these instances of these shop guild service inventories, they are simply generated on the fly when the player clicks the service. The mages guild magic items are generated from a seed specific to that particular mages guild hall, so it will always be the same whenever you open it at a certain time. The potion sellers is even more simple in that it randomly generates them whenever you click on the service and restocks them randomly every-time you open it again, providing an infinite supply essentially if you just keep exiting and entering the shop interface.

The idea I had to get around this, as well as possibly be able to expand on other systems I plan on adding later on would be to actually have an inventory possible to be assigned to billboard flat NPCs as well, not just the Mobile enemy entities. This way I could have the inventory be saved/stored based on the flat NPC themselves, and not just on the environment they are currently placed in, such as a mages guild-hall. This would also allow for expansion of possibly having multiple of the same NPC service/vendors in one building that have different inventories and such. As well as possibly giving a framework for the pick-pocketing skill to actually "steal" from an inventory that some flat NPCs have, instead of just a random sum of gold from the ether like it currently works.

But I guess I have not put too much thought into how to actually implement this, it was just a more difficult thing that I had not really worked on before that made me take a small break that went to the current lack of progress that I'm at right now about 2 months later. So maybe this issue is not that difficult, it was just intimidating enough for me to want to not bother with it for a while.

But besides the reasoning behind it, I guess really all I need to do is figure out a way to assign an inventory that can be saved just like the normal loot-piles work, but instead of assigned onto a loot-pile/shelf/corpse have them on a Flat NPC billboard character, those of which I have not worked with at all up to this point, so how they work and how to mess with them is still a bit of a mystery to me. Sorry for the long explanation, likely mostly regrouping my thoughts as well in this one post more then anything from the past couple months of inactivity, lol.

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

Re: [Overhaul Project] Daggerfall Unity Re-imagined

Post by l3lessed »

Off top of my head, I would dump the inventories, once generated, into some store value. Then, when clicking the npc again, check to see if said stored array/value is filled, and if so, pull the old inventory list and do what you need. If not, generate the new inventory list for later use.

For storing, you could use the save data store method build into the modding system. Create an array dictionary, key each new npc inventory array to the dictionary using the npc as the unique key identifier, hook that up the a save data array so it gets stored on game saves through the modding system, and then reload the array dictionary on game load.

Or, you could even dump it into a plain text file and create a self parser, like I did for my weapon properties and terrain properties values in my interactive terrain mod and combat overhaul mod.
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
Magicono43
Posts: 662
Joined: Tue Nov 06, 2018 7:06 am

Re: [Overhaul Project] Daggerfall Unity Re-imagined

Post by Magicono43 »

l3lessed wrote: Mon Apr 12, 2021 11:44 pm Off top of my head, I would dump the inventories, once generated, into some store value. Then, when clicking the npc again, check to see if said stored array/value is filled, and if so, pull the old inventory list and do what you need. If not, generate the new inventory list for later use.

For storing, you could use the save data store method build into the modding system. Create an array dictionary, key each new npc inventory array to the dictionary using the npc as the unique key identifier, hook that up the a save data array so it gets stored on game saves through the modding system, and then reload the array dictionary on game load.

Or, you could even dump it into a plain text file and create a self parser, like I did for my weapon properties and terrain properties values in my interactive terrain mod and combat overhaul mod.
Thanks for the ideas, I'll have to consider those possible options and see if I can think of any other methods I could do this with.

User avatar
Daniel87
Posts: 330
Joined: Thu Nov 28, 2019 6:25 pm

Re: [Overhaul Project] Daggerfall Unity Re-imagined

Post by Daniel87 »

I also never worked with inventories or NPC flats. I think my forst try would be to have a mod gameObject which has a script attached that stores and manages NPC inventories of NPCs you came across. Then you would have the data centralized. For saving, I would go with I3lesseds suggestion. Sry that I can't be of much help for this particular road block.

User avatar
Magicono43
Posts: 662
Joined: Tue Nov 06, 2018 7:06 am

Re: [Overhaul Project] Daggerfall Unity Re-imagined

Post by Magicono43 »

So after what I thought was 3-months (it really has been exactly 2-months actually), I have finally made a commit to the fork with progress! This commit made it so the guild services such as "Magic Item Vendor", "Soul-gem Vendor", and "Guild Potion Vendor" now have persistent inventories, almost exactly like the shop shelves work in normal shops. So now potion vendors won't just restock themselves instantly every-time you speak to them, but will actually run out of stock, or only provide the stock they currently have on hand at any given time.

While this might not be that interesting to some, this was quite the challenge mentally for me for some reason, but I finally gathered the motivation to work on this feature a few days ago after the previously mentioned "break" and got it to work. I also learned quite a bit from this when it comes to actually interacting and manipulating Gameobjects in unity, bother through the editor and especially through code, so this was very useful in hopefully upcoming features as well.

The next thing I plan on getting to work on is probably more exciting to most, that being "Conjuration/Summoning" spell-effects, similar to the later games like Morrowind and later. Once I actually get the summoning and dying upon expiration of the spell effect working and such, the next important part I plan on working on is actually working with the AI to make the summons and eventually followers/friendly companions actually work somewhat properly, so you know, your summons and allies actually follow you around with some intelligence and through transitions and such as one would expect from the later games like Skyrim and such. This part won't be a simple task by any means, but important and necessary never the less. Glad to be back making progress and hopefully I can keep some momentum going, even when I eventually hit road-blocks along the way.

Post Reply