Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>C++ isn't naturally suited for FRP; any libraries you use (<a href="http://www.boost.org/doc/libs/1_48_0/libs/phoenix/doc/html/index.html" rel="noreferrer">Boost.Phoenix</a> is a good one) will carry some overhead that you most likely don't want to deal with in a commercial 3D game.</p> <p>Not only that, but FRP isn't a very well developed technique for games, not even in Haskell, afaik; do you want to make a game or do you want to develop a technique for making games?</p> <p>Component-based entity systems have been around for quite a while and are a proven concept. They do have their limitations, most notably, how do components communicate with each other? &mdash; one solution is to have two types of components, attributes and behaviours; the latter can access any attribute, but they cannot access each other.</p> <p>If you want to make a game, go with CBS. If you want to help develop FRP in games, then do that.</p> <p>Btw, you're so very wrong to say that 2D games have simple engines. :)</p> <hr> <p><strong>2014 Update</strong></p> <p>A new language has since appeared that make extensive use of functional reactive techniques and is aimed at web development, called <a href="http://elm-lang.org/" rel="noreferrer">Elm</a>. It is very similar to Haskell and is supported by <a href="http://prezi.com" rel="noreferrer">Prezi</a>, afaik. The language designer had a pretty good <a href="http://www.infoq.com/presentations/elm-reactive-programming" rel="noreferrer">presentation</a> in which he made a small game using FRP. Anyone interested in how FRP should be handled might want to look at that video.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload