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

Safe HaskellNone



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



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.