Create games for free

Latest on Hackage:1.1.90

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow to host generated Haddocks.

BSD-3-Clause licensed by Fumiaki Kinoshita
Maintained by Fumiaki Kinoshita

free-game defines a monad that integrates features to create 2D games.

Twitter: #hs_free_game



  • Added mouseScroll
  • Fixed the malfunction of FPS management


  • Exported clipBitmap


  • Added mouseInWindow


  • Use Box instead of drab BoundingBox


  • No fundamental changes


  • Fixed some potential bugs that appeared on 7.8.1 RC2
  • Added getBoundingBox and setBoundingBox which accesses the window size and the region to draw.
  • Resizable, the new constructor of WindowMode, will create a resizable window.
  • Demoted the precedence of thickness and blendMode according to other APIs.


  • Added runGameDefault as an alternative of classic runGame def.
  • Removed the duplicate instance of MonadIO.
  • free-game no longer depends on ominous repa.
  • Reconstructed ‘FreeGame.Data.Bitmap’. ‘Bitmap’ is just an alias of Codec.Picture.Repa.Image PixelRGBA8
  • Added bitmapOnce which does not keep the internal texture to draw.
  • Added forkFrame analogous to forkIO.
  • Accelerate text rendering.
  • Make the window size solid.


  • Supported changing a blend function. blendMode mode m changes the blend mode while m is running.
  • Fixed fatal ‘keyPress’-related bugs.
  • Special thanks: @myuon_myon
  • Re-added keyChar and keySpecial.


  • Demoted the precedence of Affine APIs to 5.


  • Supported free-4.4.
  • Supported GLFW-b-1.3.
  • Use Double instead of Float.
  • Made it more efficient.
  • loadBitmaps takes an expression instead of a Name.
  • Reorganized typeclasses.
  • Rename: fromBitmap -> bitmap
  • Rename: colored -> color
  • New API: takeScreenshot
  • New API: getFPS, setFPS
  • Now the verbose module prefix Graphics.UI is extinct.
  • And a bunch of renovations…
comments powered byDisqus