View Issue Details
Category | |||||
---|---|---|---|---|---|
整備班:YAYA | |||||
Severity | feature | Reproducibility | N/A | ||
Status | closed | ||||
Summary | 0000333: New function modifier for dialogue pools | ||||
Description | I worry that this might be too much to request, or might not be possible at all. Please close this if that is the case. An issue that I run into a lot when developing ghosts is that nested brackets can mess up the probabilities of dialogue, especially large pools of dialogue. For example... RandomTalk { "Dialogue 1" if month == 1 //January dialogues { "January dialogue 1" "January dialogue 2" "January dialogue 3" "January dialogue 4" } } At a glance, many developers assume that this will result in these 5 dialogues each having a 1/5 chance of being returned (if the condition of the if check is true). But, that isn't how it works. Instead, "Dialogue 1" has a 1/2 chance of being chosen, and the brackets around the january dialogues mean that the whole set of january dialogues have a 1/2 chance of being chosen. Each individual january dialogue ends up with only a 1/8 chance of being chosen in this setup! This problem gets much worse as you add more if checks, and more dialogue to each if check. I have written two different functions in my own ghosts to correct this problem, and they work well, but both of them are a bit cumbersome to write. They also intimidate new developers, so new devs usually opt not to use them, and instead deal with the probability issues. So, I keep wondering if there might be a better way to solve this at the source. Ideally, I would like a function modifier, like RandomTalk : pool This modifier could make it so that every possible output candidate in a function is evaluated with equal probability, no matter how deeply nested it is. I'm worried that this is too great a change to how YAYA works at its core, and might not be possible... But, if it is possible, it would be extremely helpful; especially for newer developers. (It would be even better if there could be a way to pair it with the nonoverlap modifier, so that you could have both...) Thanks for your consideration. | ||||
Tags | No tags attached. | ||||
Attach Tags | |||||
|
https://github.com/ponapalt/yaya-shiori/commit/718deb584a2b4b4f38adbd0e7dcbf9bb855edd4d |
|
closed : new yaya release |
Date Modified | Username | Field | Change |
---|---|---|---|
2021-10-28 14:35 | guest | New Issue | |
2021-10-28 18:25 | guest | Note Added: 0000861 | |
2021-11-03 09:33 | ponapalt | Assigned To | => ponapalt |
2021-11-03 09:33 | ponapalt | Status | new => closed |
2021-11-03 09:33 | ponapalt | Resolution | open => fixed |
2021-11-03 09:33 | ponapalt | Note Added: 0000872 |