FYI: A Seven-Day Roguelike (7DRL) is a roguelike created in seven days. That is, the author stopped writing code 168 hours after they started writing code. A 7DRL can be created at any time during the year. However, general agreement was reached that it would be fun to schedule a specific week for a 7DRL Challenge.
Mostly I'm just curious what the shape of the code looks like for a scheme roguelike. What's easy, what's awkward, how easy it is to extend the rules of the world.
I've always loved roguelikes, and I enjoy reading scheme code too. The elegance and organization of really good scheme code can be a revelation!
I've always enjoyed roguelikes and probably spent dozens of hours playing them. My current favourites include more modern takes on the genre like "Caves of Qud" and "FTL".
I sort of casually develop one in golang these days, progress is not quick since this is just a small side project I do for the fun of it:
This is really well done! And I particularly like the combat. Filling the field with your attacks and enemy attacks really forces you to decide if you want to risk getting more of your attacks or be forced to take a really big hit yourself. I love the strategy and risk-reward that you provide with this setup.
But a solid strategy seems to be to pick the enemies attacks when they are just two blocks, and wait for your own to align up to more than 4. That combined with a strategy of exploring the entire level (and thereby healing) makes the game almost too easy.
That said, it was more low stress fun than I've had in a while. I find myself playing games for stress relief, and I have a tendency to play on the harder levels so it stops being "fun" after a while. I was playing metro 2033 recently, and while a nice game/story I don't really enjoy it that much because the sudden appearance of fast moving monsters that are hard to kill with limited ammo is just to much. I guess I should drop the difficulty but that seems like cheating. Games like that should have a better sliding scale for how well your playing and adjust so the player doesn't have to reload 10 times...
Also, you can focus your enemies' attacks in their weak spots-- for instance, I try to spend my enemy magic attacks when I'm fighting a rat, or something with little-to-no mana.
At first glance, seems similar to the combat system used by Legend of Bumbo[1] (upcoming game from the Super Meat Boy dev). Have other games used this "match-three" mechanic as a combat system as well?
Also, was pleasantly surprised to see the roguelike is played in the browser. Rot.js looks awesome.
Its like bejeweled\candy crush. You select two or more adjacent colors to perform an "attack".
The "attack" will be one of four choices: You attack, you attack with magic, the enemy attacks you, the enemy attacks you with magic.
So the optimal solution is: Maximize the attacks that benefit you while also picking attacks that either lessen the damage you take OR choose damage against you that set you up for bigger patterns on the next turns.
edit: looks like is can get deeper too. For example, bats have no mana and cannot attack with magic so it is a nice way to move some blocks without taking damage if you dont have any moves.
It could use an explanation of the (+#) modifiers though. For example, does (+#) green just add +1 to your attacks, and (+#) red add +1 to each enemy attack?
I was proudly rocking some (+#) red armor of treachery until I realized that I was probably the one being betrayed.
As someone who's wanted to try making something like this for a while but just doesn't know where to begin, can anybody recommend useful resources or suggestions on how to get started?
If it helps, I work mainly in C# and so would prefer that if possible, but this could be a good way to get familiar with a new language.
I'd assume I'll throw the first one away, so no framework. Just use C# in a console. wasd+ is input. Game loop is update positions based on input, convert positions to an ascii 2d array, print ascii.
Just those could get you to step 7. Then take stock and decide whether you want to restart the project in a framework or push on.
The first tower/game I started into had a room with no exit. At first I thought it was just a very nihilist game with no progress. I started a new game and that was better
Solid little game. I wish going through the bramble passages would be worth it (i.e. secrets?). Also I was hoping that at the end I could kiss the princess and the folks there would become hostile if I did.
I agree, the yellow/green/red is rather difficult to distinguish. Aside from altering the colors, it could also use different symbols. In general, it's good to have multiple distinguishing qualities (e.g. color, shape, texture). This helps make things more distinct for all users, not just those who might be colorblind.
Agreed. The overal design direction (have those glyphs "#" as it resembles thorns for a Game of Thorns inside a tower filled with brambles) won over usability in certain cases.
If this was a full-blown game (and not a 7-day proof of concept), I would try to make the combat UI more robust.
Huh. I didn't see any relationship between the "#" characters and the game theme. The combat mini game stuck out to me anyway, as an abstract puzzle game in the middle of a hack-and-slash adventure game.
Still, if you are set on using #, you could try varying size, boldness, italic, rotation, font, etc.
I like it! One annoying thing I noticed is that if you kill something while it's in a doorway, you won't get any loot from it. Maybe things could stack on open doors?
This is superb except for one small thing at the end; thank you so much for doing it in a browser window! Especially loving the connection between abstract resource management in combat and choice of weapons/armor.
As others have pointed out:
- It's hard to distinguish / remember the colors in Game of Thorns. (Pro tip: disable anything like f.lux that might drop out the blue values at some times of day.)
- Hitting command-left went back in browser history, and when I went forward my game status was gone.
- There really ought to be a way to annoy one of those knights at the end into combat, so you can clear the way to kiss the princess. Having that Kiss menu option for every single encounter but never actually being able to use it was the only thing wrong here.
It looks possible to have rooms generated that are impossible to exit. For example, I'm up to L3, and can't get out of the room with the stairwell. And on L2 part of the map is cut off from a similar map defect. Is that intentional?
Never got around, right. Most of the levels/rooms are okay-ish with respect to doors. What would you expect of a ruined tower hundreds of years old, filled with brambles and fallen plaster...
Nice controls and looks interesting. Will have to bookmark it. Almost makes me want to re-download Dwarf Fortress. Anyone know if the adventure mode has improved much lately?
It appears that there should be a way to move at an angle? I might have missed it. There are hallways that look like they lead somewhere, but can't move down them.
http://7drl.org/about/
P.S. I found Haxe by following some of the 7drl entries. But I think I would like to use Racket to make one one day.