Roguelike column thumbnail ['@ Play' is a monthly column by John Harris which discusses the history, present and future of the Roguelike dungeon exploring genre.]

Finally, here we are, at the end of our treatment of the 2009 7DRL competition. It's been a month since the last installment! If it seems like I've been procrastinating here... well, that's probably a fair observation. I hesitate to say that any of the winning games were unsuccessful.

7DRL places greatest importance on development speed; so long as the game compiles and is playable, even if only in a technical sense, it's counted as a success. I consider this to be perfectly valid. Congratulations are due to all winners. Even the failed attempts, by my lights, are all honorable failures.

But the purpose of these columns is not just celebration, but reporting on their worth as games, regardless of the strictures of the challenge. Some of the games, including one covered this time, Jacob's Matrix, turned out amazingly well. They'd be worth playing, as-is, even if it had taken the developers years to write them. That is the magic of these kinds of forced-creation challenges; sometimes they produce wonders.

Sometimes. Some of the others, well, are more interesting as programming feats than as games. It's not to say they're not salvageable, but they don't seem quite done yet.

The games covered this time out are Truegod, Escape From Lab 42, dL1, Fist of the Rogue Warrior, Pink Ninja, Jacob's Matrix, Nyctos and Whispers in the Void.

truegod.png18. Truegod
Written by James E. Ward for Windows
Homepage: http://code.google.com/p/stonesofchaos/
Another opinion: Cymon's Games
Victory post: rec.games.roguelike.development

This game is not real-time, it is presented in simulated ASCII. It has an unusual experience system, and no inventory. It is a short game that starts fairly difficult and stays difficult. It seems to be somewhat unfair (but that is the point).

Premise: Having lost the favor of your previous god, you switch over to worshiping the RNG. That is to say, the Random Number Generator.

Truegod is a chaotic, yet interesting, game in which the rewards and penalties are mixed up every play. At any time you could be seized by the desire to kill all the enemies on the level, or maybe not kill anything at all. How well you do at responding to these whims determines, somewhat, whether good or bad things happen to you.

There are experience levels in this game, but I'm not sure if there's an experience score. Sometimes you gain a level just from walking around, and sometimes you gain one in the midst of combat. You don't regain health over time; you must drink potions, found lying around the dungeon, to regain hits, and there doesn't usually seem to be enough to make up for the damage you take. However, gaining an experience level grants a large health boost, making it an important source of healing.

One tip: frequently, while exploring a level, the player will be given a random message. The meanings of these messages is not explained in the game, but it doesn't seem like they're supposed to be obscure. The RogueBasin page for the game explains what they all mean.

The preponderance of random events may remind some readers of a certain infamous god (Xom) from a certain other game (Dungeon Crawl). If you like Truegod, you just may find that it to be to your liking.

Verdict: It may be a little too random, but it's better for a game to know what it is and go all out in pursuit of it than to muddle through trying to be everything. Approved.


lab42.png19. Escape From Lab 42
Written by Rick Clark in FreeBasic for Windows and Linux (Linux version tested)
Homepage: http://rickclark58.googlepages.com/efl42
Another opinion: Cymon's Games
Victory post: rec.games.roguelike.development

This game takes place in real-time and is presented in simulated ASCII. It has no experience system, but it does have a simple inventory system. It is a short game that starts hard and gets difficult, perhaps to the point of impossibility. Sometimes, it doesn't seem to be fair.

Premise: You're the only human in a building of zombies, starting up on the tenth floor. It's 30 minutes until they nuke the building. That's 30 minutes of real time, and there's a long way to go.

Ah, here's a game that's taken Rogue's primary design philosophy to heart: start them off in a tough spot, have it get much tougher, and make them sweat through the last phases. The developer himself has admitted his own best game has gotten as far as level 2, with an entire floor remaining before the end.

The most distinctive aspect of the game is its action-oriented play. Not only is the time limit an actual half an hour, but the game is also real time. In fact, it's a very rapid real-time game; a zombie that sees you and runs to the attack is on you in less than a second, and sometimes it seems like holding the key into it causes you to attack more slowly than it. It is hectic and panic-inducing, yes, perhaps a little too much so. It distances the game a bit from the roguelike ideal, but I tend to look better on games that bravely forge their own way rather than copy prior ones, so I'll say it's a good change.

One thing that doesn't work so well is the missile weapon targeting system. The 't' key turns targeting on. While on the game doesn't pause; instead, zombies get represented by other letters of the alphabet (besides the usual 'z' and 'Z'). Pressing the letter fires at that opponent. By the way, once you're in targeting mode, hit the key of the monster you want to shoot. (Usually 'a'.)

Real-time game with some very lethal opponents, the game seems to run a little too quickly, and sometimes the "guard" zombies (capital 'Z') seem to be invulnerable. There are times when they're dispatched immediately, and times when you hold into them with a full health bar and watch as they get in hit after hit, dozens, while your character steadfastly refuses to do any damage. It's quite frustrating. Using missile weapons could be a way around this, but there's no time to find the 't' key and then the proper target key when the enemy has appeared and closed to melee range nearly instantly. Considering that a slower rate of play would mean the difficulty would remain at roughly the same level due to the real-time aspect, and it makes me wonder why the developer figured the game should run so fast.

Even with this rather crippling flaw however, the game is still quite fun to play. I've gotten through three levels in my best game, and might have gotten another one or two down if it weren't for an invincible guard zombie. Some more attention to balance and playability is called for, but there is a kernel of awesome to be found here.

Verdict: Not a bad game, even if it is a little too hectic at times. Worth watching for the next version.


dl1.png20. dL1
Written in Java using a simulated console. (Note: I have only gotten this to run under Windows.)
Homepage: http://legend-angband.blogspot.com/2009/03/roguelike-challenge-completed.html
Another opinion: Cymon's Games
Victory post: rec.games.roguelike.development

This game is not real-time, it is presented in simulated ASCII, and it has no experience or inventory system. It is a short game that starts extremely difficult and goes nowhere. It is essentially unplayable: most of the times levels are not fully explorable, and there is no win condition.

Premise: You have this guy. He can fight immobile dragons, but probably shouldn't because some can kill him instantly. Fortunately, they don't hit unless hit first. Money is scattered around. It can be collected, but it doesn't do anything. Also, you're trapped, forever, on one level, there's no exit or way to win, and often you can't explore the whole level.

As Cymon's Games notes, you have to enter "java dL1" at a command prompt to play the game. He holds that fact against it; considering that chickhack technically required entering the Commodore 64's traditional load command to start, I'd be a little more disposed to excuse this.

Unfortunately, while the rest of the game is commendable for being a shell of a roguelike developed within a week's time, that's all this is: a shell. There's only one level, and it's not even guaranteed to be completely connected. The monsters are often extremely powerful and a few can kill the player in one or two hits. So it's a good thing that the monsters don't move, or attack the player except as a counter-attack when the player hits them. There is no escape from the level, either. There is gold to pick up, but it doesn't seem to be good for anything.
As a program, it runs. That's all I can really say about this.

It is, however, a computer game written within a week. And it's only the second Java program the author's ever written! We expect good things from him next time.

Verdict: Not worth playing except to satisfy curiosity.


fotrw.png21. Fist of the Rogue Warrior
Written by s.chiu in Python 3, using the curses console library
Homepage: http://code.google.com/p/fotrw/downloads/list
Another opinion: None found. Cymon's Games could not get this one to work, probably because of the combination Python 3 and Linux requirement. Interesting, frustrating fact: the official Python curses module does not support Windows targets.
Victory post: rec.games.roguelike.development

This game is not real-time, and has no experience or inventory system. It is a short game that starts with a selectable difficulty, that gets easier. It seems to be fair.

Premise: Your character, a monk in the tradition of karate, hates mooks. Mooks, perhaps unsurprisingly, hate him back, and run up and try to kill him. Kill them first!

Note: The space bar causes the game to instantly die without comment! To page through messages, use any other key. (Messages are waiting to be paged when three dots appear in the corner of the screen.) It also likes to lock up at times for no apparent reason.

This game has no instructions, and RogueBasin's page is empty except for the bare facts of its existence. I've been able to piece together that you have a number of stances which you can switch between using the 'q' key. Switching stances does not cost a turn, and some are better for attacking, and some for fleeing. Some no doubt have other purposes, but I was unable to keep the game playing long enough to piece together what their functions were.

When the game begins, you're asked how many opponents you wish to fight: 5, 10, 15 or a specific number. I've won the game on the five mook setting, only to have the game bomb out back to the command prompt upon success. Hmm. There is only one level and no other points of interest to be found beside a lot of boxy obstacles scattered around in a regular pattern.

This is another one that's interesting mostly for the rapidity of its development, yet isn't really worth playing on its own. The stance system has great strategic potential, however. If s.chiu is reading this, may I suggest the first thing to do is to document what the stances do, the second thing is to fix the crash and freeze bugs, and the third is to add in levels, and perhaps an experience system.

A word on Python 3: this is the newest version of Python, and a subject that I've read on. Of particularly importance is the fact that this version breaks backward compatibility with prior versions of Python. (Maintainer Guido Van Rossum is taking the opportunity to remove some cruft from the language.) Because of this, you must be sure to be running the game under this version of Python in order for it to run.

Verdict: Not really worth playing as it is.


pinkninja.png22. Pink Ninja
Written by Deveah for Windows
Homepage: http://dva.uv.ro/pn/
Another opinion: Cymon's Games
Victory post: rec.games.roguelike.development

This game is not real-time, and it has no experience or inventory system. It is a short game that starts easy but gets much harder. It's basically unplayable, due to the combination of some ludicrously strong and fast opponents and lack of player options in dealing with them.

Premise: An unusually girly ninja picks flowers for her master. While doing so, she defends herself against monsters. (The femaleness of the ninja here is assumed. It seems a fair assumption, though.)

Press '0' on the number pad to pick a flower when you find one (an 'f' that chances colors each turn). Pressing numpad 0 also uses stairs.

Not a huge amount to say here. There are monsters that can do three points of damage per hit and are faster than the player. Her starting health is only five!

This needs serious work if people are to play it. Deajah reports that the game only has five hours of work put into it. That's actually quite impressive considering what's here: random levels, multiple opponents, a line-of-sight algorithm and a ten-level structure. It's only slightly unplayable now; the first thing to do is to balance out the harder monsters.

Verdict: Not worth playing at the moment.


jmatrix.png23. Jacob's Matrix
Written by Jeff Lait (a repeat offender) for Windows and Linux
Homepage: http://www.zincland.com/7drl/jacob/
Another opinion: Cymon's Games
Victory post: rec.games.roguelike.development

This game is turn-based with a significant real-time element. It has no experience system, but it does have a limited inventory. It is a short game that starts easy but gets much, much harder. It is generally fair.

Premise: Explore a series of strange caves that unfold in three-dimensional space, while under a strict real-time limit! Do this while fighting a suspiciously varied selection of monsters, using an even more varied assortment of items.

I was taken by surprise by this, one of the best games of the competition this year. There are things about it that seem unusually polished for a 7DRL. I shouldn't be surprised: Jeff Lait's one of the most frequent 7DRL participants, having made four other challenge games. He also wrote and continues to maintain the popular roguelike POWDER! He is one of the most consistently awesome roguelike developers around.

Let's start with the flames on the sides of the screen. You can't see it in the screenshot, but they dance and flicker while you play. If you have a fast computer the effect is quite striking, but it slows the game down a lot all the same, and the timer means a slow game is also much harder. My suggestion, if you want to get far into the game, is to turn off the flames from the main menu, replacing them with boring bar graphs but making the game much more responsive.

About that time limit. There's some rather atmospheric background music playing while you explore. The game's time limit is, in essence, the length of the music track, and it's not what I'd call a long piece. The music doesn't stop when you check the control screen, which artificially steepens the game's learning curve, but there really aren't a huge number of keys to learn. While an interesting choice to tie play time to an audio file, I found myself wishing there were also an on-screen timer during the game. If your character runs out of hit points, by the way, the game doesn't end, but there is an enforced pause while you wait to be revived.

The number of monsters and items in the game is astounding. The monsters, it turns out, come from an earlier 7DRL of the author's creation, Letter Hunt. The items and spells come from another earlier game, Save Scummer. This is technically against the rules of the competition, but I don't mind myself; I'm more interested in these things for their play value, and there's lots of that to be found here.

Now we move on to the most awesome things to discover here. The first is that the maze isn't entirely Cartesian. You can travel along a path that curves back on itself, and when you go around and reach the place where the path should intersect, you'll often find that the walls don't match what you saw your first time through! If you go back around the bend, the walls will be back where they were the first time.

It's rather shocking to find this out in play; evidentially the maze is simulated as more than a simple 2D grid. One useful way to think about it is as being a 3D structure with invisible slopes, with the cross-over places being bridges or underpasses. It's not as confusing as you might think it'd be, and helps gives the maze a character little-seen in other roguelikes. It is a great technical achievement, and the source code deserves study.

To aid the player in finding his way to the goal, the walls along the way are presented as different colors. The starting area is dark blue, and the goal is bright yellow. As you progress along your way, the wall colors change and cycle. The "closer" they get to yellow (going either way through the color wheel) the closer the goal area is. It is a terrific use of color, and other authors should take note.

But, as if that weren't enough virtuosity to display in a single game (it IS a 7DRL, isn't it?), the developed even decided to thrown in the portal system from, well, Portal! You can fire off blue and orange portals, and if they strike a suitable section of wall they form a stable passage between those sections. That isn't even the awesome part; that is that the portals work the exact same way they work in Portal; the world in your line of sight through the portal is the world as if the two spots were spatially adjacent, with rotated perspective and everything. You can even see yourself through the hole. A mind-bendingly awesome accomplishment. Considering all the work that must have gone into this effect, it's a shame that the portal mechanic has little actual application in gameplay. You can't make a portal somewhere you haven't seen, after all, so you can't use it to make a shortcut through the maze. Effectively, you can only travel back to places you've already been, and if you're not careful the rotated perspective can cause you to get hopelessly mixed-up.

Jacob's Matrix isn't actually a single big game; it's a collection of little games of increasing difficulty. At the start you can only play the easiest one. Harder levels have much more complex mazes, tougher opponents and better items. The game tracks and saves the best time for each level, levels opened up remain open in later sessions, and if you play many levels in one session your inventory carries over between them. Since the real-time component of the game would make time spent managing inventory a tremendous waste, the game automatically selects the best weapon and spell of either the one you're carrying and any you find, a nice concession to playability.

Even after visiting Wikipedia, I never did quite quite find out what the Jacobian matrix has to do with the game. Ah well; it's possible to get quite far without that knowledge, at least. I've gotten to the next-to-last level myself.

Verdict: An incredible game, and not just as a 7DRL. A strong contender for the best of this year's challenge.


nyctos.png24. Nyctos
Written by in Python for Windows, Mac OS X and Linux
Homepage: http://code.google.com/p/nyctos/ (There's also a blog.)
Another opinion: Cymon's Games
Victory post: rec.games.roguelike.development

This game is not real-time. It has both a full inventory and experience system. It is a fairly long game that's not too difficult, although there is one aspect that makes it rather annoying. It is generally fair, except for that one thing.

Premise: There is something of a story here, but honestly I didn't pay too much attention to it. No, Nyctos is basically a random dungeon crawl just like mother used to make. One with an interesting, ultimately infuriating, lighting simulation.

First off: they stole the title screen music from Castlevania's ending screen. All the music seems to be swiped from 8-bit games, in fact. Castlevania was so hard I bet they thought no one would notice....

In the style of the standard of the genre, Nyctos is a game of exploration, resource management and combat in a series of increasingly-dangerous dungeon levels. Much more attention has been paid to the surroundings than usual; there are a number of things in the game that can be examined with a keypress that have no game function that I can discern, but are there as "dungeon dressing." Monsters, the first time a member of a species is seen, bring up a page of descriptive text. It is a welcome detail that other authors could stand to pick up on.

The combat isn't greatly challenging, at least what I saw of it. The game is one of the few seen this year to offer a full experience system. It even provides for player-selected stat gains upon gaining a level.

Let me move on to the game's primary feature and, to my mind, its downfall. Astrisks found in the dungeon represent potential light sources. The dungeon can be quite dark if they're not lit when they are come across. Shift-'L' while standing on one lights it (or lets you light something in inventory), and 's' (unshifted) snuffs one out. Although the darkness in most areas is annoying, and may even force you to turn your monitor brightness up, the light effects aren't bad. Annoyingly, some walls look just like dimly-lit floor spaces. This sometimes causes confusion, but it's not particularly common.

Worse is the fact that all light sources, the ones that I found at least, have a limited duration while on. The player begins with a torch, and can find more sources in the dungeon. The game is unplayable without a light source, it's just too dark. You can't even see your character's '@' symbol without a light source. Torches last a good while, but only provide one or so spaces of light, and I had to strain a bit to see even in that. The radius extends some way beyond that, but only dimly. In a way that's worse than the normal route of just not displaying things out of sight, because the player himself, sitting at the monitor, can strain to see things far off.

It'd probably be less annoying if a torch provided more light. Lanterns can be found once in a while and they provide another space or two of light while they last. There are braziers in some rooms that can be lit, and they provide a great deal of light for a while, but don't last very long and seem to be too cumbersome for transport. There is a scroll of illumination that provides a good level of light for a pitifully short number of turns, and a scroll of light that creates one permanent, but stationary, magical light source. All these drawbacks and caveats mean that, for the good majority of the game, the player will have to put up with torchlight for his illumination needs, and that gets old fast. It doesn't help a bit that the game doesn't "remember" places outside of his sight range, so he must put up with the low illumination even when navigating places he's already been.

Verdict: The game's attention to detail is admirable, but its star feature, the lighting system, seems to be more aggravating than atmospheric.


witv.png25. Whispers in the Void
Written by William Hunt in Python for Windows and Linux
Homepage: http://nihilsys.com/wordpress/?p=63
Another opinion: Cymon's Games
Victory post: rec.games.roguelike.development

This game is not real-time. It has a weapon-skill experience system and a rudimentary inventory. It is a short game that starts hard and gets much harder. Ultimately, it is probably unfair.

Premise: You're apparently a girl space marine on a spaceship filled with zombies and monsters. (It looks heavily inspired by Doom, a quality that did not escape Cymon's reviewer.) Survive and traverse the many suspiciously dungeon-like levels of the ship and escape.

The dungeon levels are all what I call "true mazes," a way of saying there's only one route to get anywhere without loops. This tends to reduce strategy; if you find a route filled with an unreasonable amount of monsters and the exit is on the other side, there isn't much you can do to get around them. Especially considering that all the game's corridors are one space wide. The mazes also make wandering around the huge levels fairly annoying.

One interesting thing here is that, after getting past the Doom-reject insane marines and commanders, the monster list starts getting decidedly Lovecraftian. Ghouls, Mi-go and Dimensional Shamblers all showed up in my test games. If you're going to steal your monsters from somewhere, steal from the best.

This game implements missile fire as its primary method of attack, and the weapons you find have limited ammo. These shot limits, in terms of gameplay, and not very meaningful since the player can't do much to change his hit chances besides gain experience in a weapon, which itself costs bullets. He can't even waste shots. Because of this, if the game decides you're going to waste ammo then you're pretty much doomed, and a bad run of luck can deplete your meager armament easily. This is what prompted me to write "it is unfair" up above. Classic roguelikes feature similar difficulty and resource management, but key there is that there are things the player can do to counter them. Making clever use of "bad" items, identifying things through indirect means, using smart combat tactics, relying on escapes as a means of last resort and conserving food through efficient exploration and healing.

Little, if any, of this applies to Whispers in the Void. The game is mostly a direct slog though the generated opponents, and if you don't find enough ammo to get you through the monsters, then you pretty much die, even if you applied the best strategic decisions you can make. It's not just that Rogue isn't unfair, sometimes, in generating its random levels. It's that, when you die in Rogue, usually you aren't completely certain you made the best decisions using the information available to you, so the game is usually given the benefit of the doubt. In WitV most of the decisions to be made are obvious ones. Between the pre-identified items, the automatic item collection and use, the limited ammo, the obvious tactics and the "true" mazes, there are very few meaningful choices to be made here. When such a game ends in death, it feels awfully unavoidable.

Note 1: As mentioned above, it turns out weapon experience is counted by the game. The only indication of skill in a firearm is the text "(mastered)" after its name in weapon inventory once maxed out.

Note 2: the "sanity" stat tracked by the game may not actually be implemented; even when fighting several Lovecraft monsters, I never saw it dip below 100%.

Verdict: Kind of feels grindy, but there's some good mechanics buried here. The first thing I'd do is slightly increase ammo supplies. Then I'd make the dungeon levels more varied, and put some loops in them; a strictly-valid maze is actually less interesting to explore than an imperfect one. Make the shot miss chances more explicit, put in some usable items instead of just activate-on-pickup, make levels less cramped while decreasing monster strength slightly while increasing their number. Maybe add some environmental hazards to avoid/take advantage of. In any event, keep the Lovecraft monsters at all costs.


In other 7DRL news:
It seems Excitable Digger is getting a sequel.
DungeonMinder has updated again, making for a substantially expanded game.

Overview of 7DRL 2009:
PART 1
1. DungeonMinder (*****)
2. Epic! Monster Quest: Hyper (****)
3. Underbooks (****)
4. Excitible Digger (***)
5. Decimation (***)
6. DDRogue (****)
7. Fortress of the Goblin King (***)
8. Fruits of the Forest (***)
9. chickhack (****)
PART 2
10. Cypress Tree Manor (****)
11. Domination (****)
12. Backwards Gravity (*)
13. The Favored (**)
14. Persist (*)
15. TetRLs (**)
16. Expedition (***)
17. SpiritsRL (****)
PART 3 (you are here)
18. Truegod (**)
19. Escape from Lab 42 (***)
20. dL1 (*)
21. Pink Ninja (*)
22. Jacob's Matrix (*****)
23. Nyctos (***)
24. Whispers in the Void (***)
25. Fist of the Rogue Warrior (**)