
About
haskanoid is a Haskell implementation of a Breakout-style game built with the Yampa functional reactive programming library. It was created for educational purposes but includes real subsystem complexity: SDL 1.2 graphics and sound, and support for keyboard, mouse, Wiimote, and Kinect input. It's distributed via Hackage/cabal, and a separate SDL2-based port exists for Android on Google Play.
Getting started
Install it from Hackage with cabal (`cabal install haskanoid`) and run the resulting binary. Playing with a Wiimote requires launching with extra runtime flags, and players without a Wiimote or Kinect (or on macOS) can disable that support at install time via cabal flags.
History
The game was used to present a Declarative Game Programming tutorial at the PPDP 2014 conference.
Media
Additional notes
- Known issue
- A separate SDL2-based Android port from Keera Studios has a known bug where the app doesn't properly close or save progress on exit.