Functional Programming and 3D Games

Games are commonly programmed in imperative languages. Functional languages have been known to have benefits but have rarely been used to program games. In this thesis we implement a first person shooting game in Haskell and Yampa. The merits of this approach are examined. 3 Acknowledgements Big thanks goes to Sean Seefried who I frequently turn to for programming and writing advice. Thanks to Dr Manual Chakravarty, who allowed me to do a thesis that is game related, which is something I have great interest in, and gave me help and advice Thanks to Don Stewart and André Pang for the help they offered. Finally, big, big, thanks goes to the community who write game related programming tutorials. Their tutorials that tackle topics from Alpha testing to Z-buffers helped me write this game.

[1]  Conal Elliott,et al.  An Embedded Modeling Language Approach to Interactive 3D and Multimedia Animation , 1999, IEEE Trans. Software Eng..

[2]  Marinus J. Plasmeijer,et al.  Interactive Functional Objects in Clean , 1997, Implementation of Functional Languages.

[3]  Paul Hudak,et al.  A language for declarative robotic programming , 1999, Proceedings 1999 IEEE International Conference on Robotics and Automation (Cat. No.99CH36288C).

[4]  Antony Courtney,et al.  Genuinely Functional User Interfaces , 2001 .

[5]  Paul Hudak,et al.  Prototyping real-time vision systems: an experiment in DSL design , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[6]  Paul Hudak The Haskell School of Expression: Learning Functional Programming through Multimedia , 1999 .

[7]  Henrik Nilsson,et al.  The Yampa arcade , 2003, Haskell '03.