LambdaHack-0.11.0.1: A game engine library for tactical squad ASCII roguelike dungeon crawlers

Safe Haskell | None
Language | Haskell2010

TieKnot

Description

Here the knot of engine code pieces, frontend and the game-specific content definitions is tied, resulting in an executable game.

Synopsis

- tieKnotForAsync :: ServerOptions -> IO ()
- tieKnot :: ServerOptions -> IO ()

# Documentation

tieKnotForAsync :: ServerOptions -> IO () Source #

Tie the LambdaHack engine client, server and frontend code with the game-specific content definitions, and run the game.

The custom monad types to be used are determined by the `executorSer` call, which in turn calls `executorCli`. If other functions are used in their place- the types are different and so the whole pattern of computation differs. Which of the frontends is run inside the UI client depends on the flags supplied when compiling the engine library. Similarly for the choice of native vs JS builds.

tieKnot :: ServerOptions -> IO () Source #

Runs tieKnotForAsync in an async and applies the main thread workaround.