about summary refs log tree commit diff
path: root/src/Xanthous/Generators/Util.hs
AgeCommit message (Collapse)AuthorFilesLines
2019-09-15 Remove all but the largest region in cavesGriffin Smith1-4/+9
When generating cave levels, remove all but the largest contiguous region from the resulting level.
2019-09-15 Progressively reveal the map to the playerGriffin Smith1-8/+0
As the character walks around the map, progressively reveal the entities on the map to them, using an algorithm based on well known circle-rasterizing and line-rasterizing algorithms to calculate lines of sight that are potentially obscured by walls.
2019-09-14 Fill the outer edges of generated levelsGriffin Smith1-1/+12
To avoid the character being able to go OOB. This is something we had in the Rust version but I hadn't ported over yet
2019-09-13 Place the chacracter in the level at startup timeGriffin Smith1-9/+88
Randomly select a position in the largest contiguous region of the generated level in which to place the character at startup time.
2019-09-09 Convert generated levels to wallsGriffin Smith1-0/+29
Add support for converting generated levels to walls, and merge one into the entity map at the beginning of the game. There's nothing here that guarantees the character ends up *inside* the level though (they almost always don't) so that'll have to be slotted into the level generation process.
2019-09-07 Add cellular-automata cave generatorGriffin Smith1-0/+70
Add a cellular-automata-based cave level generator, plus an optparse-applicative-based CLI for invoking level generators in general.