diff --git a/ansi-terminal-game.cabal b/ansi-terminal-game.cabal
--- a/ansi-terminal-game.cabal
+++ b/ansi-terminal-game.cabal
@@ -1,5 +1,5 @@
 name:                ansi-terminal-game
-version:             0.5.0.0
+version:             0.6.0.0
 synopsis:            sdl-like functions for terminal applications, based on
                      ansi-terminal
 description:         Library which aims to replicate standard 2d game
@@ -38,6 +38,7 @@
                        Terminal.Game.Draw,
                        Terminal.Game.Utils,
                        Terminal.Game.Plane,
+                       Terminal.Game.Random,
                        Terminal.Game.Timer
   build-depends:       base == 4.*,
                        ansi-terminal >= 0.8 && < 0.11,
@@ -50,6 +51,7 @@
                        mintty == 0.1.*,
                        mtl == 2.2.*,
                        QuickCheck == 2.13.*,
+                       random >= 1.1 && < 1.2,
                        split == 0.2.*,
                        terminal-size == 0.3.*,
                        timers-tick == 0.4.*
@@ -82,6 +84,7 @@
                        Terminal.Game.Layer.Object.Test,
                        Terminal.Game.Utils,
                        Terminal.Game.Plane,
+                       Terminal.Game.Random,
                        Terminal.Game.PlaneSpec
   build-depends:       base == 4.*,
                        ansi-terminal >= 0.8 && < 0.11,
@@ -93,6 +96,7 @@
                        linebreak == 1.0.*,
                        mtl == 2.2.*,
                        QuickCheck == 2.13.*,
+                       random >= 1.1 && < 1.2,
                        split == 0.2.*,
                        terminal-size == 0.3.*,
                        timers-tick == 0.4.*
diff --git a/changes.txt b/changes.txt
--- a/changes.txt
+++ b/changes.txt
@@ -1,3 +1,9 @@
+0.6.0.0
+-------
+
+- Add random generation functions.
+- Released Sun 10 Nov 2019 13:44:32 CET
+
 0.5.0.0
 -------
 
diff --git a/src/Terminal/Game.hs b/src/Terminal/Game.hs
--- a/src/Terminal/Game.hs
+++ b/src/Terminal/Game.hs
@@ -28,7 +28,7 @@
                        Game(..),
                        playGame,
 
-                       -- * Game Logic
+                       -- * Game logic
                        -- | Some convenient function dealing with
                        -- Timers ('Timed') and 'Animation's.
                        --
@@ -52,6 +52,12 @@
                        fetchAniFrame, isAniExpired,
                        getFrames,
 
+                       -- ** Random numbers
+                       StdGen,
+                       getStdGen, mkStdGen,
+                       getRandom, getRandomList,
+                       Random,
+
                        -- * Drawing
                        -- | To get to the gist of drawing, check the
                        -- documentation of '%'.
@@ -91,11 +97,12 @@
     where
 
 import System.Console.ANSI
+import Terminal.Game.Animation
+import Terminal.Game.Draw
 import Terminal.Game.Layer.Imperative
 import Terminal.Game.Layer.Object
 import Terminal.Game.Plane
-import Terminal.Game.Draw
-import Terminal.Game.Animation
+import Terminal.Game.Random
 
 -- $threaded
 -- Good practices for cross-compatibility:
@@ -114,5 +121,6 @@
 --   that go well with either (blue, red, etc.);
 --
 -- * some terminals/multiplexers (i.e. tmux) do not make a distinction
---   between vivid/dull, do not base your game mechanics on that
+--   between vivid/dull; do not base your game mechanics on that
 --   difference.
+
diff --git a/src/Terminal/Game/Random.hs b/src/Terminal/Game/Random.hs
new file mode 100644
--- /dev/null
+++ b/src/Terminal/Game/Random.hs
@@ -0,0 +1,24 @@
+module Terminal.Game.Random ( R.StdGen,
+                              Random,
+                              R.getStdGen,
+                              R.mkStdGen,
+                              getRandom,
+                              getRandomList )
+            where
+
+import System.Random as R
+
+
+-- getRandom :: (Ord a, Show a) => (a, a) -> StdGen -> (a, StdGen)
+-- getRandom bs@(l, h) sg
+--         | l > h     = error $ "getRandom: lowBound > highBoud, " ++ show bs
+--         | otherwise = randomR _ _
+
+-- | Simple pseudo-random generator.
+getRandom :: Random a => (a, a) -> StdGen -> (a, StdGen)
+getRandom bs sg = randomR bs sg
+
+-- | Returns an infinite list of random values.
+getRandomList :: Random a => (a, a) -> StdGen -> [a]
+getRandomList bs sg = randomRs bs sg
+
