(The game is written in C#, so unfortunately it will only work in Windows.)

For January's One Game A Month challenge, I released this fairly simple roguelike. The focus is entirely on spellcasting - there is no equipment or weapons.

The furnaces and factories of the Industrial Age have accidentally woken a powerful demon, and as one of the last remaining wizards you must find a way to seal the rift to the Plane of Fire before it escapes.

I only had time to implement 8 spells and a handful of monsters, but I decided it was fun enough to be released as a finished game. My main goal was to test the spellcasting mechanics for use in a bigger project. I think the spellcasting-based combat has potential, but I would love to hear other opinions.

I really enjoyed a lot about the game, the combat system was fun - each room was like a little puzzle. However it was pretty buggy:

My first character had no stairs generated on his starting level, and I wasn't able to explore the whole map (no doors).

My most successful character got to dungeon level seven and had no stairs on that level.

Doors generating in the corners of rooms also made some strange stuff occur.

Also you should consider making the character move on key press instead of key release. I think that way you could hold a button to move, having to spam keys to navigate back to the stairs was a little annoying.

The problem with stairs and doors not generating seems pretty bizarre, that never happened to me during testing. I'll have to look into that. Doors in corners was something I saw a few times, and it does mess up visibility because I'm kind of winging it with libtcod's built in visibility algorithms. When I take the project further I'm going to implement my own visibility code.

I'm glad you liked the concept! I have plans for a much bigger game, but I wanted to prove that the primary mechanics were fun first. Usually when I come up with games I start with the world structure, the leveling and skill systems, and stuff like that - and then I'm at a loss when I try to figure out fun primary mechanics, like moving and attacking. This was an effort to do things the right way around instead.