scroll fails to build from source on Debian because https://hackage.haskell.org/package/ncurses fails to build. The workaround is to patch that library with this patch: --- ncurses-0.2.16.orig/lib/UI/NCurses/Enums.chs 2016-08-28 21:09:37.000000000 -0400 +++ ncurses-0.2.16/lib/UI/NCurses/Enums.chs 2025-02-28 15:18:09.215809399 -0400 @@ -195,7 +195,6 @@ , hsncurses_KEY_UNDO = KEY_UNDO , hsncurses_KEY_MOUSE = KEY_MOUSE , hsncurses_KEY_RESIZE = KEY_RESIZE -, hsncurses_KEY_EVENT = KEY_EVENT }; #endc I have informed its author about the problem and he did not want to fix it. So, it would probably be best to migrate away from ncurses. A start has been made in commit 4b5a597a5de090d1418b96aedd37bf044e3c05e9. Another reason to do this is to get scroll running compiled to WASM in a web browser. Add a bonus level with: Front side, a NanoGenMo generated novel. (It's possible that some of the current levels would qualify, if I'd only written them in November!) Back side, my joeywiki/code/scroll/thoughts.mdwn. (This contains a spoiler for scroll, which fits very thematically with scroll's first level containing its license..) For spells with only 1 component, add a letter frequency table, and make the charmap be constructed by picking a letter with the desired frequency that is not otherwise used. This adds a different sort of randomness to the game. I've had 2 reports of it crashing after winning the game, with: scroll: ./Data/Vector/Generic/Mutable.hs:590 (read): index out of bounds (6,6) The typescript fileG0A3Np on clam should show this happening. as should filecobD95 and fileOlHEMR on elephant. "Game exploded when I maximized the terminal window." -- tmp/fileBQE03e "I think I went into a dream while stunned, and came out permenantly stunned." -- tmp/filehgwH0C on clam Casting a spell should only use 1 of each spell component even when multiple are swallowed. This would allow stacking spells (eg, "new new x")