В проектe Пирог – напомню, что это Rogue на Питоне, следовательно Pyrogue – было сделано клиент-серверное взаимодействие. При этом рассматривались различные варианты генерации карты. Всё это можно найти в прошлых выпусках, но предварительная реализация делалась на JavaScript для онлайн-примеров. Пора добавить в сам Пирог хоть какую-то генерацию карты, чтобы можно было идти дальше. Но тут меня посетила ещё одна идея, как это можно сделать, и проиллюстрирую я её конечно опять с помощью JS :) В оригинальном Rogue каждый уровень состоял из 9 комнат, расположенных примерно по сетке 3*3 (некоторые комнаты были вырожденные и становились коридорами). Сама комната всегда прямоугольная. Я решил взять те же 9 комнат, но накидать их без сетки, в полностью случайном порядке. Это привело к тому, что часть комнат, как и раньше, стоит отдельно, а часть наложилась друг на друга. Результатом такого наложения становятся самые разные неровные формы. Между ними достаточно провести коридоры, и уровень готов