Skip to content

Andrea/FunctionalProgrammingInGames

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 

Repository files navigation

Functional Programming In Games

Welcome to this page! Hope you find what you are looking for

I don't know you, but when I was learning how to do funcitonal programming I wanted to program fun things, or something other than a "website for your cat(tm)" so I was looking for FP in games and there wasn't much around at the time... so I created this list.

Please note: this list is not complete. If you find something missing or incorrect, please send a PR or create an issue specifying the problem.

Thanks

Some resources for Functional Programming in Games Resources

Books

Tutorials

Videos

Presentations

Papers

Libraries and engines

Haskell

F #

  • Duality Scripting Allows you to write F# on the Duality Game Engine (the compiler is integrated into the editor so you can write code on any editor you want). This plugin supports C# too.
  • Nu Game Engine cross-platform F# 2D game engine. It encourages to use as the architecture a variation of FRP which he calls Iterative Functional Reactive Programming.
  • Unity 3D can be used with F#. There are multiple examples in the internet, for example this one.

Clojure

  • play-clj A wrapper around libGDX. It supports pc, Android and iOS (through RoboVM).
  • brute An Entity Component System which supports both Clojure and ClojureScript. Some information on the thinking behind the implementation are on the author's blog.
  • Arcadia Clojure integrated into the Unity engine. It uses ClojureCLR. It has been used for interactive art installations and game jam games.

Scala

  • Indigo: A Scala 3 / Scala.js 2D game engine built specifically for functional programmers.
  • SGL: Scala Game Library (SGL) is a library for developing cross-platform 2D video games in Scala. It provides a high-level API for building games, and can export games to the Desktop, Android, and the web. More platforms, including iOS and consoles, are on the roadmap.

Awesome Gamedev Repositories

Games

Shipped or in development commercial games made with FP languages
Open source
  • Game jam games

  • More open source games, by language

  • Meta - games that teach functional programming concepts in-game

    • cube-composer
      • "A puzzle game inspired by functional programming, written in PureScript."
    • lambda-lantern
      • You collect functional programming patterns and use them to solve puzzles and escape a dungeon.
      • "Lambda Lantern is a game made with PureScript, PureScript Native, and Panda3D." ("One of the purposes of Lambda Lantern is to demonstrate binding PureScript to C++.")
    • functional - on Steam and open source, implemented in Rust
      • "functional is a puzzle game about math and abstraction."