Хочу сделать элементарный 3D лабиринт. Будет интересней, если не я построю пару лабиринтов, а уровни будут генерироваться сами.
Для начала я замоделил несколько заготовок блоков "путей", что то вроде этого:
Вопрос в том, как реализовать саму генерацию лабиринта. Есть идея расставить штук 16 дефолтных блоков, которые в момент генерации будут рандомно заменятся одним из заранее заготовленных:
Но как при этом можно быть увереным, что проход к "выходу" не будет занесен?
Можно пустить луч от спавна в 4 разные стороны и разветвлять при каждом столкновении со стеной на еще 4 таких же луча, пока один из них не попадет в точку выхода и если не попадет за опр. время, то генерировать заного.
Но может есть более рациональные решения о которых я не знаю?