cartoon pic of site's author
Blog  |  D&D Stuff  |  About  |  Other Places  |  rss logo

Dev diary!

We're already almost halfway through April and I am beginning to feel like weight of my (albeit self-imposted) deadline to release a demo of my game! And I feel as though progress has been a bit slow.

On the other hand, I feel like there's a bunch of content creation I need to do: more monsters and the like that won't require a lot of new code to be written. Just filling out my roster of available enemies to populate the first five levels of the dungeon.

New Stuff

But I have added some stuff to the game! Kobold foremen, who can summon other kobolds. When they summon I kobold I have them say "Break's over!" and after that my head canon became that the kobolds are unionized, and now I sort of want to lean into that joke. I also created ogres, who can knock you back when they hit you.

But the big, code-intenstive change I made was to begin to implement NPC dialogues. I already had shops and talking to shopkeepers working, but this is NPCs where you have dialogue options and 'converse' with them.

Screen shot of chatting with an NPC Chatting with a villager

This NPC fell in love with an adventurer who also sought their fortune in the nearby dungeon. The conversation tree is quite small right now, but the dialgoue/chatting UI seems to be working.

I'm not planning on trying to implement procedural generation of diaglogue trees. I'm not sure it would be very good. My ultimate plan is to eventually write many NPCs and then each time a new game begins, randomly select a few villagersto populate the town with. I figure people are happy to replay games with fixed dialogue options (think Stardew, etc) and don't mind seeing the same NPCs again so long as the writing is good.

At the moment I have the dialogue and options directly in the game's code, but ideally most of the dialogue text would be in files that can be edited without recompiling the game, but that's complicated with branching conversation paths that might depend on the NPC's state or previous conversation choices the player has made.

A name?

Obviously if I am going to release a demo of my game, it needs an actual name that isn't "Yet Another Roguelike" (which is actually what the github repo is named...) or "Untitled Roguelike".

Commercial roguelikes strive for marketable, or at least distinct, names to stand out on Steam, but the older ones tended to simple names. (Often because their name came from their unix filename) The original, of course, was rogue and one of the earliest rogue-likes was hack (from hack-and-slash). My beloved nethack got its name because it was formed from a collection of patches to hack and collaborated on via the Internet. (Hence, net-hack)

Brogue, a popular, modern trad-roguelike is "Brian's Rogue" shortened. By modern I mean of course that brogue is only 15 years old :P

Another lineage of traditional roguelikes begins with Moria (dating back to 1983) when Robert Koeneke wanted to make his own version of rogue, and decided his would be about descending into Moria (of Tolkien fame) to defeat the Balrog. From Moria we get Angband and about a million variants like ZAngband, Fangband, Pernband, and on and on.

Another major branch of the RL family tree began with Linley's Dungeon Crawl. It was mostly referred to as Crawl and when its creator began college and stopped working on the game, a few efforts to continue development began. Most of the player base collalesced around a variant called Dungeon Crawl Stone Soup.

I want to hew to tradition and have a simple name, but it's hard to find something that works that isn't taken. I came up with Delve (as in, Dungeon Delve), but it looks as though there are already a few differnt games on itchio.io named Delve. So, I think I am tentatively naming my game: Dana's Delve!

Delve, or ddelve for short I suppose.

Actually naming the game feels like a big step to me, and I'm nervous about it :O

Dana's Delve is open source under the Creative Commons CC0 1.0 Universal license and its source code is available on GitHub.