This is my personal attempt to realize a roguelike with Chicken Scheme. The game is not playable yet.
- Chicken Scheme (
at the moment it works only with the interpreter, but it will be compilable) - Some SRFIs that are included in Chicken Scheme
- SRFI 25 (installable like an egg)
- The egg random-bsd for the pseudorandom numbers generation
- The egg numbers for the exact rational numbers representation
- The egg ncurses to interface with the terminal
- The egg coops to have an object oriented system
It contains the algorithms to create the Dijkstra maps and estabilish the shortest path. (Not implemented yet)
It provides the dungeon generation, this is the algorithm general explanation:
- Generate a grid with every cell set to wall
- Dig some random rooms with random size (overlapping is not allowed)
- Dig a maze with a recursive backtracking algorithm (now the rooms are not connected between them nor with the maze but the maze is connected in a topological meaning)
- For each room dig a passage to the maze
- Bury the corridor's dead ends for a prefixed number of cell
- Lighten the dungeon randomly burying some cells in order to create new passages
It implements a precise shadowcasting to calculate the field of vision.
It implements a scheduler which is able to manage different events with different lengths
It provides the interface (input and output) with the terminal, it uses intensively the nCurses library.
You can compile the game moving in the main directory and entering this command:
chicken-install
Then you can play entering ./scmrl
There might be some graphical glitches, to avoid them it's necessary to set the environment variable TERM to vte.
export TERM=vte