diff --git a/NEWS b/NEWS
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,25 @@
+1.9.2.0
+-------
+
+- This version of a-t-g introduces convenience file-embedding functions
+  `embedFile` and `embedDir`.
+  An example on how this can be useful: suppose you are working on an ASCII
+  map using `tiled` map editor. You could save the map in a `data/map` and
+  then with `embedFile`
+
+      {-# LANGUAGE TemplateHaskell #-}
+
+      mapBS :: ByteString
+      mapBS = $(embedFile "data/map/gamma-labs.map")
+
+      gammaLabs :: GameMap
+      gammaLabs = parseMap mapBS
+
+  having it as a pure value in your program, and being able to ship a
+  single binary instead of a zipped archive.
+  `unpack :: ByteString -> String` and the `ByteString` type itself are
+  also re-exported as helpers.
+
 1.9.1.3
 -------
 
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:             1.9.1.3
+version:             1.9.2.0
 synopsis:            cross-platform library for terminal games
 description:         Library which aims to replicate standard 2d game
                      functions (blit, ticks, timers, etc.) in a terminal
@@ -55,11 +55,12 @@
   build-depends:       base == 4.*,
                        ansi-terminal >= 0.11 && < 1.1,
                        array == 0.5.*,
-                       bytestring >= 0.10 && < 0.12,
+                       bytestring >= 0.10 && < 0.13,
                        cereal == 0.5.*,
                        clock >= 0.7 && < 0.9,
-                       containers == 0.6.*,
+                       containers >=0.6 && <0.8,
                        exceptions == 0.10.*,
+                       file-embed >= 0.0.15 && < 0.1,
                        linebreak == 1.1.*,
                        mintty == 0.1.*,
                        mtl >=2.2 && <2.4,
@@ -109,11 +110,12 @@
   build-depends:       base == 4.*,
                        ansi-terminal >= 0.11 && < 1.1,
                        array == 0.5.*,
-                       bytestring >= 0.10 && < 0.12,
+                       bytestring >= 0.10 && < 0.13,
                        cereal == 0.5.*,
                        clock >= 0.7 && < 0.9,
-                       containers == 0.6.*,
+                       containers >=0.6 && <0.8,
                        exceptions == 0.10.*,
+                       file-embed >= 0.0.15 && < 0.1,
                        linebreak == 1.1.*,
                        mintty == 0.1.*,
                        mtl >=2.2 && <2.4,
diff --git a/src/Terminal/Game.hs b/src/Terminal/Game.hs
--- a/src/Terminal/Game.hs
+++ b/src/Terminal/Game.hs
@@ -23,6 +23,8 @@
 -- todo you should check again on win the «press exit to continue» test
 -- todo write that ascii/latin-1/greek letters should be ok on win
 
+-- todo rewrite test w/ an internal library method
+
 module Terminal.Game ( -- * Running
                        TPS,
                        FPS,
@@ -123,7 +125,6 @@
                        -- emulators/multiplexers.
                        -- Use them only on your machine or when you are sure
                        -- of the terminal you are targetting.
-
                        S.Colour, rgbColor, paletteColor,
                        S.sRGB24, S.sRGBBounded, S.sRGB, S.sRGB24read,
                        xterm6LevelRGB, xterm24LevelGray, xtermSystem,
@@ -140,11 +141,25 @@
                        -- (autorestarting your game when source files change)
                        -- is illustrated in @example/MainHotReload.hs@.
 
+                       -- * Embedding files
+
+                       -- | Embedding files is convenient when working on
+                       -- assets separately and still wanting to ship a
+                       -- single binary. Remember to add this pragma to
+                       -- the top of your module:
+                       --
+                       -- > {-# LANGUAGE TemplateHaskell #-}
+                       embedFile,
+                       embedDir,
+                       BC.ByteString,
+                       BC.unpack,
+
                        -- * Cross platform
                        -- $xcompat
                      )
     where
 
+import Data.FileEmbed
 import System.Console.ANSI
 import Terminal.Game.Animation
 import Terminal.Game.Draw
@@ -155,6 +170,7 @@
 import Text.LineBreak
 
 import qualified Control.Monad as CM
+import qualified Data.ByteString.Char8 as BC
 import qualified Data.Colour.SRGB as S
 
 -- $origins
