All Projects → rvl → flatris

rvl / flatris

Licence: GPL-3.0 License
FRP block game

Programming Languages

haskell
3896 projects
CSS
56736 projects
Nix
1067 projects

Projects that are alternatives of or similar to flatris

reflex-dom-semui
A reflex-dom API for Semantic UI components
Stars: ✭ 22 (+46.67%)
Mutual labels:  reflex-frp
reflex-native
Framework for writing fully native apps using Reflex, a Functional Reactive Programming library for Haskell.
Stars: ✭ 40 (+166.67%)
Mutual labels:  reflex-frp
reflex-stone
Template repository for writing GHCJS/Reflex apps targeting static sites without a backend.
Stars: ✭ 24 (+60%)
Mutual labels:  reflex-frp
reflex-examples
See Reflex FRP in action with tinker-friendly code samples you can run yourself.
Stars: ✭ 76 (+406.67%)
Mutual labels:  reflex-frp
Taut
An ambitious Slack JSON export viewer.
Stars: ✭ 22 (+46.67%)
Mutual labels:  reflex-frp
reflex-dom-ace
Reflex wrapper for the ACE editor
Stars: ✭ 12 (-20%)
Mutual labels:  reflex-frp

Flatris

Like the popular falling block game, but flatter and less fun.

About

This is a FRP reimplementation of a little game I wrote a long time ago.

The original was written in C++ using OpenGL.

This version is written in Haskell using SVG in a web browser, via the Reflex FRP library.

Play online

https://rvl.github.io/flatris/

Building

Building with nix and GHC:

nix-shell --run "cabal configure && cabal build"

Building with nix ghcjs:

nix-shell --argstr compiler ghcjs --run "cabal configure --ghcjs && cabal build"

Full site build with minification (uses nix-shell and Shake). Will create a docs directory:

./build

Note that the build depends on the Reflex Platform environment. You will want to check that ./try-reflex works first. Make sure the binary cache for reflex is added to your Nix config, or your computer will be building a lot of packages.

Development

If you build for GHC, the app will run in a WebKitGtk frame. The code can be loaded and started through ghci.

For automatic reloading, the app runs a web server and is viewed with a web browser. It uses ghcid to monitor the sources and reload the code.

To start the auto-reloading dev server (do this within nix-shell):

./dev-server

Then visit http://localhost:3030/

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].