Oh jeez, found this:
"Every time the player casts with their fishing rod, a new spawning queue is created containing every available type of
fish (including algae and seaweed) which meets the criteria based on location, season, time, and weather. The spawning queue is then shuffled so that the available types of fish are listed in a random order. A skill check with a random component is performed on each type of fish, in the order in which it is currently in the spawning queue. Success results in a bite ("
HIT!") and failure results in the skill check being repeated with the next fish in the queue. If all fish in the queue fail the skill check, a random
trash item is caught instead.
If a fish matches the spawning criteria, the probability that it will succeed in spawning is:
{base spawn probability} = {spawn multiplier} - max(0, {minimum depth} - {actual depth}) × {depth multiplier} × {spawn multiplier} + {fishing level} / 50, up to a maximum of 90%. The
actual depth is the bobber's tile distance from land."
← Modding:Index
stardewvalleywiki.com
That's both helpful and really not helpful at all, because I'm sure that's accurate, and using Fish.xnb I could calculate each fish's expected bite percentage, then determine the relative probabilities of all fish for each possible spawn queue order, and average it out to get total expected bite probabilities, for each location, every period of the day where the available fish differ, and each season. However, that would take *forever*.
There's probably a way to streamline the calculation process. I know the trash percentage will just be equal to the probability of every fish in the spawn queue failing its test regardless of order, and then from there I can probably use ratios to determine the rest. However before I go down that path and start doing test calculations to verify it works, I'm going to keep looking for somewhere that data is already aggregated.
And yeah, time of day definitely matters, didn't forget about it, just didn't mention it :-)
Edit: BlaDe THANK YOU!!! Also thank you Elenna for pointing me to that!! I super appreciate it, and armed with that I can do the rest of the work which needs to be done. I will of course need to make some assumptions and take some shortcuts, but in the final work I'll reference the sheet in question and indicate that it can be used to calculate more precise values.
Speaking of, BlaDe would you be interested in the calculations I run to derive the final expected profit per energy, and possibly incorporating that into the sheet? Only if you feel it's actually a value add, of course. No worries either way just wanted to offer in case you felt it would be useful. I'll be incorporating them into a downloaded copy of the sheet and can send you the final edited form so you can take from it what you wish and modify accordingly, I just know you've already given such an incredible base to work from with so much of the heavy lifting done the least I can do is contribute in some way.