Freeモナドでゲームを作ろう!第0回: 概要

連載目次

先ほど、free-gameというライブラリをアップロードしました。free-gameは、世界で一番柔軟かつ簡単にゲームなどのGUIを作れるライブラリを目指しています。

Freeモナドとは

Freeモナドは、Functorを与えると自動的にモナドを生成してくれる構造で、これを使うことで、アクションをデータの一つとして柔軟に扱えるようになります。去年の10月ごろからにわかに日本のHaskeller間で流行り始めた、今一番熱いモナドです[要出典]。Freeモナドそのものに関してはこれらの記事を読みましょう。

free-gameの軌跡

私はしばらく前から、Haskellでゲームを作るためのライブラリとしてglossを推していたのだが…

glossの仕様に結構不満を抱いていた。

そんなある日、私はFreeモナドと出会う。

そして私は、その記述力をゲーム開発に生かそうとライブラリの開発に取り掛かった。

そして…ついにプロトタイプが完成した。

紆余曲折を経てOpenGLに対応し、今のfree-gameができたのである。

今なら胸を張って言える。「Haskellでゲームを作るならfree-game!」と。

インストール

cabal update
cabal install free-game

これだけ。

補足

  • Windows環境においてLexical Errorが発生した場合、set LANG=Cとしてからリトライするとうまくいく。
  • Ubuntuに入れる際に必要になったもの: libgl-mesa-dev, libglu1-mesa-dev, zlib1g-dev, libxrandr-dev

次回から、free-gameでどのようにしてゲームを作るのかをコードを交えて解説していきたいと思います。