I did it! I spent (wasted?!) an entire week making a small computer game! Being 7DRL it was a small roguelike game, or at least something that is roguelike-adjacent...
I thought I would write up a bit of a post-mortem about it. If nothing else, it will be useful for me to review the next time I intend on participating in one.
First of all, I had a blast. Just taking a full week to work intensely on a personal, hobby project was a ton of fun. I had some vacation days to burn so I took Wednesday, Thursday, and Friday off and mostly worked all day long. There's also a pretty active community on bluesky and discord and it was great having other participants to chat and commiserate with and bounce ideas off of. If I knew some local participants and we had in-person events, I think it would have recalled the NaNoWriMo heydays for me!
That said, working 12-16 hours a day even for fun is pretty tiring, especially for my poor, middle-aged body and brain...
rogue type
I talked about my concept a bunch of bluesky so I'll just give a brief summary. My idea was a sci-fi/cyberpunk game where you are a hacker infiltrating a secure facility to infect a mainframe with a virus. (The vague backstory I'd had in mind was an AI gone mad and you have to destroy it). You would navigate the 'dungeon' by taking control of robots and you could hop from bot to bot.
The main unique hook was that hacking would be handled by a typing contest since in shows the best hackers are the fastest typists.
Here's what a typing challenge looks like
The plan was a game that was less kill-all-the-monsters than a classic RL with more emphasis on using robots solve puzzles and sneak around your environment. That was my Grand Vision anyhow!
You can play rogue type on itch.io and take a look at its (hastily written, obviously) source code on github.
But how did it go?
Unfortunately, overall I think it's pretty weak as a game. I enjoy the typing challenge parts and I'm glad that part came together well but all in all I don't think rogue type is all that much fun. Considering it honestly, with just a week to work on the game, I wasn't able to really flesh out either the roguelike elements or the puzzle elements sufficiently and both aspects ended up pretty weak. Also, it's very easy >.> Unless you set the typing speed difficulty to be very challenging for you, there's not much stopping you from being able to finish.
My puzzles (mostly centered around open gates to access parts of the danger) don't have enough variety. I had vague ideas of security zones where you would have to figure out ways to gain access to but didn't get a chance to develop them.
I came up with a colour tile puzzle on the last day and am pleased with how it turned out
One idea that I think had potential is letting you install or uninstall software packages on robots. The main use in the current version is deleting the movement software from a robot you are controlling so you can leave them parked on a floor trigger that opens a gate. It would be neat to be able to install software on robots that let them perform tasks independently from you as part of the puzzles, or attack and distract other robots.
If I were to really lean into the puzzle aspect, the game would be much stronger with hand-designed levels rather procedurally generated ones. You can do proc-gen puzzles but I think hand-crafted ones will almost always be stronger and more interesting. Of course, that wouldn't really have been appropriate for this particular game jam. If I were to keep working on rogue type, hand-designed levels are definitely the direction I would take the game in.
All that said, I have fun while playing it, but I think this may be a face-only-a-mother-can-love situation. I mean, I still just find making teeny little game worlds and having my little guy walking around in them is an utter delight! My reactions of "I MADE this! Neat-o!" make it hard to be objective.
Sidebar about level gen
Roguelike developers have a bit of a preoccupation with map-making algorithms and I was surprised how many compliments I got when I posted screencaps of my on bluesky and Discord.
example of rogue type's dungeons
This was unexpected and kind of funny to me because I spent almost no time on rogue type's maps. I needed the levels to be divided cleanly into two halves with a choke point room with a gate because I wanted to force the player to solve a puzzle to progress. To make make the maps, I did the simplest thing I could think of: plop down a bunch of rooms and then do a breadth-first search starting at each door and walking until another door was found and drawing a hallway backwards along the shortest path back to the starting door. Repeat until you've tried to draw a corridor from each door. (With a few extra rules like tiles inside a room are impassable and stop if you reach a previously drawn corridor)
That said, I do like how the maps look and I'll probably port the level generation code into C# and use it for some of Delve's dungeons.
One thing that was a bit of a game changer was using room templates, especially for the choke point rooms. This never occurred to me to do in Delve (well sort of, the buildings in the town are drawn from templates), probably because of its very iterative development. For Delve, I started out with little more than "Making a roguelike will be fun" so everything progressed in layers. I wrote the dungeon map generator with little thought yet to what would be in the dungeon so later on when I started adding special rooms types and encounters I had to write hundreds of lines of code for functions to search an already existing map for a good spot for a particular encounter or room. Rogue type's templates completely side-step all that and I don't think there are any downsides to this approach. It's far easier and cleaner (and likely results in better dungeons) to pick special rooms for a level and then build the rest of the dungeon around it.
Future roguelike projects will definitely be done this way and likely same for any new dungeons/biomes that get added to Delve.
Technicalities
Typescript as a language was fiiiiine but suffers from a lot of warts, many of which I think are its javascript underbelly showing through. I dislike that it lacks proper tuples, don't understand enums (they exist but you aren't supposed to use them?), and I got tripped up by for-of versus for-in loops so many times leading to bugs that baffled me every time. ROT.js was pretty good as a library but I felt like it (and me) were fighting against the inherently asynchronious nature of web browsers. Trying to fit a turn-based game and fake-out a game loop felt brittle and I found all that code hard to reason around. Part of that was the product of being very rushed and not wanting to spend time on the nuts-and-bolts and low-level game bits. I wanted to focus on content.
Maybe I'll try to extract and improve a bunch of the game 'engine' parts so I can reuse it easily for future mini-roguelikes.
I used Claude a fair bit! I had it translate several functions from Delve's codebase into Typescript and spent a TON of time asking it, "How do I do this in typescript?" or "What's the typescript equivalent to..." The latter is almost mandatory these days even for non-vibe-coders with how much google search and Stack Overflow has decayed. To be fair, I would know Typescript much better if I struggled and figured out that stuff on my own, but this endeavour wasn't about learning a new programming language. I did sometimes have it write code that were going to be very finicky or a modifying existing code. Stuff like "Can you make a subclass of the Popup class that accepts a yes/no answer" and it was able to spot a few subtle bugs for me. But part of the reason I do hobby coding is simply because I find programming fun! Letting Claude write code I might not enjoy but need - freeing me to work on fun stuff - feels like a good use of coding agents, at least for personal projects.
Conclusion
If I sounded down on type rogue above, rest assured I had a great time this week and am pleased with my efforts. Time spent on a creative project is always a win for anyone, in my book. But more importantly, game design a skill and like any skill needs to be practiced. You don't usually get better at something without sucking first. If anything, participating has got me fired up both to get back to work on Delve and on other smaller projects. I might even finally start a Godot tutorial...
I haven't decided if I'll work on it after the game jam's evaluation period ends. I'll let it sit for a few weeks and seek if I have burning inspiration for more content for it.
Please give rogue type a try!

