Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Interesting game. My initial strategy was to use Shift-X to get a description of the room and make a drawing of that room so to get an idea of what the map looked like. I made it a few floors down and it was quite slow and tedious so I eventually turned the map on 😅

I found a few spells around, the cure one was the most helpful as I got poisoned quite a few time and would have died without it. Until I eventually ran out of cures and poisoning killed me. I'm not sure if they were running out but when looking at my spells they were gone after a few uses.

I found multiple writing sets which I thought may be used for writing more spells on or something, but I never figured how to use them.

I also found multiple potions, green ones, blue ones, red ones. The only thing I could do is throw them so I didn't get what they were supposed to be used for.

I found a scroll of map visibility, does this scroll have any use if the map is turned off? It didn't seem to have any effect until I turned the map on, I expected it to show me some part of the map and wished it would save me from drawing initially, but it didn't.

It's a fair challenge, I made it half way through on the first try, I might get to the bottom on my next try.


I wanted to take a look at the code, I saw you are using libtcod, but you got a lot of extra stuff in there, for example for the rendering. Why is there so much more code in there? Does libtcod lack of features that you needed, hence all the rendering code that you have? Also, which files in the source are specifically for this game?

Thank you for trying it!

Drawing a map is certainly an option.  But Shift+C can also be used to visualize your current room without being confused by doors seen afar.

Spells don't last forever - they will fade from your mind, possibly in an inopportune time.  This is why you want to keep the spellbooks around to refresh your memory.  Since there are no magic points, it is the relearning that gates being able spam spells.

Writing sets need something blank to write on.   If you read a book enough times you will get something.  It is also possible to create blank scrolls, but that's complicated.

If you check the ? keyboard list carefully you'll see [q] Quaff or Drink.  This is a way of ingesting potions without soaking your neighbours.

Map visibility is as useful with the map off as on!  You can use [x] to cursor over the map to recall what you had mapped - after using the scroll it is all mapped for you.  [.] while in this mode will report your current location relative to yourself, in case you lose track.

This source code dates from 2005 with my first 7DRL.  Each year I strip it down and build something new.  But the strip down is never complete, so it accumulates a lot of interesting stuff on the way :>  My first 7DRL used curses and SDL1.2 for rendering, I thus built the gfxengine to abstract the two backends of gfx_curses and gfx_sdl.  Around the time of Jacob's Matrix I switched to libtcod as the backend and just folded it into gfxengine.cpp.  For graphics I mostly treat libtcod as a console buffer, however, so almost all logic is outside.  I do use libtcod's FOV algorithm and a few other neat things though.  So not so much any limitations of libtcod as history...

The most game-related files, as opposed to generic, are likely:

ai.cpp; builder.cpp; item.cpp; main.cpp; map.cpp; mob.cpp; source.txt; text.txt

Good luck in your next attempt!