7 Days of Roguelike Development to Die

Well, I'm exhausted, but I have a working shipped. I may come back tonight and do some more, otherwise a post-7DRL update will fix the missing bits.

Play, and if you liked it, shower me in gold, or at least rattle some change at my tip jar. If you have other feedback, comment but be kind, I'm so very tired.

Archive of my dev diary/comments:

  • Day 1 (Sun, 2020-03-01)

    Getting started now. Will be working until next Saturday!

    Tiling, basic animation, and keyboard input.

    Minor annoyance, discovered Oryx’s “wee fantasy” figures, which are otherwise quite excellent, are left-handed. Flipping the images gets them all fixed except right-facing still has a shield in left hand. I don’t mind a few sinister figures, but that’s too much to ask of heroes not named “Link”.

    Basic random character and stat display.

  • Day 2 (Mon, 2020-03-02)

    Didn’t get a lot of uninterrupted time today, but made useful progress finally:

    Items now exist, can now be got (auto when you move; I might add a Get command), put down, readied/removed, and used.

  • Day 3 (Tues, 2020-03-03)

    Very productive day. Mana recovery, added a Get command, visibility calculations so walls occlude vision.

    Changed the way I write objects and monsters to use prototype objects (an object system on top of an object system, but it’s more convenient).

    Monsters (well, just Goblins today) are placed and can be fought. They don’t move yet.

  • Day 4 (Wed, 2020-03-04)

    Very little free time today, but I got a monster list completed, with a lot of tricky multi-level monsters, and I can spray them all over the junk level. Got some design notes for spells and missiles, and how I’ll split up the levels tomorrow. Then try some kind of AI once I have a place to navigate.

  • Day 5 (Thur, 2020-03-05)

    Floating damage numbers & effects. Basic mob AI, no pathfinding yet. Sleep, Invisible, Heal spells.

    Running low on time, so much stuff left to do and I just did some detail work today, didn’t even get missiles in (and Fireballs, which are a slow case of missiles that explode). Levels, absolutely first thing tomorrow.

  • Day 6 (Fri, 2020-03-06)

    DON’T PANIC. Well, panic a little. Got door opening (but not closing, needs a whole new command), Portals (AT LAST), and 6 level generators + tutorial level. They’re very simplistic levels, and it’s possible to be trapped in some, but usually works?

    Tomorrow I should really get missiles flying, trapped levels, maybe an overview map are optional. Strength/“experience” gain is a little harsh right now, but balance is low on my priorities.

    Found an absolutely horrible off-by-1 math bug in a library I’ve been using for years. Programming: It’s always harder than you think.

  • Day 7 (Sat, 2020-03-07)

    Exhausted, I don’t ever work this many days in a row anymore. So I got the overview map done, and rebalanced it a bit more sanely. It is playable and a fun challenge until you get curb-stomped by wights or stuck in a dead-end world.

    I have until tonight (Saturday) at midnight, so if I feel up to it later I’ll get to some of my TODO list.

    Playable version is up now, let me know what you think!

  • Day 7, Later

    Got back to adding missiles and fireballs! Done! Ship it!

    (Levels still kind of suck, I’ll improve those later. But the gameplay should be finished.)

7DRL

I'm planning on doing the 7DRL challenge, which runs from Saturday Feb 29 to Saturday Mar 7.

I did some design work this morning, picking out tilesets and making some index card notes for my 7DRL. Think I have kind of a neat world model, and different combat/levelling system.

I expect to have my Chez graphics library fully ported by then (I can draw sprites now! Events are much harder.), but getting it to compile on Mac, Windows, & Linux? Way out of scope, as I found out when I did Eldritch, catastrophic waste of effort for a freebie game. So I'm probably doing it in JS, just so much easier to upload a web page.

Project Status

Made a lot of progress on Perilar Dark Weaver map generation. Hopefully this week I'll get ruins finished.

Spent a little too much time on the new Mystic Dungeon, the TTMS-76 virtual retro-console started on tilde.town but is now replacing the BBS. It now has scoreboards for the games! I still need to finish Heist, which turned out to be bigger than I first thought. In a bit I'll get yet another damned login system done, and from there a forum. I wonder if anyone else would be interested in making games for it? I've got a trivially easy framework, so if you know any Javascript at all it's fun to work with. All BSD licensed.

Updated StupidComments.css to block some more inline "affiliate" blocks and Youtube spam segments.

I started making a console Pomodoro timer, and it works, but needs persistence and a teeny bit of task management before I can release it. Very soon.

RPG-wise, I wrote a bit more of my "survival D&D" game Delvers in Darkness (aka Dungeon Hell), which is looking to come in well under 16 pages for a full Holmes-type dungeon game; maybe 32 if I write more on the setting, which since I complain about that in everyone else's games, I should. Haven't looked at my light game in a bit, and don't know when I'll get back to that.

Perilar: Dark Weaver

Perilar was my favorite of my games, an original iPhone RPG (loosely inspired by Rogue, Ultima, & Zelda). Alas, the App Store is a pain in the ass to stay current in, and Perilar needed updates I wasn't willing to jump thru Apple's hoops to deliver, so it's been gone from the store for a few years. Does anyone even remember me?

Then I wrote & released Brigand, a stripped-down realtime roguelike, which apparently everyone got mad at either because it was too hard (it was, but I liked that), or cost $9.99 which is SO MUCH MONEY on the goddamned App Store. And again the App Store made it obsolete and it wasn't reasonable to update it.

So I got back to a new desktop version of Perilar. I wrote a JS prototype (Fallen Kingdom) that wasn't fast enough to be usable, but let me rapidly test a bunch of new things. Now in Scheme, after a very long time, I have a nice, fast, nearing-complete sequel to Perilar: Dark Weaver.

Where I am right now:

  • World has both hand-designed and random sectors, tho the latter need some smoothing out to look like real terrain. I can walk across the world, at least until I hit impassable sectors. Porting my complex map and dungeon generators in is the next task. I have spent the last 6 months building features in the Town of Amity, and I'm ready to move on!
  • Most of the tile art is from the DawnLike set, with a lot of customization and new art where needed, and I've stuck to the DawnLike palette, it really has a nice old-timey look, a little less garish than the Atari 800, brighter than C64.
  • Player art isn't going to be these sprites, but the paperdolls I have are 2-facing (East/West), and I'd prefer 4- or 8-facing (you can move diagonally!); so I still need to find or draw (oh no) those.
  • NPCs have dialogue trees, stores, and special abilities (like the Innkeeper healing you; they're not super-powered).
  • Combat, with multiple attack/defense options, works in my test area. I haven't spread monsters around the sectors yet, but they've been developed and tested in the JS prototype.
  • Loot is extensive, magical weapons and armor have all the complex options you'd expect. I'm being a hardass on encumbrance in this one, because you can drop loot anywhere and come back for it. (Not quite the hardest possible ass; gold doesn't count towards weight, which it does in tabletop RPGs!)
  • Spells beyond Magic Missile are not implemented at all yet; will probably ship with only the dozen basic spells from the original release, and advanced spells added in an update. You won't find anyone to teach those for a long time anyway. Despite that, Wizards are still useful with magic wands.
  • New bosses, boss arenas, deeper dungeons, main quest, and sidequests.
  • At least one sector will be user-modifiable, tho I don't know if it'll be in the first release. You can buy furniture and walls, and fix up your own town. There's useful things you'll be able to get from that. (The building mechanic half works now; gathering doesn't).
  • Currently tested on Mac, should be buildable with no or very few changes to Windows, Linux, BSD, etc., but I need to get proper test environments for all of those.
  • Will be for sale on itch.io sometime this year. Price TBD.

I feel super awkward about self-promotion, but I do have a Patreon, and for Gold level you'll get betas; I haven't explained this, but at any level, when you've paid up whatever the cover price of the game ends up being, you'll get a full release license for it, too.

darkweaver-2020-01-08-2
darkweaver-2020-01-08-3

Mystic Dungeon BBS Update

I just added a doorgame conversion of Lost Treasure to Mystic Dungeon BBS; just go into the Door Games menu and hit L. Just a little toy to compete on the high score list.

Mystic Dungeon doorgame got a new patch, mostly just fixing display bugs, but I've nerfed poisons & paralysis to scale by damage inflicted; I'll see how that works in higher-level play, it may need another patch, so carry an antidote if you're cautious (you can get them from the alchemist in the NE of town). It's a fun, hard little RPG, I can get down to level 2 and 3 now, though that's very very dangerous; I'm nearly Level 3. Once anyone nears Level 4 legit, I'll add some more magic spells.

I'd like to see more competition; log in every day and do your 96 turns, and you can progress pretty fast. I like the turn limit, it prevents anyone (self included) from grinding for hours and jumping up the board unfairly.

I'm in progress at getting my Scheme text adventure completed, and then I'll doorgame convert it, and it'll go in the doors, too.

I need to look again at the file upload system, or maybe replace that entire feature with a script so you can browse files sanely.

Been pretty quiet, got a few users from Fediverse, but after doing some stability testing and system updates, I think it's in good shape now to advertise on /r/bbs, probably tomorrow morning.

Eldritch World

I wrote a text adventure:

It's like 15% complete, you can reach the first of four "recursions"/other worlds but then you're stuck. And today it only has a Mac console binary (you can run it from source on other platforms, with a little effort), I'll get on the cross-platform compiling and Terminal wrappers tomorrow, but this is a playable thing under a deadline!

Infocom

Jason Scott of archive.org has just uploaded Infocom's source code, and keeps adding a bunch of other game source. I've made an easy script to get all the text adventures; if you want Quake or whatever, go grab that yourself. [updated 2019-04-19 for a few gold versions]

#!/bin/zsh
for repo in \
abyss \
amfv \
arthur \
ballyhoo \
beyondzork \
borderzone \
bureaucracy \
checkpoint \
colossalcaveadventure \
cutthroats \
deadline \
enchanter \
hitchhikersguide \
hollywoodhijinx \
infidel \
infocom-sampler \
journey \
leathergoddesses \
leathergoddesses-gold \
lurkinghorror \
minizork-1982 \
minizork-1987 \
minizork2-1988 \
moonmist \
nordandbert \
planetfall \
plunderedhearts \
restaurant \
seastalker \
sherlock \
shogun \
softporn \
sorcerer \
spellbreaker \
starcross \
stationfall \
suspect \
suspended \
trinity \
txtelite \
wishbringer \
witness \
zork \
zork-german \
zork1 \
zork2 \
zork3 \
zorkzero \
zork-fortran \
zork-mdl \
zork-1 \
hitchhikersguide-gold \
zork1-gold \
planetfall-gold \
wishbringer-gold \
; do
echo $repo
git clone https://github.com/historicalsource/$repo.git
done

The ZIL (Z-Machine Implementation Language) code is not too weird a LISP variant, and I expect there to be good compilers or translators to modern Scheme pretty soon; if necessary I'll write one. Many of the others are written in, preposterously, FORTRAN or C, easily two of the worst possible languages to do text-manipulation and abstract data structures in.

Zarf's post mentions a working ZIL compiler, ZILF.

You may also like Infocom: The Documentary and The Infocom Cabinet

As a large database of high-quality, production game source, this is a treasure trove for anyone who makes games. Read these and figure out how to do what they did.

I'm also amused by the icon, The Source came and went from the online services world just as I was getting into BBSing. I had as I recall a free couple months so I didn't have to pay the signup fee, but it was stupidly expensive per hour (Source was maybe $10/hour? Delphi was $20 for 20 hours per month, and not much more for overtime), and then shut down soon after.

LOWREZJAM 2017

Signed up for LOWREZJAM 2017

I've just started drawing some "art", adapting an old pixel font nerds of a certain age will recognize. Finally, something my 1980s pixel art skills are good for!

Figure I'll make a metroidvania dungeon game; I don't mind action, I'm just not good at dealing with real-time animation of giant art sets. This'll make a good test of my Electron framework, before I ship something big in it.

Update: Realized there's an old game I loved to match the art that I'd like to do (an update/homage, not a straight ripoff), and it's not a metroidvania. Making a ton of level maps is beyond my current spare time, and procedural metroidvania's a hard research problem.