homothetyhk / RandomizerMod

The newest version of the Hollow Knight item and transition randomizer released for the Hollow Knight 1.5 update.
GNU Lesser General Public License v2.1
48 stars 30 forks source link

Allow concurrent attempts #34

Closed ShadiestGoat closed 1 year ago

ShadiestGoat commented 1 year ago

Hello!

With the current trend of randomizer runs being progressively more cursed and requiring more logic, the randomizer creation process is becoming slower and slower. Speaking for myself, I am currently on hour 988 attempts with 16.5h.

Given this trend, I believe that this mod should look at how to speed things up a bit. I think the simplest way to do this would be concurrency. I believe users should be allowed to select how many attempts are being done in parallel, which I believe would speed things up a significantly.

Thanks!

homothetyhk commented 1 year ago

There are two main issues with concurrency. First is that even if the randomizer itself is threadsafe, many connections are not designed with multithreading in mind, and would produce a wide variety of errors within such a mode. Second is that a fundamental goal of the randomizer is to be completely deterministic with respect to generation with the same seed and settings, something which is incompatible with the inherent hardware dependence of multithreading.

For both of those reasons, I don't think concurrency is suitable for the base randomizer. I do think it is an interesting topic, and I may look into adding it later. But it would very likely be through a connection mod with very prominent warnings indicating its experimental and unstable nature.