Да, верно, самый простой способ — это использовать текущее время и далее пропустить его через какой-то алгоритм. Можно даже с использованием каких-то дополнительных значений или прошлых результатов. Обычно, конечно, используется довольно сложные алгоритмы с кучей параметров и несколькими источниками случайных чисел.
Можно как-то спрогнозировать то, что в 00:00 у нас будет больше мелких значений, а в 23:59 больше максимальных?
Да, зная алгоритм можно сделать такой прогноз. И такие типы атак тоже существует и используются во вредоносном ПО. Т.к. если алгоритм уязвимый, то результат его работы можно взломать за более короткое время. Случайные числа — основа современной криптографии.
Слышал такую теорию, что случайные числа для игр (например Lineage 2 или WoW) не генерируются каждый раз, а заранее на сервере уже создан массив случайных чисел и числе берется от туда, а не генерируется в моменте.
Да, так тоже можно делать для снижения нагрузки в пиковые часы. Например ночью генерировать блоки случайных данных, а вечером, когда много игроков онлайн — просто использовать готовые случайные числа.
Так же существуют аппаратные генераторы случайных чисел — специальная микросхема, которая использует реальные физические явления для генерации случайных чисел. Например колебания атомов, шумы в атмосфере, электромагнитные шумы, наводки и прочее. Могу порекомендовать очень интересную лекцию "
Сложность конечных последовательностей нулей и единиц и геометрия конечных функциональных пространств" Владимира Арнольда:
https://elementy.ru/video/103/Slozhnost_konechnykh...