A rogue-like developed for a school project in a small group.  Given time constraints, we opted for a simple graphical solution by running the game in a terminal and "drawing" with the ncurses library.  Maps were just text files storing a grid of characters ('@' was the player, 'W' for water, etc.).  All the game logic was written in C.  I wrote all the combat (display and logic), the main game loop, and integrated all other code into the final product.

In Daemon, the player chooses between three classes with unique bonuses and playstyles.  The world map is the main screen, where players can move around, browse their inventory of items (and equip/unequip loot), talk to NPCs, view their active quests, and start battles thanks to a random encounter system.

Combat is turn-based using a dice system for an element of randomness.  There is a full combat log so players can see what's happening behind the scenes.  Players can attack with weapons or magic (depending on class) and learn new abilities and spells as they gain experience and level up.


  • Available controls are usually displayed on screen.
  • There is no gamepad or mouse support.
  • The arrow keys navigate menus and move the character around the World Map.
  • Enter selects options, and Escape will bring up the main menu.
  • You can quit anytime from the main menu, or simply close the terminal window.  Progress is NOT saved between sessions!