My idea for the 7 Day Roguelike Challenge
gamedev, roguelike
I planned to participate in this year’s 7 Day Roguelike Challenge. It’s a game jam where you write a roguelike game in 7 days. For personal reasons (hopefully nothing serious), I won’t be able to. Here’s the game I would have tried to build had I entered.
The seed of the idea came with the realisation that most RPGs have you start as an insignificant weakling with no real power, wealth or equipment and you gradually build yourself up. The rags to riches trope.
It’s a good story archetype, but a bit overplayed these days. And it has its problems. To keep things intriguing and challenging at the same time (or providing the illusion of challenge) the game must offer both a sense of progression (the player levels up, gets new gear, etc.) and ways to showcase it (deadlier monsters). In the end, the player character often ends up disproportionately stronger than anything else in the universe and could hypothetically do whatever they wanted.
So I wanted to write something where you start as strong as you’ll ever be and progressively get weaker.
The backstory goes a little bit like this: you’ve lost the battle defending your settlement against the Roman Empire. Most of the defenders were killed, but you were captured. The Romans noticed your skill and put you in one of their Games. You’re a gladiator. If you can survive long enough, you may earn your freedom. But the years of youth are long gone and you’re not getting any younger.
The main mechanic: you fight to death in the arena against various enemies. When you’re the last one standing, you’ll have a few months to get patched up and then you fight again.
During that time, you’ll be able to train and improve your skills or attributes – strength, speed, defense, proficiency with a particular weapon, etc. But there’s also a steady decline of all the above due to your increasing age and the conditions you’re being kept in (you are a slave, after all).
For a while your training might be able to offset this and even actually get better. But eventually, the time catches up with you and you’ll be getting worse, putting your skill points into areas you want to decline more slowly.
(as a side note, this training for a few months thing provides a nice explanation of the often sudden level up mechanism in RPGs. Here you don’t level up mid-fight or mid-dungeon. It’s only after a successful fight that you have the time and opportunity to improve.)
A natural consequence of this would be that we don’t have to do anything to make the fights more challenging as the player moves further in the game. Even if each fight had the same configuration, the difficulty would steadily go up. Of course, there should be different kinds of combat setup to keep things interesting and hard to predict.
I’d like the individual fights in the arena to feel connected, rather then each having no bearing on the previous/future ones. Got a couple of ways to do that:
- The weapons: you start with a weapon. You can pick up any other weapon from a defeated opponent. Once the fight is done, you keep the weapon you had for the next fight. This would introduce a strategic choice: do I switch weapons now? It would make this fight easier, but then I’m stuck with it for the next arena where it could be less useful.
- Permanent damage: you could sustain some damage that just will not heal in a few months. Shattered knee, broken ribs, lost eye… These would permanently impact all your future fights.
- Reputation: it would be great if you could earn reputation with the master of the games and/or the audience. Things like fighting in a way that’d be fun to watch (probably hard to write code that decides this) or sparing/killing a defeated enemy. I’d love to have something like this in, but I’m not sure I’d be able to design and implement something that would make sense and have an impact on the game.
There would only be a handful of weapons (or weapon sets) each with very different tactics and properties: gladius + shield, trident + net and maybe a couple more.
There would be different enemy types as well: animals (tigers, bears), humans (other gladiators with the same equipment and abilities as you). Potentially chariots as well if I could work them out without totally breaking the ballance.
Most of the fights would happen in a large arena (think amphitheatre – mostly empty space with some obstacles, traps, etc. thrown in) but it’s important to have some change of scenery, too. Something like a dungeon or an interconnected system of cages.
I think this game would very much benefit from a hex-based grid. It’s great for tactical positioning and unlike most RPGs we wouldn’t require any rectangularly-shaped structures (such as buildings).
The combat system itself would probably be a bit of a break from the classical roguelike tradition of each actor having 1 action per turn and interacting through bumping into entities. I think something like the Fallout-ish combat where you have multiple action points that you can spend on movement or attack or some other action would work great here.
This definitely means mouse support, though. Possibly mouse-only at least as far as movement is concerned. Should be all right with T-Engine (which is what I indended to use anyway).
Moreover, I’m generally much more in line with the 1 Hit Point style of combat these days (not necesseraly in the literal sense, just make each attack have a serious impact and be mostly deadly, instead of just carving out a small portion of the target’s health) and I’d like that to happen here, but I’m not sure how well it would work with all the other stuff. So maybe a more traditional system would be better. That’s something I’d probably have to spend some time experimenting with.
Graphics most likely ASCII just because I’m shit at drawing and it would take too much time. Would be nice to have graphical background tiles, though. I’m not sure how would that fit with ASCII-based player and monsters (maybe I should just download some open game assets?), but a proper hex grid would definitely be easier to reason about than a text grid with off-set rows.
This:
works much better than this:
but it would probably take more time to implement and get right.
And that’s about it. The game would be called too old for this shit. I’ve no idea if I’d be able to finish it or if it would be fun at all. But I’d love to see it happen and try it out.
Feel free to take any of this and run with it if it inspired you in any way. I’d still love to give this a go myself, too. There’s a chance I might just carve out a week later in the year and go for it.
In the meantime, I’d probably try to get familiar with T-Engine and also continue working on Dose Response (a roguelike about addiction I started building last year).
To anyone participating in the 7DRL challenge, good luck! Looking forward to seeing what comes out.