Идея возникла после игры в minecraft. Там мир генерируется по мере похождений игрока.
Сегодня решил немного поразмять программерскую часть мозга, на производительности особо не заморачивался, рисовал на канве.
В итоге, получилась такая демка:
Мир постоянно скроллится, генерируясь блоками 400х400. Следующий сгенеренный блок связан с предыдущим.
Создается слой лавы, угля, глины, чернозема, вода, песок, трава и деревья.
Так же генерятся пещеры, если пещера выходит под воду, то она заполняется.
Для создания каждого слоя используется свой алгоритм, чернозем становится песком при контакте с водой. Трава растет только на черноземе находящимся на поверхности, деревья тоже.
Движение карты можно остановить и рассмотреть ее в увеличенном виде.
Прикрепляю исходники с исполняемым файлом:
quard.zip (Размер: 214.76 Кб / Загрузок: 123)