A Powerful RPG Engine
Of course, eJECTION's RPG engine is the real star of the game. With nine different fights coded in the game, it's critical for eJECTION to have gotten it right. Let's start with all the ways in which he does.
The presentation isn't half bad. At a glance it's the usual smiley faces pitted on opposing sides. Invisible walls are used for magical effects. Tak's sword swings with different animations depending on the chosen attack. All typical and expected features. Some of the magic spells wound up surprising me. I've seen my share of ZZT lightning bolts. This is probably the first time there was a cloud along with it!
Sometimes opponents are bigger foes whose size can't be represented with a single character. One is fine when as a sensible representation of a wizard, demon, or wild animal, but battles with more larger monster use some larger character art. Those "Pikkill" creatures that harass travelers are little guys that are player-sized, but a larger variant also appears that dwarfs them in stature. Most impressive of all is the fight with a mind-controlled "Tyro Kugon", a purple dinosaur-like creature (no, not Barney) that takes up the majority of the enemies' half of the screen.
eJECTION excels at surprising players with his larger foes. Tak explores a room with nothing more than the usual dead soldier and severed limbs, only for the beast's snout to appear at the bottom of the screen accompanied by a mighty roar. Thanks to the arrangement of the board, players are equally likely to be headed directly to the beast's lair before it makes itself known, or be examining a torn limb instead. Everything is so close to the board's edge that while you might suspect something lies through the gap in a row of iron bars, you won't be expecting a monster to show up, and only get larger once you enter combat.
Similarly, the large Pikkill follows a few skirmishes with its smaller brethren. You get used to fighting the little guys, allowing the big one to really stand out.
And even when using single-object enemies, eJECTION's engine supports multiple characters on both sides. Tak has to figure out how to survive three-on-one fights, work with a partner in two-on-twos, and of course fight those singular massive foes.
The engine is very flexible for the era. And not just in terms of numbers. The first battle with Achar begins with only two participants, until Achar makes use of a summon spell to add two demons into the fight. The surprise is admittedly spoiled a little as the demons are shown with empty health bars before being brought in, but the real unexpected moment is that when both demons are defeated, nothing stops Achar from summoning them again, really throwing your strategy for a loop when you realize that you can't simply stop the weaker foes first to avoid being overwhelmed by multiple attacks per round.
Hiding information does a lot to spice up the combat, especially early on when eJECTION hasn't used up all his tricks. Even everyone's health is partially obscured. Health is measured with breakable walls that are shot as attacks come in. When there are no more breakables and the object on the other end is shot however, the combatant isn't defeated immediately. There's a "wounded" state with life bars refilling by a smaller amount before any character is truly taken out of combat. The first time players will think they've defeated an enemy, or been defeated themselves, only to realize that the fight is hardly over. Afterwards, while players know there's more health than can be seen, you can't be sure how much, and will find yourself begging eJECTION to be kind and restore as little health to the enemy as possible.
Tak's combat abilities deviate from the norm as well. You begin have two flavors of swordplay: swing and slash. Generally this translates to "low damage, high accuracy" and "high damage, low accuracy", with the names varying from engine to engine. Depending on the exact numbers, it usually is only worthwhile to use one attack constantly. Here though, eJECTION seems to have noticed that even when the odds of success are three in four, players are going miss a lot over the course of a fight. Instead, he opts to have the single damage swing hit every time, and for the "inaccurate" double damage slash to have a much kinder than normal 75% hit chance. It's a rare instance of the player being commanded actually feeling like they're competent. The dice are reliably in your favor for a change.
Later in the game when players reach Jylorn, one of the unmarked buildings has an NPC that can teach Tak a new sword technique. The ability "swipe" covers the obvious gap in Tak's skill set, allowing him to strike every foe for a single point of damage. While it's a welcome addition, it's not that useful in practice. Only two fights are left when players can learn the ability, and in both of them the barrage of attacks needs to be slowed down ASAP. Attempting to split damage between multiple enemies leads too many attacks taken to be practical to use.
There are two pieces of equipment available in town as well. You can buy a wooden shield and a valor belt.
From the start of the game, Tak can be told to use "Valor up". There are no instructions provided that explain its purpose, leaving players to experiment and find out for themselves. The lack of communication and an initial look at the code led me to believe this move was entirely worthless, though now at the writing stage I realize that it does actually function, and may make some of the tougher battles easier to win.
All players see when they use it, is Tak raising his sword above his head, "Valor up!" text appearing, ...and then you take two damage. Given that this was just a demo, and that I've seen games with unfinished RPG engines before, I assumed the feature hadn't yet been fully implemented and was meant to make Tak's next attack do extra damage or allow him to act faster. It seemed to be a button I could press to take more damage and waste my turn with no benefit.
What it actually does is erases an invisible ricochet that is used in RNG checks. With that ricochet gone, all attacks have 100% accuracy. This lasts for the duration of combat. Two damage for perfect accuracy sounds pretty tempting...
But it's more complicated than that! Firstly, the valor belt winds up having a purpose, reducing the self-inflicted damage to just one, transforming it into a must-buy item that I wound up not buying. Oops.
Second, the same effect happens after players become wounded. So regardless of using valor up, players will find themselves with perfect accuracy eventually.
This is honestly a great way to add a lot to consideration within a fairly typical battle structure. Should you take extra damage for assured hits or are you better off just waiting to be wounded naturally and saving the hit points? The answer will vary depending on who you are fighting, how many enemies there are, and whether or not you have the valor belt equipped.
But that's still not all! Players have one more option to choose on their turn. Tak can also defend. This is another common feature of ZZT RPGs that usually means inflicting zero damage on your turn, only to take two instead of three from enemies. It's so rarely helpful, yet eJECTION manages to make it work in a way that gives players reason to try.
Defending does what you'd expect in an engine that uses breakable walls as a health meter. Using defend causes a breakable wall to be placed at the start of Tak's life bar, and then ends his turn. Unlike other games, when you use defend the time before you can attack again is made noticeably shorter. This makes it far more appealing to use as you can try to slip it in between attacks rather than taking damage immediately after using it. Better still, it throws the timing of your attacks versus the enemy's out of sync. With a bit of luck, you can issue a command to defend just after an enemy uses their attack, interrupting the call for the health bar object to shoot a bullet, and instead mitigating the damage by placing a breakable down for defense instead.
Just be careful, as desyncs can favor enemies as well. It's equally possible that you can issue a command to defend, only for the enemy's attack to land immediately afterwards, limiting or preventing any breakables from appearing.
The wooden shield makes defending even more potent, pushing two boulders down the health meter before turning them into breakables for an extra layer of defense.
Lastly, there's Darj who does properly join the party after witnessing your fight with the soldiers at the inn. Darj is unfortunately an NPC on autopilot in combat, so his helpfulness varies wildly in his single appearance. If you're lucky, he'll target the much greater of two threats in that particular encounter. Darj is mostly of interest because it's one final way Fatal Quest expands on its combat system. Although without manual control, he's just a little bit of randomness in the player's favor, especially if enemies target him rather than Tak.
The engine eJECTION put together is arguably one of the best I've seen. It's all the more impressive given it's somewhat early date of 1997. When I imagine the "standard" ZZT RPG engine, which I picture is what this game does. A few attacks, some animations, and physical health bars. The only real omission here is a complete lack of magical attacks for the player. Yet this same generic engine is also one that when I come across today, I'm immediately ready for a barrage of problems. I don't go into them with joy. I go into them knowing there will be something to complain about, and perhaps with a bit of luck, something innovative to still praise.
For Fatal Quest, it's remarkable how much eJECTION13 did right. The accuracy system for attacks makes your character actually capable. It avoids coming off as just flipping coins and hoping the RNG plays nicely enough that you can win. The various abilities make it feel like you have to actually come up with a plan, and find something that works to beat a foe. The valor system offers a trade between health and accuracy. The wounded state provides a comeback mechanic to turn certain defeat into victory. The ability to react quickly after defending gives it a purpose rather than just wasting a turn. All the pieces fit together nicely.
This game has single-handedly made basically every RPG engine of ZZT's first fifteen years feel worse. All this time it was possible to use the basic mechanics and create something that actually works.
The big flaw here is not with the engine itself, but in the lack of communication about how it functions. The game is marked as a demo, so it's not entirely fair for eJECTION to expect to have polished documentation, especially given that even here the engine evolves as the game progresses. The initial fight's code has no consideration for equipment, and even its implementation of multiple enemies to fight suggests that it wasn't always going to be a feature. Every attack runs through an object named @enemy1life which then delegates to the proper health bar to deplete.
Without knowledge of how the system works, players, especially those familiar with other ZZT RPGs are going to draw from prior experience. I assumed defending was useless. I had no idea being wounded increased accuracy. "Valor up" appeared to do nothing but hurt me. Unlucky timing when defending with the wooden shield made me suspect it was also bugged and no better than defending without one. My playthrough video has me giving up on certain fights that seem unwinnable, and not re-buying equipment after loading a save. It's all too subtle to notice unless you know what you're looking for.
Perhaps a full game would have had a nice lengthy text file explaining things, or an in-game tutorial fight. If it did, I think this game would be very fondly remembered rather than being a random game Nadir had to dig up a copy of to be able to revisit it.
eJECTION still has one more engine to show off, and it's definitely lacking compared to the RPG system.
Move Over Triple Triad...
Or I suppose, tell Squaresoft to take notes while they develop Triple Triad for Final Fantasy 8. This game's got Teknan.
A single sailor on the starting boat will ask Tak if he'd like to play some Teknan with him before departing. Accepting the offer throws you into what I suppose is meant to be a turn-based strategy game. And while eJECTION has gone a fantastic job with his RPG engine, this is still something that requires too much compromise to function well in ZZT.
You have three pieces. Your job is to defeat the enemy's two pieces.
The interface is enough to let you know that you're in for a bad time. Each piece has its own independent controls, which have to have transporters to quickly get between them. Arrows take a step in that direction, with the central character moving two tiles instead. Shooting brings up a prompt asking for a direction allowing you to shoot in four directions.
There's a bit of asymmetry to the game, eJECTION's best effort to making an even match in a system where the CPU can only move randomly. While the CPU has fewer pieces, they get to move up to eight tiles per turn, firing after every two. The arena is made more dangerous by the number of ricochets scattered about that can bounce bullets back and forth regardless of whose turn it is, though it's also very possible for the CPU to just shoot a ricochet and therefore itself.
Shoot a piece enough times and it's removed.
Like the main RPG battles, there's no real communication. You have to figure out how to play as you go, giving your opponent an early advantage as you discover how movement works.
The most notable thing about the mini-game is that your opponent is named Gaben, who I assume was taking a break from working on Half-Life. Underlords, this ain't.
When you win, which can be done by just hiding and letting the enemy shoot ricochets, players are offered a choice of three rewards, none of which are elaborated on.
These include a lock pick to open certain doors early, a healing potion that provides fifty health, and a "fire amulet" whose specifics aren't revealed until you choose to take it.
Don't be too excited about the rewards. The potion is consumed instantly, giving you extra health for the game's already easy melee combat. Not worth it.
The lock pick allows Tak to skip a portion of the temple, bypassing the switch puzzle, bullet dodging, and fight with Tyro Kugon. It's a reasonable choice, albeit not if you're trying to see as much of the game as possible.
It gets some additional uses, though the rewards aren't that enticing. In one temple screen you can unlock a closet to receive some torches, two healing potions (making it better than the potion reward), and a scroll of destroy creatures, which automatically defeats every enemy on the board. Granted, by the time you reach the closet, you'll probably already have done that, but if not it's something. Potions you won't need, torches you'll already have plenty of, and a scroll you also won't need.
The other door is a cage full of snakes and a dead body. It's very much something that Tak shouldn't open, but he didn't win a lock pick in a game of Teknan just to not use it!
Opening the cage frees the snakes and allows Tak to reach the body and discover: it's a body. No reward at all. I get that not every lock holds any goodies for the player, but when there are so few uses for the item, it's kind of a bummer that the lock pick amounts to skipping the most interesting section of the temple and getting some extra health, which I guess you might lose to the snakes.
The fire amulet is the correct choice IMO. It offers immunity to fire attacks which Achar uses in both fights, granting Tak a bit of respite with a chance of the enemy doing nothing each round.
The Achar fight benefits are enough to make it the ideal choice, but if you're really clever, the fire amulet doubles as the key to the game's hidden fight.
The second time Tak catches up with Achar Tak can find his friend Zek in a pool of lava. I would assume he's dead from that, though the lack of written detail makes it hard to say if he's suspended by magic or dangling in a cage or something. Tak can stupidly open a door to the lava room which then floods the temple, and instantly kills him.
Unless of course he's wearing his fire amulet. If he's prepared, he can actually step inside the lava chamber to confirm his friend's death.
The lava flood is persistent, setting a flag that causes it to spill into other rooms as well, which makes it difficult to maneuver through as an object animates it between various solid and walkable terrain. Even with the ability to survive it, you're going to want to load your save just so it doesn't take a minute to cross a board.
If you're really committed though, you might realize that you can walk through the lava in the room as well, following it through tunnels that run across the other boards to get to places that as with the tree shadows, don't feel like a space you're really meant to reach. Follow the lava flow east and Tak will reach a secret lava monster boss, where the fire amulet grants immunity to its fire breath attack. Defeating them also launches Tak out of the temple, with a flag for defeating Achar not getting set suggesting yet another possible route to take through the game.
eJECTION really has grand plans for Fatal Quest if the flags are any insight.
Final Thoughts
I really liked this one a lot. I've always loved the world traveling aspect of RPGs, visiting new towns and landmarks, seeing what unique visions authors had for their worlds and how well they express that. They're usually accompanied by RPG engines that are more of a pain than anything these days. Savage Isle recently gave me what I wanted while ditching combat entirely, which wound up making it a new favorite of mine, getting lost in a strange world and learning about what it's like there. Fatal Quest has some similarities there, while managing to make combat an integral part of the experience without getting miserable.
The badlands of Fatal Quest aren't as interesting a world as Savage Isle which offers a rich history to the land, and plenty of NPCs to learn from, but it's still a curious place that I was left wanting to know more about. What I assumed was to be a no-man's land only livable to powerful magic users like Achar seems to be a nation like any other, and that makes what little story is there really interesting to me. Who does live here? What's life like under the rule of an emperor? Is your quest to find the Chrysium rock a noble one, or will its discovery lead to disaster? Questions are raised and with just a demo, they'll never get an answer. Had this demo been one I was able to play in the 90s, I'm certain I'd have been eagerly awaiting the finished release.
Especially thanks to its expertly crafted RPG engine. Nine fights in a playthrough that lasts less than an hour should be a slog of saving after each attack hits and each enemy misses, yet eJECTION kept it remarkably under control. The components interact with one another in a way that I can't just tell you how best to defeat the Tyro Kugon. My approach and yours may differ, and that's such a rarity when it comes to ZZT RPGs where the only decision tends to be how many limited magic spells should be cast. Instead, each attack has merit, valor provides a trade of survivability for damage output, and quick defense maneuvers keep you hoping until the last bullet comes down the health bar that you might somehow make it out of combat alive. The numbers here still aren't perfect, (I wish you got the swipe attack earlier,) but they really try to provide an impressive RPG engine that succeeds on more levels than successfully getting large numbers of objects communicating smoothly with one another. This engine could be extracted from this game, and dropped into any mid/late-90s throwback RPG game today with only minimal tweaking being needed. Very few of perhaps ZZT's most prolific kinds of engine can say that.
The initial playthrough wasn't as smooth as it could have been, and I do suspect that most players would end up making it harder on themselves than needed. The lack of explanation for how combat actual works does the game a huge disservice. I have a feeling this is a big part of why the game went forgotten. If you can't tell what the engine is doing right, and are used engines that get it wrong, Fatal Quest won't have much unique appeal. It becomes yet another ZZT RPG with a demo, big promises, and a lack of followup.
Fatal Quest is more than that. It's an RPG that figured it out, long before anyone else in ZZT really did. It has a lot of ambition with the various tools you can acquire and the way that changes your path through the game. Chapter two would have had a lot of of possible ways for the story to go. Even as just a part one though, eJECTION has plenty to entice players with, really delivering on the promises of a ZZT RPG, at least for the first act. While the game lacks any conclusion, what is here really instills a sense of wonder of what's to come. Unlike many other games in the genre that boast a lot of what's to come, Fatal Quest is already delivering even in part one, giving it a lot more credibility in terms of what the full game might have offered.
It's still all just hoping that it all works out. That the unused equipment, and bit of Chrysium rock wouldn't be forgotten and would have some impact later on, and of course the lack of any successor suggests that maybe eJECTION's plans were a bit much for what ZZT could be expected to do in the 90s. What we can see of Fatal Quest from just this one file is enough to easily compete and fare better than a number of other successful RPG worlds. It's a demo that truly succeeds at building hype, yet one more thing it does that so few could. It's an unlikely look at what the ZZT RPG could have been and for that, it should be celebrated.