Custom scale for nature billboards (billboardItems in DaggerfallBillboardBatch)

Discuss modding questions and implementation details.
User avatar
Daniel87
Posts: 391
Joined: Thu Nov 28, 2019 6:25 pm

Custom scale for nature billboards (billboardItems in DaggerfallBillboardBatch)

Post by Daniel87 »

Hi fellow modders!

I would love to randomize the scale of nature billboardItems before or after adding them to the DaggerfallBillboardBatch object and before using Apply() to turn them into a sharedMesh. It seems that this is currently not possible, as the billboardItems receive their scale in the Apply() function and the overload AddItem() function that actually offers scale only works for custom atlases. Is there a better way to do this or is this currently just not possible?

Again thanks in advance for any helpful advice :)
Stay awesome guys!
In Julianos we Trust.

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

Re: Custom scale for nature billboards (billboardItems in DaggerfallBillboardBatch)

Post by King of Worms »

Just want to add a idea.. if u can implement this custom scale (like the tree of a same model can get various size for increased variation) it might be cool to have also mirroring.

So one model of a tree can have size of lets say +/- 25% randomly plus it can have mirrored variants. That would add another +50% of variation while keeping the memory usage the same.

Not sure if its possible. Just idea. Good luck 😊

Ps: the size of nature sprites is effed up in daggerfall, especially in the less used Jungle, swamp biomes. Ive spend so much time adjusting the sprite size to make it look at least semi believable.

Plus the sprites made many times zero sense (rotten trees at desert, mushrooms at desert etc, flowers bigger than trees) so I switched em in between the biomes as well. I also made new sprites where there were too many duplicates or just sprites which made no sense, lots of color fixing (stones in desert jungle are yellow in my mod) etc etc etc.. All in all, vanilla is a mess in some biomes :(

I can send you the updated nature sprites. Ive spend many hours at them.

Im not sure if you would like to.. because if you used my sprites as a base, it would make your mod and my DREAM mod a co-dependent system.

Its something to think about...

Pss: maybe it would actually work if u make it based on vanilla.. than if user uses my sprites than if Gods are at our side, it would look good as well.

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

Re: Custom scale for nature billboards (billboardItems in DaggerfallBillboardBatch)

Post by Daniel87 »

Hey King!

You are so right about the messy vanilla sprites. Also the woodlandhills never got used, Bretons where Redguards shold be, etc.
I didn't find the time yet to look into the code for sprite sizes. I think currently this is not modable but would be an immensly helpful feature. I was actually planning to include mirroring if I can get my hands on a resize function or overloaded constructor. Not sure how to create a PR in Git, as I never really worked with it.

Oh btw: Do you know by any chance, if there is a table with infos about which biome/climate spans form/to which height? (I want to vary the vegetations composition depending on height, even inside the same biome)

About a co-dependency: I totally dig your sprites and use them as standard while working on my mod :D I don't even bother playing with the original sprites, as for me Daggerfall is a new thing and I have no memories or nostalgia attached to it. But still, I value the RPG element and wish there were more modern games like this. Nevertheless: Why, we can do a co-dependency as your DREAM project already is the most downloaded mod and makes a lot of sense. I think also the bug fix mod, that fixes gaps between props and walls together with other mistakes made by the original developers should definitely be included into the packages. I mean, why would anyone ever say "I like those errors and mistakes that are an eye-sore and therefore want to keep em in the game" :P

So, my mod uses Lists of individual records (ints) to store them logically (trees, needle trees, flowers, stones, dead trees, etc.).
Once it's finished, all I would have to do, is to change those arrays and adjust their values to your records in the atlas. The closer you keep them to their original record number, the less work it will be for me, but don't let that be an issue at all, as the whole process wouldn't take too long anyway :)

I wonder what these mushrooms are discussing... :D
Image
In Julianos we Trust.

User avatar
TheLacus
Posts: 1305
Joined: Wed Sep 14, 2016 6:22 pm

Re: Custom scale for nature billboards (billboardItems in DaggerfallBillboardBatch)

Post by TheLacus »

Hi, this is being discussed as a bug report here. ;)

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

Re: Custom scale for nature billboards (billboardItems in DaggerfallBillboardBatch)

Post by Daniel87 »

Thank you! :)
In Julianos we Trust.

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

Re: Custom scale for nature billboards (billboardItems in DaggerfallBillboardBatch)

Post by King of Worms »

I did not know Woodland Hills (506) nature sprite is unused? But I tested it and you are right. Instead the Temperate Woodland (504) is used. Not sure if this is a known bug? Should be reported IMO if it wasnt already. I can do it? Let me know.

I remember some discussion about those redguards and bretons, I digged up some old bug report with this issue, but If I remember right, Interkarma said its sorted in a way he finds it correct.

If you create a thread asking for a help about that Git PRs, someone will explain it to you, unfortunately I know nothing about that :oops: Also all things you would like to be open for modding - it needs its thread to get properly noticed.

I asked about the XML modding for the nature sprites, but that is just to increase the size of for example ALL trees number 503_1-0 etc. So that will not increase the variety, if thats what you are after. I was able to make some sprites smaller, by making their canvas larger... thats a workaround...

About the biome distribution, all I have is this image... Ive added in some notes about the Nature sprite set numbers which SHOULD be used there (but apparently they arent in case of Woodland hills summer/winter :X)
Climate map.jpg
Climate map.jpg (274.41 KiB) Viewed 948 times
Im glad you are doing that work with Dream sprites already, as I also think its a way to go. And ppl who want that oldskool feel can still use my sprites and Retro mode, to get back that pixelated look (even with 256 colors)

About the bug fix mod I think you mean "Unofficial Block Location and Model fixes" which I like a lot. But doing mod bundles is not so easy, as ppl want their mods to give them the personal recognition they deserve and I understand it. So what I do is tmentioning such mods in the "recommended mods" section of the Dream mod @ Nexus and its up for the users to go to these mod pages and download em.

Im a bit lost at
"..all I would have to do, is to change those arrays and adjust their values to your records in the atlas. The closer you keep them to their original record number, the less work it will be for me"
If this is about my sprite switching in between the biomes, than I do it like this for example:
Subtropical (501) is a biome with a sand as a ground, and than some palmtrees etc. In original you have this mushroom 501_22-0 which I very much doubt would grow at desert. So I take this mushroom and place it in the Rainforest instead of some plant. And I take this plant and place it in the Sub tropical. The naming stays the same, I just replace the images. And than make sure the size is correct by adjusting the canvas size.

This process was partially explained in the release notes, but not all changes are written there, because nobody reads it and it takes time to write all the stuff down :X
= IX - SPRITES=
TLDR: These 3 biomes were previously a MESS, and Ive cleaned it up a new, switched sprites around,
changed colors, sizes, added new sprites... lots of stuff to make it work and look good.

Desert, Desert Jungle, Swamp Biomes optimalization:
Resized a lot of sprites to make actually sense
- no more some flower being bigger than trees etc
Complete color normalisation inside each biome
Tweaked all nature sprites lightness/contrast/saturations

Moved mossy stones from Desert Jungle (subtropical) to raiforest
Desert Jungle has now desert color of stones
Moved Purple Mushroom from Desert Jungle to Rainforest
Moved duplicate flover from Rainforest to Desert Jungle instead of the Mushroom

Changed the flower color to brown-ish on some desert plants
Changed colors of desert stones from which the flowers grow to desert color
Changed some swamp colors of stones to green-ish for better diversity
Removed rotten tree barks from desert jungle
Added dead animal skeleton sprite to desert
Added new palm trees instead of duplicates
Improved looks of many sprites in these biomes
Added 1 bird to 1 tree in each biome but desert

Resized all sprites inside canvas to prevent top being cut + better original-like size/proportions
Updated Desert, Jungle, Swamps sprites sets to handpainted - (thanks JmanOwar)
Increased resolution of tall trees which were only 1024 height

+ lots of other changes I cant be bothered to write down
If you need any help let me know.

PS: Those mushrooms are a teleport to other realm :shock:

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

Re: Custom scale for nature billboards (billboardItems in DaggerfallBillboardBatch)

Post by Daniel87 »

Thank you for all the information and time and work, King!
Yes, if you like, you can report it. I think it might be reported already, but am not sure.

Yeah for testing purposes and screenshots I use DREAM, but also checked the look with the vanilla billboard flats and it still looks good, because what makes the difference for the eye is the similar plants and their natural distribution. A forest normally has 4-7 different layers on its edge, depending on who you ask:
Image

This way the forest can absorb all the light coming in from different angles. Sadly, Daggerfall only supply 32 graphics for each biome, which is not really a lot to work with, but I found ways of creating a similar impression. If I now can also scale some graphics, I could achieve a besser visual effect. :)

I would love to try my mod with the 3D models from Trees of Daggerfall, but that mod is not finished yet and won't be in the near future I believe, so I will go with the 32 vanilla graphics and add more, depending on your graphic volume :)
If you did not change the order of the graphics and only append additional ones to it, I can make the mod work with vanilla graphics as well as with yours. I will have to check out your graphics pack to think of a way how to do it :geek:

I think Interkarma wants to keep it the real original way of Daggerfall, where the Woodland Hills was left out (by purpose or accident). If I figure out how, I will include them in my mod for the sake of variety. I also plan on resizing and mirroring the nature billboards to create additional variety, as you suggested. Thank you for the idea!

The last step will be to add random loot containers (invisible) at the center of mushroom circles and stone circles. Not sure what to put inside yet.
Since mushroom circles are associated with wicka and black magic, I think some magic item or a treasure map would be neat.
What would be great as well is, having harvestable wild plants. I will check the list of ingredients in daggerfall and see if I can get my hands on nice additional graphics for those plants. (If I ever learn how the atlas/billboard system works haha).
In Julianos we Trust.

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

Re: Custom scale for nature billboards (billboardItems in DaggerfallBillboardBatch)

Post by King of Worms »

I will send u my nature pack, and I will create a txt describing the changes 😊 I think your mod will work both with vanilla and Dream, because Ive made the changes in a way which will not interfere with anything (I did not change trees for plants etc) I will make the Woodland hills report. I really like the ideas you present here, the mushroom circles👍

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

Re: Custom scale for nature billboards (billboardItems in DaggerfallBillboardBatch)

Post by Hazelnut »

Daniel87 wrote: Sat Jan 23, 2021 11:30 pm The last step will be to add random loot containers (invisible) at the center of mushroom circles and stone circles. Not sure what to put inside yet.
I think this would be pointless with 1000s of nature flats - do you expect players to check them all? Seems boring gameplay to me. If you really want to, it might be a better approach to add custom click handlers and then decide based on some chance whether to give the player something, and just not bother with loot containers. I know TheLacus has a harvestable plants mod which is for farms etc I think, so players know where its valid to harvest.

Also it should be possible to place flats from other archives in your terrain nature implementation if you wanted to for variety.
See my mod code for examples of how to change various aspects of DFU: https://github.com/ajrb/dfunity-mods

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

Re: Custom scale for nature billboards (billboardItems in DaggerfallBillboardBatch)

Post by Daniel87 »

Oh, that sounds good! How would I go about adding different flats into my nature atlas from within the ITerrainNature?

Yeah, the loot container thing would only work in desert Oasis, as it can be spotted from far away and checked out in combination with survival mods to refill water.
For normal dense forests, I would have to create special places such as mushroom or stone circles that can be spotted on grass land areas. When I wrote loot container, the kind of random click handler I meant. Is there a good tutorial about the techniques involved for this?
In Julianos we Trust.

Post Reply