about summary refs log tree commit diff
path: root/src/Xanthous/App.hs
AgeCommit message (Collapse)AuthorFilesLines
2019-09-19 Add items and inventoryGriffin Smith1-23/+27
Add a new "Item" entity, which pulls from the previously-existent ItemType raw, and add a "PickUp" command which takes the (currently *only*) item off the ground and puts it into the inventory.
2019-09-15 Progressively reveal the map to the playerGriffin Smith1-1/+5
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 Implement collisionGriffin Smith1-2/+5
Check if there's a wall or other entity where the character is going, and stop the character from going there
2019-09-13 Place the chacracter in the level at startup timeGriffin Smith1-6/+22
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-6/+23
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-02 Put a test gormlak on the screenGriffin Smith1-12/+26
Implement a concrete "Creature" entity, and place one on the screen at the game startup for testing. This revealed a bug with drawing when getting the maximum entity position, but that appears to be fixed now (yay)
2019-09-02 Add a previous message commandGriffin Smith1-2/+6
Add a "previous message" command, triggered via ctrl+p. I attempted here to get the message area to still take up a row of space post-hiding the message, but failed - should revisit that at some point
2019-09-02 Link up messages to the overall gameGriffin Smith1-9/+20
Add a "say" function for saying messages within an app monad to the user, and link everything up to display them and track their history
2019-09-01 Implement messagesGriffin Smith1-2/+2
Implement messages almost the same as in the Rust version, only with YAML instead of TOML this time, and a regular old mustache template instead of something handrolled. Besides that, pretty much everything here is the same.
2019-08-31 Add entities, and allow walking aroundGriffin Smith1-1/+15
Add support for entities via a port of the EntityMap type, and implement command support starting at basic hjkl.
2019-08-25 An @-sign in a box, in haskellGriffin Smith1-0/+21
Initial commit of a Haskell version of Xanthous, written using Brick and built with Nix. This is so much nicer and so much easier