Я делаю простую стратегическую игру 4X в космосе, где каждый узел является точкой интереса (планета, астероид и т. Д.).
Чтобы случайным образом создать карту, я бы следовал инструкциям ниже
Определите, сколько типов каждого узла будет иметь карта (например, 5 планет земного типа, 10 бесплодных планет и т. Д.)
Разместите каждый тип узла на карте.
Для шага 2 я хотел бы иметь четное распространение каждого типа узла. Так, например, я бы начал с размещения всех планет земного типа. Если я просто сделаю ранд (map.width, map.height), чтобы определить положение, я могу закончить кластеризацию всех планет земного типа, что даст преимущество игроку, начинающему в этой области.
Существуют ли какие-либо методы, такие как использование различных графовых функций или шумовых функций, которые могут генерировать последовательность (x, y) координат, которые разнесены друг от друга. Аналогично, есть ли способы генерировать координаты, которые близки друг к другу?