Proceedings Article10.1145/2643135.2643160
Declarative Game Programming: Distilled Tutorial
Henrik Nilsson,Ivan Perez +1 more
- 08 Sep 2014
- pp 159-160
TL;DR: This tutorial shows how this can be achieved through Functional Reactive Programming (FRP) by implementing the high-level parts of a 2D game akin to the classical game Breakout by using the Haskell-embedded FRP implementation Yampa and bindings to SDL.
read more
Abstract: Video games are usually not programmed very declaratively. There are a number of reasons for this, from low-level efficiency concerns, via the nature of commonly employed programming languages, libraries, and frameworks, to the conceptual nature of such games, with state and effects being omnipresent. However, by structuring games in terms of time-varying values and transformations on such values, it is possible to design and implement video games in a more declarative way. This tutorial shows how this can be achieved through Functional Reactive Programming (FRP) by implementing the high-level parts of a 2D game akin to the classical game Breakout. The tutorial uses the Haskell-embedded FRP implementation Yampa and bindings to SDL (Simple DirectMedia Layer) to obtain game play and visual standards typical of the 2D genre; for example, as seen in many currently popular games for smartphones and tablets.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Mobile game programming in Haskell
Christina Zeller,Ivan Perez +1 more
- 23 Aug 2019
TL;DR: This paper proposes a framework for mobile app programming that completely separates logic from IO, resulting in an architecture that is referentially transparent, modular, scalable, backend agnostic and trivial to test and implements it in FAWN, a collection of libraries that provide higher-level notions needed in commercial applications.
3
The arpeggigon: declarative programming of a full-fledged musical application
Henrik Nilsson,Guerric Chupin +1 more
- 10 Nov 2016
TL;DR: This paper demonstrates that Functional Reactive Programming (FRP) in combination with Reactive Values and Relations (RVR) is one way of addressing this gap in the temporal and declarative nature of music.
2
References
Functional reactive animation
Conal Elliott,Paul Hudak +1 more
- 01 Aug 1997
TL;DR: Fran (Functional Reactive Animation) is a collection of data types and functions for composing richly interactive, multimedia animations that provides them with a denotational semantics, including a proper treatment of real time, to guide reasoning and implementation.
693
LUSTRE: A declarative language for programming synchronous systems*
Paul Caspi,Daniel Pilaud,Nicolas Halbwachs,John Plaice +3 more
- 01 Jan 1987
TL;DR: This paper presents the language LUSTRE, whose main application field is the programming of automatic control and signal processing systems, and uses it as a basis for designing and programming these systems.
645
LUSTRE: a declarative language for real-time programming
Paul Caspi,Daniel Pilaud,Nicolas Halbwachs,John Plaice +3 more
- 01 Oct 1987
TL;DR: This work describes its semantics by means of structural inference rules and shows how to use this semantics in order to generate efficient sequential code, namely, a finite state automaton which represents the control of the program.
606
Functional reactive programming, continued
Henrik Nilsson,Antony Courtney,John Peterson +2 more
- 03 Oct 2002
TL;DR: Of particular interest are the AFRP combinators that support dynamic collections and continuation-based switching and it is shown how these combinators can be used to express systems with an evolving structure that are difficult to model in more traditional dataflow languages.
229
Functional Programming and 3D Games
Mun Hon Cheong,Manuel Chakravarty,Ken Robinson +2 more
- 01 Jan 2005
TL;DR: This thesis implements a first person shooting game in Haskell and Yampa, where the merits of this approach are examined.
17
Related Papers (5)
Andrew R Martin,Simon Colton +1 more
- 01 Aug 2019
Fatima Hamiye,Bilal Said,Bader Serhan +2 more
- 27 Nov 2019