I'm glad you enjoyed it! The rule generation was mostly just picking random objects or terrain to mention, and then the rules were interpreted to sort all possible cell combinations into safe and unsafe groups, and if one of those groups were empty it regenerated everything. Then a random path was generated from the start to the end, backtracking if it got stuck, and all cells in that path were chosen from the safe cell combinations, and the rest of the cells could be either safe or unsafe.