yampa2048: 2048 game clone using Yampa/Gloss

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.



A simple game clone of a popular 2048 game using Yampa FRP library and Gloss for graphics.

Use the arrow keys to slide the rows or columns of the board and try to survive for as long as possible. When there is no more move possible you will be presented with a game over message for 5 seconds and the game will be restarted after that.

[Skip to ReadMe]


Change logNone available
Dependenciesbase (==4.7.*), gloss (==1.9.*), random, Yampa (==0.9.*) [details]
Copyright(C) 2015 Konstantin Saveljev, Josh Kirklin, Maia Werbos
AuthorKonstantin Saveljev <konstantin.saveljev@gmail.com>
MaintainerKonstantin Saveljev <konstantin.saveljev@gmail.com>
Home pagehttps://github.com/ksaveljev/yampa-2048
Bug trackerhttps://github.com/ksaveljev/yampa-2048/issues
UploadedThu Feb 5 09:28:37 UTC 2015 by ksaveljev


Maintainers' corner

For package maintainers and hackage trustees

Readme for yampa2048-

[back to package description]

2048 game clone using Yampa FRP library

After trying to grasp the idea of FRP (mostly concentrating on Yampa library) I have finally found myself understanding it enough to write something simple.

yampa-2048 using Gloss

This project is based on some code by other people. I wasn't interested in implementing the logic of 2048 myself or drawing to Gloss window from scratch. As a result this repository contains some chunks of the code written by other people:

Josh Kirklin and his excellent implementation of 2048 in Elm provided me with the game logic.

Maia Werbos and her great implementation of 2048 using Gloss provided me with the rendering chunk of code.

I was able to come up with my solution after reading the code by Keera Studios and their amazing Haskanoid project


cabal sandbox init
cabal install --dependencies-only
cabal run

The gameplay is pretty simple. Nothing fancy. Try to survive for as long as possible.

Things I would like to change but probably won't: