Monadic Scripting in F# for Computer Games
Giuseppe Maggiore, Michele Bugliesi, Renzo Orsini · ARCA (Università Ca' Foscari Venezia) · 2011
Scripting in video games is a complex challenge as it needs to allow a game designer (usually not a developer) to interact with an extremely complex piece of software: a game engine. Game engines handle AI, physics, rendering, networking and various other functions; scripting languages usually act as the main interface to drive the entities managed by the game engine without exposing too much of the complexity of the engine. A good scripting language must be very user-friendly because most of its users will not be developers; it must support transparent continuation mechanisms to ease the most common tasks faced when writing scripts and it must be easy to integrate in an existing game engine. Also, since games are very performance sensitive, the faster the scripting system the better. In this paper we present a monadic framework that elegantly solves these problems and compare it with the most commonly used systems.