Difference between revisions of "User talk:DavidE"
Jump to navigation
Jump to search
(Replacing page with '= Bogre-Banana = Please go here for the latest version of this page: [http://www.haskell.org/haskellwiki/Bogre-Banana Bogre-Banana]') |
|||
(28 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
= Bogre-Banana = |
= Bogre-Banana = |
||
+ | Please go here for the latest version of this page: [http://www.haskell.org/haskellwiki/Bogre-Banana Bogre-Banana] |
||
− | == What is Bogre-Banana == |
||
− | |||
− | Bogre-Banana is a 3D game engine for Haskell. It uses Haskell bindings to the OGRE 3D engine and a library called Reactive-Banana, to create a "Functional Reactive Programming" game engine. Bogre-Banana is designed to be concise and easy to use. |
||
− | |||
− | |||
− | == What is "Functional Reactive Programming" == |
||
− | |||
− | Functional Reactive Programming (FRP) is a programming paradigm used widely with Functional languages to create interactive programs. |
||
− | |||
− | |||
− | == FRP Crash Course == |
||
− | |||
− | Programming in FRP consists of creating a network of "Behavior"s and "Event"s (although Events are more like event streams). A Behavior represents something that changes through time. An Event represents discrete time specific events. The key difference between a Behavior and an Event is that a Behavior has a value at all times, while an Event only occurs at specific instances of time. |
||
− | |||
− | In the context of a game engine, one might have a stream of events |
||
− | for keyboard input. When the user presses a key, a corresponding event |
||
− | is created. The number of times a key is pressed could be expressed as a |
||
− | Behavior based off of the keyboard event stream. This Behavior could |
||
− | be mapped to an output, e.g. displayed on the screen to the user. In a |
||
− | similar way, time, input, and world state can be expressed as Events and |
||
− | Behaviors then combined in various ways to create complex interactions |
||
− | that govern all aspects of the game. |
||
− | |||
− | Reactive-Banana is the FRP library used in Bogre-Banana. You can find more information about it at [[http://www.haskell.org/haskellwiki/Reactive-banana]] |
Latest revision as of 14:13, 14 April 2013
Bogre-Banana
Please go here for the latest version of this page: Bogre-Banana