Closer Look: Dark Soul

Prepare to die! From illegal genetic experiments created in Twilight City.

Authored By: Dr. Dos
Published: Apr 12, 2023

Page #1/2
1 2 >

Listen, I've been putting this one off for years. I played like ten minutes of Dark Souls 3 when my former roommate bought it, and I get why folks enjoy the series, but I don't have the patience to actually master a video game these days. No Demon Souls, no Bloodborne, not even an Elden Ring. I've always been content to just play Tiny Toon Adventures: Buster Busts Loose! for the Super Nintendo if I wanted a challenging game. (Have you seen the jumps in the train stage??)

But part of this whole "Worlds of ZZT" thing means playing games that I might not personally be interested in that have left an impact on video games as a medium. It's good for me to have experience in a variety of games. So that's why I'm finally taking the plunge and preparing to die. It's time to take a crack at Fishfood's Dark Soul, the game that introduced the concept of "Dark Soul difficult" to the wider world.

I really don't know much about the series, so apologies if I can't figure out the intricate lore or if my build isn't particularly strong. This is the raw experience. This is Dark Soul.


Twilight City - The Universe That Wasn't

Dark Soul sets itself in a futuristic city called Twilight City. Its author, Fishfood, has far bigger plans for the setting that just for use in Dark Soul, with an object on the game's main menu providing information on what to expect of the city. Fishfood specifically uses the term "gaming universe", a concept popular around this time of having most, if not all, of one's ZZT games take place in the same world.

There was some logic to the idea. It allowed authors to share characters between games, allowing those who were already familiar with them to jump past the introductions and immediately know who they were dealing with. It gave the games a sense of cohesiveness, allowing locations to be repeated rather than reinvented for each game.

Unlike console gaming, where a previous entry in a series might no longer be easy to find, there were no obstacles to playing the entirety of an author's works to get the full context. ZZT games have the luxury of being freely available and having system requirements that are essentially unchanged from world to world allowing anybody to start from the beginning of a series regardless of when they discovered ZZT. Starting in the middle of the series was a deliberate choice rather than one forced on players with limited funds and/or an inability to acquire older titles. Being able to have faith that your players know the characters and locations being used already could expedite development, letting authors focus on telling the new story without having to onboard newcomers and get them up to speed.

By far the biggest proponent of the gaming universe style was Tseng. Virtually all of his works well a part of the "Da Hood" universe, using an ever growing cast of characters that could appear at any moment when their archetype would come in handy. Most notably in November Eve, a surprisingly faithful ZZT adaption of Square's Parasite Eve that takes his familiar characters and assigns them the most appropriate roles.

Tseng's success with the idea made him the poster boy for it. That success came from a few things Tseng did that made the idea more suitable for his games than most others who tried. Most importantly, he actually did release numerous games within the shared universe, truly embracing the concept in a way few did, but there were other factors at play as well. For one thing, his universe was indeed a universe. The games take place in a setting where space travel was commonplace. This made it easy to create a new environment that would cater specifically to the game he wanted to make, and simply place in whichever characters were needed. Any dramatic changes in setting were merely new planets. Justification for a rotating cast of villains and anti-heroes being in the right place at the right time could be as simple as being on an assignment, or as silly as "booked a vacation but accidentally booked it on an inhospitable planet". In addition, Tseng's characters were also very brash and not particularly serious, making them more like professional wrestling characters[1] here to quickly move from storytelling to constant brawling. They were always the stars more than the places they visited, which could serve more as backdrops for the prelude before the inevitable fight broke out.

Tseng and others with gaming universes (such as Knightt and his myriad of Stupid RPG entries) also had the luxury of ZZT games frequently getting meta, with characters arguing with the author or simply commenting on the absurdities of their situations. Even if a character was out of place, they'd be able to draw attention to their unexpected presence and turn it into a joke. Combined with ZZTers' love of comedy and it was easy to get players to accept any familiar face the moment they show up, cheering or cursing their presence as the author dictates.


Fishfood, it appears, wanted in on it. Alas, this appears to be the only such game that uses Twilight City, making the universe quite small and not shared at all. He differs from Tseng and Knightt in that the aspect of the game intended to be shared with other games is the setting rather than the characters. This raises the question of what is Twilight City, and what would have made it suitable for use in game after game?

Twilight City is a city of the future that doesn't go too wild with its predictions for what the future might bring. I mean it does actually, quite a bit, but Fish says it won't have "hover cars" and "phasers", which is true at least. The vibe is more gritty future than anything leaning on tech that sounded impossible in the real world circa 2000.


Rather than predict technological advances, Fishfood cooks up some international politics instead. The city was built on top of New York City, which was of course destroyed in World War Three. The phrasing mentions the year 2004, though it's unclear if this is the year NYC was destroyed or when Twilight City was constructed. Perhaps both. I hope that wasn't a nuclear war.

Ever optimistic about people's ability to bounce and rebuild in record time, the city was constructed to deal with the ever increasing global population which recently broke eight billion. The new city is still massive, more than twice the size of the city it replaced, though significantly more dense than old New York. It is structured into rings with the center being referred to as "the Hub" and the outermost being "the Outskirts". As is often the case with ZZT game lore, the vast majority of this information doesn't matter at all, and the aspects that do matter, don't really get brought up in detail.

Twilight City was known for its crime problem, a problem which Fishfood says was "redesigned" for the twenty first century. Luckily, in the year 2006 when the game (probably) takes place, crime has become much more controllable. This looks to be because of an excessive police state that has no issue with killing anybody that causes any trouble, but this is one of those aspects of the game that never gets explored in detail. Things like government, law enforcement, and corporate power, which should all be important to know about in order to know the full scale of danger players will find themselves in are passed by entirely. Instead, players have to be content knowing that recently Russian spies have been committing acts of sabotage and that there's a real fear that World War 4 will be breaking out soon enough.

In gameplay, very little of what Fishfood tells players is shown, making most of Twilight City feel no different than any other generic city that's both grimy and crime-y across countless other pieces of media. Little of the city is actually seen, just a few office interiors, the protagonist's apartment, a subway station, and some slums. Nothing that makes the size and density felt.

Given the slew of ZZT games meant to take place in then present-day that represent cities as dangerous lawless hell-holes, Twilight City really doesn't offer much that's new. With so little of background information coming up even in passing, all this setup seems better suited for future titles meant to recycle the setting.

Enter Brett Riley

Not to say that there isn't a story being told here. Fishfood has a story to tell that takes place within Twilight City and suggests consequences that will have a huge impact on the world to be explored in other games. In fact, the game's text file describes it as a interactive cinema. (With emphasis on interactive). The story is what's here above all else, with very little for players to interact with. Much of the game consists of reading text and watching smiley faces move around. Dark Soul sets itself apart from the other grimy city games linked earlier by having its words speak louder than action.

Part of the reason for this stems from Fishfood's mission statement on the menu, that he'd rather release a series of short games that tell a single story than release the entire thing as a giant world and have people get bored halfway through. That might not sound like a vote of confidence in Dark Soul if its author is already worried players will get bored, but I think he's on to something here. Time and time again ZZT games have gone on far longer than they've remained interesting. Knowing when to quit is a valuable skill, as is knowing when to simply take a break. Players of Dark Soul should ideally be left satisfied and waiting for the next chapter, having time to relax before the series continues.

Besides, you don't need action to make a good ZZT game, and as many games full of shooting have shown, there's plenty of trouble to deal with when making a game reliant on it. Writing has always been the least compromised component of creating a game with ZZT versus pretty much any alternative. Text works. Fish believes he knows how to use it. Whether or not players today will want to sit and listen to Fishfood's tales is a bit tougher to determine. This is a case of a teenaged author trying to create a suspenseful and dramatic narrative, the sort of thing that gets harder to find appealing with each passing year. For a community filled with fellow teens twenty-plus years ago, Fish's attempts are good enough. The story told has its share of mysteries that won't be unraveled, and some comically unbelievable moments that audiences looking for entertainment first can gloss over easily enough. For folks reading an article about a game more than twenty years old, you can certainly give him an A for effort and find some bits and pieces where the storytelling does surpass the low expectations.

Timing the screenshots for these labels is a nightmare.

In fact, Dark Soul starts off with its best foot forward, beginning with a scene of a knock on the door to the research labs located on the 17th floor of Gene Inc. Fish uses a cute text animation to expand out the setting, and current time, giving the game a touch of X-Files (cited as one of the game's influences on the main menu) flair. This is done consistency throughout the game, making the jumps to various locations easy to follow, along with making the passage of time a relevant component of the game.

A guard opens up the door only to discover a bloodied researcher on the verge of death stumbling his way into the lab's main lobby.


Attempting to help the injured person, recognized as "Staton" doesn't go well, as Staton is quickly killed by a blast to the back from a white light of unknown origin and coming from an unknown assailant. Moments later the guard shares Staton's fate. This short sequence actually happens before main menu (and yes, the game's many cut-scenes are all skippable) and serve as a great attempt to quickly get players invested in the story of Dark Soul.


Jump to the next morning, on a different floor of Gene Inc. where employees Flint and Riley have a discussion about the events of the previous night. Flint says the rumor is that something happened and Staton and a guard were killed. Riley, the player controlled protagonist doesn't buy it. The only "proof" is that Staton didn't show up to work which hardly means anything.

Before the conversation to get too heated, Riley is paged to the boss's office. (Hey, that rhymes!) Neither Riley nor Flint think the meeting is going to be good news, and with players still so new to the world, it's easy to suspect that the boss somehow knows what was being discussed and does not like it.


The anxiousness is unfounded though. Mr. Hughes has selected Riley to be promoted to the research labs upstairs due to a sudden opening. An opening that is certainly unrelated to Staton. Riley is reluctant to accept, perhaps out of modesty or perhaps because the rumor don't seem so far-fetched now. He tries to not get involved, but when Mr. Hughes points out that the new responsibilities will come with a significant pay increase and a free car as a bonus, Riley gives in, and accepts his new position.


A cute elevator sequence follows as Riley rides his way up to the 17th floor of the building, the entryway to the classified research labs. There's no animation to convey a sense of movement which makes it unclear that you're even on an elevator until floors start being announced. The other riders on the elevator get off at various floors ultimately leaving Riley all alone as he reaches reach the top level, a floor higher up than even Mr. Hughes's office.


The build up to reaching the labs is nice. A slow elevator ride followed by a fancy bio-scan, security check, and decontamination process before being permitted to the labs. While I'm not usually a fan of boards like these with no background whatsoever, the emptiness of scene works nicely to give players a sense that Riley is stepping into a great unknown here.


Once inside, Riley gets to meet the team. Clair Weston, the head supervisor has gathered the new recruits to the research division for a little introduction. Riley says his hellos to Jon Owens, a new hire poached from a rival company, and Neil Mohr, who like Riley was promoted from within ...from the security division of all things.

While Mohr and Owens are quickly sent to their new offices, Clair asks Riley to get some paperwork from the guard in the lobby that leads to the actual labs and bring it back to her.


Mundane busywork may be fitting for an office environment, but Fishfood has a reason to include the request. That lobby is none other than where the opening cutscene took place, making it explicit to players that they are actually in danger here.

This board is also the first in which players actually get a real chance to explore. Previous scenes like the elevator ride and security checkpoint do have the player move about, but the former pins them in a corner of the elevator until their floor, and the latter has nothing to interact with beyond the door. This is Fish's first opportunity to create an environment players can investigate.


It's nothing too exciting. Three offices with computers, windows, and trash bins. A row of security monitors in the big room with the table that let players spy on bored guards and look at static. Plants offer no description when touched. The most interesting thing about the board is that Riley can talk to his new coworkers about a variety of topics.


The conversation topics are the same between both Mohr and Owens. Their answers provide a little bit of insight as to who they are, and how excited (or not) they are to be working on Floor 17. Owens will reveal that he was in the equivalent to Floor 17 at his old job, and left when he learned that they were experimenting with "biological machines".

Mohr is more of a wife guy, excited for what the raise will mean for his partner, and how great a new car will be. As a former head of security, when Riley brings up the incident from the other night Mohr does offer some cryptic information.


It's a bit strange to see Riley quizzing people he's just met about this, a subject that should definitely be taboo given the power the company wields. While Staton's death isn't confirmed, Mohr's response does at least prove that something really did happen.


After delivering the paperwork, the player is taken to a new board depicting Riley's home in the early hours of the morning: 3:45 AM on the dot.


Something is off. Riley finds himself strangely compelled to return to the building at this ungodly hour.

It's also 1998 suddenly? I wonder how long Fishfood was sitting on this game, or how much the timeline got shuffled around, as the menu mentions Twilight City's issues in 2006. I thought maybe this was intended to be a "prequel" to other games set in Twilight City, but that can't be the case as the city itself was built over New York City after World War 3. There's also the possibility that this wasn't meant to take place in the future originally, and "Twilight City" got applied to what would otherwise be just yet another ZZT city, and the date never got updated to match the lore.


That doesn't matter! What does is that Riley is awakened by a sudden flash of white light that covers the board, followed by some loud banging noises on his door.


What impressed me the most about Dark Soul was how sensible Riley was in this moment.


Now behind two locked doors, Riley can hopefully rest safely. Or, the door can be bashed in and the person responsible could begin to break down the bedroom door as well. Ah well.

For the first time players find Riley in actual danger, having to find a way to defend him before the door breaks in and something weird happens.


The cause of death is unclear, as is who or what did it.


Protecting yourself is easy enough when there are only two objects to interact with in the bedroom. One cool fiber optic lamp, and one "bed desk thing" with a gun inside. Once the creature has broken down the first door, an option to get the gun ready becomes available, and is required in order to not be killed instantly when the second door falls...

F I S H  R P G

A ZZT game that doesn't include at least one RPG battle in this era can hardly be called a ZZT game at all. Fish follows the trend that by this point had been going on for years where RPG engines were the sort of de-facto mark of a capable programmer. The glut of ZZT games that shoehorn these engines in make it so that I now shudder every time I see one. There are a seemingly infinite ways to screw these up, and even those that are well put together struggle immensely to be compelling today.

It's not that ZZT is incapable of a good RPG. As usual, Commodore's Psychic Solar War Adventure is my go to for what's possible with these sort of engines. Although Commodore had the luxury of a solid decade of ZZT RPGs to study from, identifying the pitfalls, and coming up with ways to avoid them. Modern ZZT worlds have moved on from these engines, and while I'd love to see what Weave or other enhanced ZZT worlds might be capable of, the style of combat they offer is hardly the novelty it once was.

By the turn of the century, plenty of ZZT RPGs had found success, and numerous engines still wowed audiences by cranking up the number of characters, emphasizing the art, catering to unique animations, or just trying to hook players with a compelling story. Though these engines rarely hold up today, it's easy to understand why they were so impressive when they were new. Nowadays it's still easy appreciate the effort put into them even if they so frequently drag on or require too many good dice rolls. They're an iconic aspect of ZZT worlds that quickly make it clear to new players that ZZT can do far more than what they may have seen in Town or the other official worlds.

Fish's Dark Soul is no exception to the RPG battle's importance apparent, with the game's lone RPG battle still going so far as to have dedicated branding placed on it.


Why, this is "F I S H  R P G".

Let's get the bad news out of the way first with this one. At this point in the game, players haven't really done anything beyond watching cut-scenes and read text. Again, the game is marked as being a "cinema", so the lack of more traditional gameplay should neither be a surprise nor a source of criticism. This engine marks the player's first time really getting to have an impact on the events of the game.

What immediately stood out to me was the health disparity. Riley's opponent, a crazed, and perhaps no longer human Mohr, has double the starting health. Without even seeing damage numbers, I knew this was going to be a long fight at best, and a borderline impossible one at worst.


The combat is turn based, revolving around the often-imitated Active Time Battle system seen in Squaresoft's RPGs in the 90s that ZZTer and MZXer alike considered the pinnacle of gaming. Players have to wait for an invisible timer to expire before they can choose an action. Mohr has his own timer as well. This is standard stuff for ZZT, barring the timer being handled entirely by idles in code rather than a visible meter that fills on screen.

The timer is pretty zippy, which is always a good sign, as perhaps the greatest sin these engines frequently commit is making players wait ages with nothing happening. While this is beneficial in keeping the fight moving at a steady pace, the barrage of not one, but two pop-ups to announce it's your turn and then present your actions means constantly having the screen obstructed.

I don't want to look at scroll windows. I want to look at the action, and this engine is constantly covering it up. Not that there's a whole lot of action to see. The player's attacks are represented by just moving Riley towards Mohr, or firing a bullet. Mohr's attacks are a little better, using boulders to produce a line of green slime in front of him with each attack. This is the only animation to be found, meaning players will see all there is to see within seconds of starting the fight.

The popups also obscure every characters' health bars as well, which might be frustrating when deciding what to do on each turn, though Fish has an answer for this: making those choices insignificant.


The only actions are to either shoot or to fight directly. Obviously going for a more sci-fi setting, magic spells and healing potions are nowhere to be found. Replacing them with nothing at all makes for repetitive combat. It would be one thing if this was merely the first of many battles with Riley obtaining more tools to use in combat as the game progresses. A nice thought, perhaps, but the reality is that the fight against Mohr is the game's sole use of the engine[2].

A common trend of ZZT RPGs is to split offensive abilities into "high accuracy low damage" and "low accuracy high damage" options. Fighting and shooting here are a natural fit for the pattern. Other games will use the player's ammo for attacks with guaranteed hits or extra damage at the cost of it being a limited resource. The balance and simplicity of most ZZT randomness rarely makes these options something to ponder rather than something to heavily rely on or ignore entirely (or just endlessly save scum).

Fishfood goes for the awkward combination of having fight be an always hitting move that inflicts a single point of damage and the gun consuming ammo (eleven of which was quietly given to the player at the start of the fight), while only having a 50% hit rate. A successful hit from the gun deals a whopping two damage. With this board being the first instance of combat, it's unclear if that same ammo pool is going to be used in more traditional action boards, if a better gun will become available that shares the same ammo, or if perhaps the game will hand out so much ammo that the limited resource angle won't matter.

With hindsight, the correct option is to simply fight every time, not out of a need to preserve ammunition or some quirk that makes the odds of doing damage worse than intended, but because this engine is bugged. To inflict two points of damage after a successful shot, the object that handles the gun attack tells the enemy health object to jump to a label where it shoots at the health bar, and then does so a second time. However, due to a lack of an idle to end the cycle manually, what actually happens is that the object tells the health object to jump to the damage label, and then immediately tells it to jump to that same label again before the health object gets a chance to act.

So in reality, your two options are to fight for one damage with a 100% hit rate, or to shoot for one damage with a 50% hit rate. Ouch. On the bright side, a second bug with the object means that players that don't have any ammo left can still shoot the gun. In another world, perhaps the gun could've been overpowered instead.

Despite the many issues here, Fish does have a trick of his own that makes the fight offer up something that most such engines don't. Once I realized that Riley and Mohr were dealing similar damage to each other, I began to assume that this was one of those fights players were intended to lose. My suspicion was slightly off. The fight ends when half of Mohr's life has been depleted. Mohr attacks more slowly so the actually identical health values skew in the player's favor after all.


The trick is that once Riley's health meter is half-empty, another co-worker joins the battle on your side. Owens shows up, which for storyline purposes is the most hilarious moment in a game that isn't meant to be funny. Just here to drop off some paper at 3:45 in the morning as one does!

Owens can only fight, but that's enough to ensure victory. Mohr's attack changes at this point to damage both players at once, though the engine doesn't consider the fight lost unless both characters are out of health, so even if Riley were to be killed, they'd be fine afterwards.

While this doesn't improve the combat at all, it is a pleasant surprise. I don't believe I've ever seen a character suddenly insert themselves into a ZZT RPG engine mid-fight like this. It's definitely the most impressive moment of the scene, one Fish should be praised for, setting the expectation that the game's fights can change at any moment. There's real potential here. I found myself being won back over, naively assuming there was more complexity to be found later.


The only other aspect of this board that I found myself happy to see was the scenery patterned after Riley's apartment, giant fiber-optic lamp and all. These kind of engines frequently take place against blank backgrounds, or use generic abstract battlefield backgrounds seen in Final Fantasy titles. This at least has the fight occur exactly where it should be happening. It also provides some justification for the lack of visual effects as tiles used for the main graphics may be unintentionally caught by a #CHANGE command meant for special effects. This is something I recently saw in the original release of Jami's Undercity where Jami's hair would lose its background color mid-battle.

As with most ZZT RPGs, the fight drags on with nothing to hold players' interest for very long. As the only such fight in the released game, it's honestly not as bad as it could be. Fishfood is trying to let players participate in the story rather than just being told what happens. Cut the health bars in half again and this would be a minor speedbump for the rest of the game. It's also not difficult to be generous about what's shown here and hold out hope that this was meant to be a live-tutorial to introduce players to the kind of fights to expect throughout Dark Soul as a series. There's room for the engine to be developed further, and while I don't think Fish was going to redesign the engine to not have constant popups, I can totally see more attacks, more characters, and more variety being easy enough to implement for later uses of the engine.

Page #1/2
1 2 >

Top of Page
Article directory
Main page