[Haskell-cafe] [Announcement] Haskell game for iOS

Ivan Perez ivanperezdominguez at gmail.com
Fri Jun 16 12:33:05 UTC 2017


(I responded to Paul/Baa separately, but maybe this will be of interest to


We started this game at the end of 2014, beta tested on Google Play in
January 2015, and launched for Android in February 2015. Since then we
debugged, rewrote the game's engine completely, and launched for iOS. Both
in time and in number of commits, for this particular game, the effort we
put after the launch far exceeds the time we put before. The Android
ecosystem is quite heterogeneous, and we saw the game crash only in very
specific models but not others. This usually had to do with either the RTS
or threads. (I wrote this game in other languages before 2014: Java, Scala,
frege. But integration was not good enough, compilation was not good
enough, and they could only target JVM.)

Nevertheless, while it may seem like a simple game, we were among the first
to attempt any of this for real. Even more time went into prior games that
we threw out, and in making the tools work. We invested so much time in
developing tools, libraries and examples to make Haskell game/apps for
mobile easy to produce! This is not apparent in the game. Actually, someone
wrote last year asking if we'd closed down (ouch!).

Writing this and other Haskell games and apps let us understand
strengths/weaknesses of Haskell and FRP. That's been also the focus of my
PhD [1]. We can't tell people that Haskell "can" be used for real games or
apps, give them some tools, and walk away. Many paper examples break under
real conditions. When we write games, we also "put the money where our
mouths are". Even if this game is not successful in the end, it's given us
a lot of experience. We have other, more complex games in the store (one
being beta-tested, another is still in development). We are also writing
apps. And introducing testing facilities. I hope the effort pays off.

I'm really happy with the current state of things: new apps can be created
superquickly, and from my machine (I have everything cached) they take less
than 1 minute to recompile and upload to the store. It's is a one-liner :)
We are creating playable demos and apps in hours/days. And these do not
only work on iOS/Android, but also on desktop and web. I've personally been
looking for people and companies interested in doing this together. FP and
non-FP. Not (just) customers, but also long-term partners that believe in
this. And I've been looking for people to work on maintaining the
Android/iOS backends, which is super-hard. I know others have too, and I'm
hoping we can coordinate on this.


Currently, about 20-30MB per architecture.

All the best


[1] http://www.cs.nott.ac.uk/~psxip1/

On 13 June 2017 at 17:47, Baa <aquagnu at gmail.com> wrote:

> Hello, Ivan. Would you like to describe: how big is your game in
> Megabytes without any compression (interesting is binaries, not
> sprites, media, etc assets)? And how many time/human resources did you
> spent to release it?
> ---
> Best regards, Paul
> > Dear all
> >
> > (I hope this is not seen as spam. My sincere apologies if you see it
> > as such.)
> >
> > This is just to let you know that we have released a Haskell game for
> > iOS on the App Store.
> >
> > https://itunes.apple.com/us/app/magic-cookies/id1244709871
> >
> > There is also an Android version [1]. It's the same Haskell code with
> > just a few minor adaptations [2] (the iOS version is actually
> > simpler). Issues with either version can be reported online [3].
> >
> > I hope this is seen as yet another step reached by Haskell. This game
> > is written in the FRP variant Yampa, and uses SDL2 for graphics.
> > While the game is not open source, we've had to extend existing
> > Haskell libraries and tools to make this possible. These changes will
> > now be sent as pull requests to the corresponding projects.
> >
> > We have also developed in-house tooling to make the development,
> > compilation and deployment process for mobile platforms smooth [4].
> > Recompiling and deploying a new version online is now automatic and
> > takes less than 1 minute. These tools also run directly on Travis and
> > publish new versions of our games directly to stores. We have already
> > started distributing our toolchain to private users, and our plan is
> > to release immediately.
> >
> > We'd like to thank all the users who tried the game before the
> > release, many during Zurihac last weekend. Also, many thanks to the
> > people who worked on GHC and the ARM backends over the years, and to
> > all those who work daily to make Haskell better. We really mean that.
> >
> > Once again, I hope this is not seen as spam, but as something worth
> > celebrating.
> >
> > And, also, that you enjoy playing.
> >
> > Best wishes
> >
> > Ivan
> >
> > -- Keera Studios
> >
> > [1]
> > https://play.google.com/store/apps/details?id=uk.co.keera.ga
> mes.magiccookies
> >
> > [2]
> > https://www.facebook.com/keerastudios/photos/a.3013262232162
> 44.89053.300854939930039/1701909406491245/?type=3
> >
> > [3] https://github.com/keera-studios/magic-cookies
> >
> > [4] http://keera.co.uk/blog/2017/06/01/haskell-android-ios/
> _______________________________________________
> Haskell-Cafe mailing list
> To (un)subscribe, modify options or view archives go to:
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
> Only members subscribed via the mailman list are allowed to post.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20170616/1252dcf1/attachment.html>

More information about the Haskell-Cafe mailing list