ZuriHac2015/Projects/FRPGames

From HaskellWiki
Jump to: navigation, search

FRP

Join me (Ivan Perez) during this ZuriHac2015 and write games in Haskell using FRP!

Functional Reactive Programming is a programming paradigm in which values that change are seen as signals, functions that assign one value to each point in time, and transformations between signals are seen as higher-order functions.

In FRP state is hidden, either in the past of other signals or in looped input signals that carry known past values.

My goal is to collaborate with others in creating a game using FRP and to help game enthusiasts write their own games.

You can read introductory material here: https://github.com/ivanperez-keera

What FRP flavour?

I am the maintainer of Yampa, an FRP implementation structured around concepts of digital signal processing and realised using Hughes' arrows.

Examples of Haskell games written in FRP are listed on our project page.

There are obvious caveats in all FRP implementations, Yampa included, so I'd love it for you to help me figure out how to make Yampa better. You do not need to be an expert, I'm very interested in the kinds of API-usability problems that users may run into.

Only Yampa?

Most FRP flavours are quite similar. I am open to using Yampa or any other implementations and to help people realise their own games. I will be writing one game (or beginning to write one, at least), and you are welcome to join me.

Graphics

Of course, you can create your own, although we'll be taking graphics from known websites that allow designers to share assets. I tend to use SDL2 and 2D graphics, only because it's easier. You can also talk to the LambdaCube3D people and combine FRP and their DSL to create a game.

Hardware

I will probably be taking a wiimote and a wiibar with me, which people in the FRPGames project are welcome to borrow (I only have one, you can bring your own if you want). There's online documentation and examples of how to use it.

I've used Haskell (sometimes FRP, sometimes not) with Webcams, Kinects, Wiimotes, Accelerometres, Leap motion, Arduino, Quadcopters, Google Glass, OculusVR,... if you have a device and would like to play around with it, this may be your chance. Bring it to the hackathon, and we'll see what can be done with it.

What if I don't want to write a game?

If you are interested in FRP, multimedia or anything else we do, you are more than welcome to join the project. FRP has been used in combination with web, so seeing an FRP web app would be quite neat.

What if I don't want to use FRP

That's fine! This is an FRP or Games corner: you are more than welcome to join us even if you don't want to use FRP. If you don't know where to start, I can give you pointers to non-FRP Haskell games that you can build upon.

Can you help me get started?

Yes. Find me (Ivan Perez) at the hackathon. I can give you pointers, answer questions about graphics, Haskell, etc. Depending on how many people we are, we may also split in small groups to create different games, but that's entirely up to you.

You can also find me on facebook (Ivan Perez Dominguez) or drop me an email (ivan dot perez at keera co uk) if you want to some info before or after the hackathon.