Skip to content
0:00 / 0:00

#haskell#yampa#functionalreactiveprogramming

FRP (Haskell/Yampa) with the game Cuboid (Part 1) - Episode 9

jekor

6.6K subscribers • 6 videos on Hallway

YouTube
  • Recommended by 4 people: 4 in engineering communities.
  • A classic. People kept recommending it from 2013 to 2017.
  • Linked in the descriptionpedromartins/cuboid
  • May be out of date. Uploaded 13 years ago, in an area where tools change fast.

Intermediate. Assumes working knowledge.

9.8K views13 years ago4 recommendations

Programming languagesGame developmentFunctional programmingGame programmingHaskell

An exploration of functional reactive programming in Haskell using the Yampa library and the 3D game Cuboid.

We're diving into research territory in this episode of Code Deconstructed. We'll glance at the game Cuboid (written in only 251 lines of code) before taking a detour to explore the fundamentals of arrows (Control.Arrow) and FRP (or AFRP as is found in Yampa). Cuboid: github.com/pedromartins/cuboid Links from the video in order: hackage.haskell.org/package/Yampa cs.nott.ac.uk/~nhn/ITU-FRP2010/LectureNotes/lecture02.pdf git hash: 6a637c3fba5968802933568d24e7a5b749271cac All Code Deconstructed videos: youtube.com/playlist?list=PLxj9UAX4Em-IBXkvcC3MycLlcxyoi7v8B

Why it's here

4 people recommend this

What people say. Recommended as a helpful video tutorial for learning functional reactive programming and game development in Haskell.

u/Eikonalsin r/haskell • Recommends

On “Looking to get into Haskell via game programming”

…es-arrows-part-1-stream-and/ Some links: * GLFW-b - high-level bindings to GLFW - https://hackage.haskell.org/package/GLFW-b * luminance API (OpenGL backend) - https://github.com/phaazon/luminance * Tetris game made using netwire (FRP) - https://scrambledeggsontoast.github.io/2014/09/23/tetris-netwire/ * Code deconstructed series - Cuboid game - link to this video * A sort of tutorial based on Cuboid - http://www.hgamer3d.org/# * Vulkan bindings - https://github.com/expipiplus1/vulkan * netwire + GLFW - https://hackage.haskell.org/package/netwire-input-glfw * netwire + SDL - https://ocharles.org.uk/blog/posts/2013-08-01-getting-started-with-netwire-and-sdl.html * netwire quickstart tutorial - https:/…

u/haskell_cavemanin r/haskell • Recommends

On “3D examples / tutorials”

…lide: https://github.com/sleexyz/hylogen Very easy/lightweight to get started. First time I tried livecoding shaders in Haskell was a "wow I do live in the future" moment. Some older resources (ok for starting out, i wouldn't build anything too ambitious based on these): a realtime raytracer with gloss (the code is included in gloss examples): link to this video (nice, gloss performance isn't great last I checked though) https://hackage.haskell.org/package/not-gloss (one of the earlier & accessible 3D efforts, but as with gloss, probably not particularly scalable) There's also this tutorial on youtube by jekor link to this video The code is out of date but the tutorial is beginner-friendly.…

u/quiteamessin r/haskell • Recommends

On “How can I use Haskell?”

For xmonad there is a great youtube video called "code deconstructed". It also features an episode on FRP in yampa.

u/nousetlogosin r/haskell • Recommends

On “Game programming and FRP?”

There are two videos going over Cuboid's (mentioned below) implementation in detail. I found them entertaining: link to this video