Does anyone have any experience making games using functional programming techniques? I'm not necessarily looking for games totally written in a functional language (though I would love to hear about it) - just interested in hearing of any kind of implementation of functional concepts.
altdevblogaday.com/2012/04/26/functional-programming-in-c/
^ Probably my favorite articles about the benefits of using functional programming concepts. The following paragraph always gets me:
"A significant mitigating factor is that performance today means parallel programming, which usually requires more copying and combining than in a single threaded environment even in the optimal performance case, so the penalty is smaller, while the complexity reduction and correctness benefits are correspondingly larger. When you start thinking about running, say, all the characters in a game world in parallel, it starts sinking in that the object oriented approach of updating objects has some deep difficulties in parallel environments. Maybe if all of the object just referenced a read only version of the world state, and we copied over the updated version at the end of the frame... Hey, wait a minute..."
altdevblogaday.com/2012/04/26/functional-programming-in-c/
^ Probably my favorite articles about the benefits of using functional programming concepts. The following paragraph always gets me:
"A significant mitigating factor is that performance today means parallel programming, which usually requires more copying and combining than in a single threaded environment even in the optimal performance case, so the penalty is smaller, while the complexity reduction and correctness benefits are correspondingly larger. When you start thinking about running, say, all the characters in a game world in parallel, it starts sinking in that the object oriented approach of updating objects has some deep difficulties in parallel environments. Maybe if all of the object just referenced a read only version of the world state, and we copied over the updated version at the end of the frame... Hey, wait a minute..."