Update to my last post. Sat down and played with the seed numbers for my random puzzle generator and got some interesting results. Now I have said many times that “numbers in a vacuum are meaningless” which I recently realized is just a rephrasing of “everything is relative” so I will give some base numbers for reference before anything else.
The target number of moves for these test puzzles is 8, this means (with 25 possible buttons to push) that the average chance for any given button to be pushed should be 32%. When I started my testing for smoothing out the average number of times any given button was pushed I made the default chance of a selection be around 5% and increment that by 10% each time a button was not selected (resetting each time one WAS selected). Since I was simulating the creation of 10,000 puzzles per cycle and averaging the results I was fairy certain that my results would be accurate.
As I said previously these numbers gave me results that clumped where the button presses would be with a large deviation from the desired 32% being around 10-15% above the target. As I raised and lowered the seed numbers the location and nature of the clump would shift but not completely disappear, for instance sometimes most of the buttons would have smoother deviation numbers but I would have two buttons with 15-20% lower chance to be selected. Then I tried a 12.5% default and incremental chance and got the best results yet (still not the desired results but better). On a lark I cut those numbers in half (around 6.5%) and got even better results. Surprised at first I started to see some logic to it and decided to go with an extreme case dropping both to 1% and then 0.1% I had found that the deviations had become negligible with a large deviation being around 1% and averaging closer to 0.3%. this meant that even if a clump existed it would be unnoticeable to an average player. Now my only concern is balancing the better deviation numbers with load times as the best solution requires more passes to create a puzzle.