| ▲ | jesse__ 6 hours ago | |
Love this. As an aside, if the author reads this, did you consider using bitfields for the superposition state (ie, what options are available for a tile)? I did a wfc implementation a while back and moved to bitfields after a while.. the speedup was incredible. It became faster to just recompute a chunk from scratch than backtrack because the inner loop was nearly completely branchless. I think my chunks were 100 tiles cubed or something. | ||
| ▲ | zimpenfish 2 hours ago | parent [-] | |
> I did a wfc implementation a while back and moved to bitfields after a while.. the speedup was incredible. Yeah, my WFC bot (which happens to generate Carcassonne maps in an amusing coincidence) eventually ended up using https://github.com/bits-and-blooms/bitset which improved things hugely. > It became faster to just recompute a chunk from scratch Kinda what mine does - every now and again[0] it stacks the current state and if it gets stuck, just pops the last one and continues from there. [0] Just checked and it's every `tileCount / 20` iterations, hilariously in a variable named `tenper`. I hate past me. | ||