Monday, 4 January 2010

Puzzle Rogue

I have enormous respect for many roguelike developers' ability to create multiple, complete roguelikes in the time I have yet to finish one, but one developer I hold in particular esteem, because he also works with Angband variants.

Antoine, creator of Guild, Ironband and Quickband has just released a 7ishDRL Puzzle Rogue, based on the idea of creating a puzzle game using the roguelike conventions and features. He announced it following approximately 7 days worth of coding effort - it doesn't qualify as a 'pure' 7DRL because those days were not consecutive - and you can download the Windows binary from here. You can also follow the thread on Puzzle Rogue on rgrd.

I'm interested in the idea of puzzles embedded in a larger roguelike, especially if the puzzles can be procedurally generated. The Sokoban levels in Nethack are one example, and I've been toying with several others in Unangband. Antoine has taken a slightly different direction, and, as he notes, the difficulty with his approach is the overhead of creating the levels.

It's interesting to note that the developer of Eyangband, Eytan Zweig, went on to contribute to DROD (Deadly Rooms of Death), suggesting there's considerable overlap in the design skills required for each genre.


Hetdegon said...

The idea of puzzles in a roguelike is by no means impossible. The main issue is making a set of entertaining challenges and integrating them.

Unangband has a large number of features that can be integrated into puzzles. Chains for example:
(Admittedly I have tried to fiddle with all "winding chains" in levels just to see if something happened...)
If you make a chain that produces a different message ("you hear a mechanical sound somewhere") when interacted with, and put some informative tapestry or a special "info" scroll somewhere, perhaps guarding a locked and impenetrable room, and giving you a hint on how to proceed...(can range from "NWSE" to make you activate the chains at north, west, south, east respectively, to "the winds from the north froze the lands of the western regions...").

If the player either finds the room, the "info" source, or activates the feature, it will know there's a puzzle and the promise of loot/advance/amusement will prompt the player to play along. You can use more direct puzzles for those that are required to advance, in order to make them enjoyable and not something the user would love to skip.

There was a game for the SNES that had turn-based dungeon puzzles, its name is Lufia 2, you might want to take a look at it. It's classic JRPG fare but has a randomly generated dungeon and a large amount of dungeon puzzles, some admittedly more brilliant than others.

Oh, finally, why not use enemy-related puzzles too? Like either luring enemies to certain spots (or enemies that can only be killed in certain rooms), altering certain enemy populations (vanish all ghosts from the area to release the evil spell... set by some necromancer or whatever nice flavor text can be made. Or kill orcs and spare/avoid goblins to have them rewarding/helping you for freeing them from orc slave traders or something...kind of like a quest, but in a lesser scale and with unclear objectives so the puzzle is figuring what to do)...
That last example can be used as well to promote "stuff going on" in the game world but without the whole quest device of "go there do that", you were around doing your adventurer stuff and something unusual is up. Figuring it out can be considered a puzzle, and goes well with the random nature of can also add "red flags" in form of flavor text (well I am assuming goblins are literate here) like plans to attack the orc captors or the classic "I miss you son" letter dropped by enemies. Or conversation overhearing if you feel adventurous.

That's all, please excuse the verbose!

Antoine said...

Thanks for the ups Andrew!

I hope the game amuses some people for a few minutes. (In fact, to be honest, I hope some find it frustratingly impossible :)

> the difficulty with his approach
> is the overhead of creating
> the levels

yes its a matter of grunt work. Some trial and error is needed - I would struggle to create levels without the ability to test them and see what direction monsters will move in.


PS I read Ascii Dreams about weekly and voted for Zot Defense in the latest poll

Andrew Doull said...

Antoine: No problem.

Ah... Tower Defense. One of my intentions for the alternate mage classes (Sorceror and Druid) was to allow for some tower defense style gameplay. I'll have to check out Zot Defense.

Andrew Doull said...

Hetdegon: Well spotted about the chains. The chains are going to be physical type puzzles with levers and switches (and repairing broken chains). I can support at least one type of puzzle using the current room types, so may do that for the next version of Unangband.

Andrew Doull said...

Hetdegon (2): The enemy type puzzles will be possible with the quest code - still work in progress.

Hetdegon said...

Hehe, I still think there are more elements present already in Un that can make up for puzzle making. Braziers, torches in walls...also the way Un implements "room flavor" makes it easier to announce or hint a puzzle (or puzzle component/setup/do-something-in-here-to-change-other-place). A puzzle involving lighting up a few or them, or making a chain reaction with a defined would only need to link them.

For example, in my own project, although it's not coded yet, I thought of a specific puzzle involving explosives. This is intended for a 2D sideways perspective but works equally as well here.
The room is set with a switch and a locked door, and a series of explosive blocks following a path. Then there are a few branches in the way with empty sockets. Finally there are pushable boxes with a block arrangement that direct the explosion. The player has to move the right blocks to the sockets then activate the switch. If done right the unique damage type of the explosive blocks destroys the door. I made it so the damage type can vary so I can make two puzzles of the same type in the room, making it possible to have none, one or two possible rewards. It's made to be optional and non-intrusive (no warning to the player aside the obvious) and doesn't interfere in the battlefield. It's also to be procedural, laying out the blocks in solid, unreachable parts of the room. It can in theory be added to any room with more than two access routes.

However I am designing all puzzles to be optional, "extra-things-to-do" to enrich the world more than puzzles that are required to continue...which kind do you plan on adding?

I think that by adding so many elements you can interact with in the dungeon, you already set a working scenario for all sorts of little tricks in Unangband. The framework to make solvable layouts might be the only thing to add.