В коротких играх, проводимых с бумагой и карандашиком - из бросания кубика. В длинных, реализованных на компьютере из "Randomize;x:=Random(2)"
Тогда для кубика нужно будет сделать вычисления его падения, зависящие от поверхности на который брасается кубик, материал из которого сделан кубик, его вес и еще десятки параметров, в том числе и силу броска, из силы броска нужно идти по цепочке, от которой зависит сила броска(рукой) и мы уткнемся на непознанное(на данный момент), т.е. что влияет на силу броска кубика человеком.
С Random'ом все проще, т.к. он вычисляется по известным алгоритмам, которые базируются на seed'е, а обычно(но не всегда) за seed берется текущее время с шагом до милисекунды и т.д. Если за seed будет браться какой либо внешний источник случайных чисел, то нужно будет вычислять и его закономерности.
Т.е. во втором случае все будет просто предсказать, а в первом пока нехватает знаний. Но повторюсь, ПОКА.