Just in time for your vampire themed gamebooks, we’re releasing GBAT 1.16! We’ve implemented a much requested feature: Shuffle Smarts.
Our shuffle algorithm has traditionally been very primitive. It loops through all of the section numbers in your book, unhooks all the sections that aren’t marked as fixed position, shuffles all those numbers and then assigns them to the empty slots. This is surprisingly effective, but you can get into some situations where the shuffling has put your sections and choice destinations next to each other.
Here’s an excerpt from Jeff the Country Singer Vampire Slayer:
You accidentally awaken the vampire, and he now has his horrible hands around your neck!
- Sing the vampire one of your greatest hits - 4
- Hit the vampire with your guitar - 15
You try to sing the popular "I wanna whip your cow" but the vampire's grip has crushed your delicate vocal chords. You are unable to serenade the vampire with the beauty of your voice!
Your adventure ends here.
The shuffling has placed your section and one of its choices next to each other. This isn’t want we want! We want surprises and the choices to mean something.
The new shuffle algorithm now shuffles your book multiple times, each time calculating the shuffle score, which is how much a book is shuffled. The shuffle which has the greatest shuffle score will then be applied, and this should mean your book should feel more mixed up.
Calculating the shuffle score can be surprisingly complex! First we find the section number and all the choice destination numbers. With this set of numbers, we find the average difference between each of them. This gives us an indication of how distributed a section and its choices are. If we loop through all the sections performing this calculation we have an indication of how mixed the book is.
It seems to work fairly well, please send us your feedback! It will be more effective as your gamebook gets bigger.
Export Graph Bug
This has been fixed, thanks for reporting this!
There is still a known issue where if you change the zoom level the canvas size doesn’t export with the zoomed size, but that will be fixed next version.