LambdaHack-0.2.8: A roguelike game engine in early and active development

Safe HaskellNone



A game requires the engine provided by the library, perhaps customized, and game content, defined completely afresh for the particular game. The general type of the content is ContentDef and it has instances for all content kinds, such as items kinds (Game.LambdaHack.Content.ItemKind). The possible kinds are fixed in the library and all defined in the same directory. On the other hand, game content, that is all elements of ContentDef instances, are defined in a directory of the game code proper, with names corresponding to their kinds.



data ContentDef a Source

The general type of a particular game content, e.g., item kinds.




getSymbol :: a -> Char

symbol, e.g., to print on the map

getName :: a -> Text

name, e.g., to show to the player

getFreq :: a -> Freqs

frequency within groups

validate :: [a] -> [a]

validate and catch some offenders, if any

content :: [a]

all the defined content of this type