Declarative Game Programming -- slides, videos and code

Earlier this month, Henrik Nilsson & Ivan Perez presented a tutorial at PPDP 14 on Declarative Game Programming. The goal was to show how real game programming is possible in a purely functional, declarative way. One way of doing so, seeing games as networks of interconnected signals and signal transformers, results in clear, reusable, modular code. To illustrate these ideas, a small but realistic game was demonstrated, featuring many of the complex elements found in arcade games: SDL graphics and sound, Wiimote controller, and differentiated subsystems for rendering and sound, game input, physics/collisions, game logic, etc. The game has several levels, each with its own background and music. To help others interested in functional game programming, all the talk material have been made available, including the slides and the full game code. ...

A new version of Yampa is out (0.9.6)

Yampa is an impressive, arrowized, Functional Reactive Programming (FRP) implementation written in Haskell. We are using it to implement Android games at Keera Studios, and it has been used, among others, to implement the video game Frag (see video below). ...

The most inspiring green screen you will ever see

While Haskell, Idris and other Functional Programming (FP) languages enable writing elegant code, the road to production is, well, bumpy. Writing code for industrial environments has added costs that make certain products too expensive and infeasible in practice. ...

Delving into Reactive Values

In a previous posts we examined the current state of GUI programming in Haskell, how imperative libraries get in the way of functional beauty, and how (non-FRP) reactive programming enables short, declarative code and facilitates code reuse. But without the low-level details, without more information on how this framework is structured, all we have is an idea, a draft on a piece of paper. It’s impossible to know how much effort it will require, or how much it will affect our code. ...

GUI programming in Haskell "the old way"

As discussed in a previous post, purely functional GUI frameworks may fail to deliver in terms of feature coverage, look-and-feel and codebase scalability. As a result, many programmers turn back to good-old Gtk+ for their user interfaces (see, for instance, Ian-Woo Kim’s hoodle). ...

On the state of GUI programming in Haskell

GUI programming in functional and logic languages tends to feel quite hard. There is nothing intrinsic in FP that makes GUI programming extra hard, but when everywhere else you are surrounded by nice, abstract, compositional, high-level descriptive definitions, working at the GUI’s low level feels… well, like you’re doing something wrong. ...