Thesis Topic Details

Topic ID:
3431
Title:
Writing 2D games in a purely functional style
Supervisor:
Manuel Chakravarty
Research Area:
Programming Languages, Game Design, User Interface Design
Associated Staff
Assessor:
Ben Lippmeier
Topic Details
Status:
Active
Type:
R & D
Programs:
CS CE BIOM BINF SE
Group Suitable:
No
Industrial:
No
Pre-requisites:
--
Description:
Game development benefits from a prototype-driven, interactive programming style, which are hallmarks of functional programming. Games need to keep track of a changing game world and simultaneously render aspects of that world to the screen and allow player interaction. The result are many intricate interdependencies that quickly lead to bugs.

Functional reactive programming (FRP) is an approach to modelling changing state in asynchronous event-driven systems, such that it is easier to keep the state of the system consistent. FRP has been pioneered in Haskell, but the various implementations have practical shortcomings, which meant that they never found much use in practice.

Recently, the functional web programming language Elm (which is close to Haskell) pioneered a new, more practical form of FRP for interactive web programming. The purpose of this thesis is to combine Elm's FRP system with Graphics.Gloss -an OpenGL-based 2D graphics library for Haskell- to produce a purely functional game engine for 2D games.

For more information on Elm and FRP, see http://elm-lang.org

You can find more information about Graphics.Gloss at http://hackage.haskell.org/package/gloss
Comments:
--
Past Student Reports
 
No Reports Available. Contact the supervisor for more information.

Check out all available reports in the CSE Thesis Report Library.

NOTE: only current CSE students can login to view and select reports to download.