Какой использовать генератор случайных чисел?
Наверное, вам подойдёт шум Перлина.
Например, josephg/noisejs. Функции возвращают в диапазоне -1..1. Одинаковые seed и x, y всегда вернут одинаковое значение.
Вам нужно идти в сторону сидирования. Это псевдослучайное число.var random = new Random(5632732);

console.log(random.number(0, 10)) //> 3.280606995884774 
console.log(random.number(0, 10)) //> 3.679312414266118
console.log(random.boolean(50)) //> true
console.log(random.boolean(50)) //> true

function Random(seed) {
	this.seed = seed;
}

Random.prototype.number = function(min, max) {
	this.seed++;
	return min + (((this.seed * 9301 + 49297) % 233280) / 233280) * (max - min);
};

Random.prototype.boolean = function(rate) {
	this.seed++;
	return Math.sin(this.seed) <= rate / 100;
};