<<

Design Decisions 4: The System

Welcome to the fourth entry in my Design Decisions series. This time we’re going to talk about Magic, and how I got to the magic system I am implementing in this game.

The Dark Unknown is a game of fairly high —it was a given that it would have magic. The rough shape of the magic system was one of the first things I got down when I start my planning and working on the design.

As the idea started out with a more direct tie to the Ultima series, the magic system took the Ultima style as a baseline assumption and found little ways, then larger ways to deviate from it. And, of course, it is not as though that “style” was consistent from game to game. Ultimas 1 and 2 had a small handful of spells that were bought and then used up when cast, and you could either be a wizard or a cleric. Ultima 3 had two sets of spells, ‘sorcery’ and ‘prayers’. Most classes got access to just one of those, though two classes could cast both (but only the weaker ones from each). You just know all the spells available to you (you did not need to learn them), but which ones you could cast was limited by your casting stat. Spells were grouped into lesser and greater magics. The game came with physical books for each magic type, and the one for sorcery spell, the Book of Amber , actually had a sticker seal that closed the section on the more advanced magic. Those who wished to cast from the forbidden section first had to cross the Great Stygian Abyss—the first appearance of that name in Ultima. In-game, however, there was no distinction, and if your INT was high enough you could just cast those advanced spells. Each category had 16 spells in it, selected as A through P.

From 4 on, the divide between ‘wizard’ and ‘cleric’ fell away, and all classes that had access to magic had the same spells available to them. In Ultima 4, we had one spell per letter (for example, “Awaken”, “Blink”, “Cure”, and a few stretches, like “Z-Down”). It also introduced the concept of using reagents (what D&D would call “material components”) to cast your spells. The spells were described in the Book of Ancient Wisdom that came in the box, but some were presented with unknown reagent requirements, which you then had to learn in-game.

It was Ultima 5 that made the last big change to the system- there were now 8 levels of spells (to go with the general motif of making 8 a recurring number), and you could not cast spells more advanced than your own level. It also introduced the concept of the Words of Power- 26 syllables starting with A- Z, whose meaning defined the spells. An Nox was Negate (Cure) Poison. In Vas Mani is Invoke/Create Greater Healing. And so forth. The words primarily have Latin roots. It was possible, in Ultima 5, to discover undocumented spells by putting together the right combination of reagents and words. After that, Ultima 6’s primary addition to the canon was that you did not always have access to all spells you were capable of casting, but rather had a spellbook and had to find or buy spells to add to your spellbook. I will stop there, for sanity’s sake- this is as far as I went in taking ideas for building The Dark Unknown’s system.

One idea I liked from the fluff around Ultima III was the “Stygian Abyss” that had to be crossed before you can master the more powerful spells. This allowed me to create a natural two (ish) act structure- you have to solve Act 1 with only the spells before the Abyss, and in Act 2 you gain the ability to cross it and have access to the full list of spells. How it is crossed changed a few times in development, but it is still a feature of the game. Spells would be purchased or found, and you would have a spellbook. This allowed me a second way to gate content- starting out, you need to do an early to obtain a spellbook. It, however, is weak- it can only support 1st and 2nd level spells. Later you acquire a full strength spellbook, but still can’t cast the really high level spells until you get through the Abyss. By this time, I knew that one of the goals of the game was going to be to acquire and cast a higher level spell, and this was now one of the goals of Act 2.

Spells you find will be in one of two forms. They might be on a scroll, in which case they could be read as a one-use casting of the spell that costs no mana. However, unlike what you might be used to from D&D, a spell can’t be learned off a scroll—they exist only for the using. The other form is in a special kind of book called an Audachta Nemesos. With an audachta, the spell can be added permanently to your spellbook, though doing so consumes the audachta. (More on the reason for that name in the Language of Magic section, below.)

The Spells

I started coming up with spells, and initially came up with 8 levels of spells (as I had already decided to stick with the 8 character levels), with 6 spells per level. I remember scratching them on a notepad while eating lunch back in 1999, even though I wound up putting it aside for years before I actively started working on the game. After some initial adjustment, we started here:

Level 1: Cure, Disarm Trap, Distract, Flame Blade, Light, Strike. Notably, no ranged attacks or heals yet, though we can cure poison. The Light spell starts in the spellbook.

Level 2: Illusion, Lesser Heal, Magic Bolt, Poison Blade, Protect, Unlock. Unlock is worth calling out because it’s a pain- having it means I have to work hard at designing towns and dungeons such that I don’t assume that I can force you to find a key before opening a door. The spell is difficult to find, however, so I’m willing to allow some sequence breaking with its use.

Level 3: Fire Armor, Fireball, Iceball, Poison Wind, Telekinesis, Wall of Flame. Telekinesis is a tried and true part of good puzzles. Fireball and Iceball being the same level turned out to be redundant, though.

Level 4: Blessing, Heal, Levitate, Life Drain, Smite, Transport. Levitate later became Water Walk when I realized I didn’t really want players thinking they could use it for anything else. Transport is a special one- this is another plot gate mechanism. Certain areas can only be reached through the Transport spell which can only be cast at special circles. Actually, both it and Water Walk are plot gatest—Water Walk is only known in some few places, and it opens up new regions of the map.

Level 5: Mirror Ward, Paralyze, Return, Shockwave, Summon Ally, Swordstrike. Mirror Ward is similar to UO’s Magic Reflection, except it randomly picks a nearby target. Obnoxious in part because so many things need to check and see if the target has the spell up. Return is similar to Ultima VI’s Help spell- takes you back to the main castle, or to the entrance of a dungeon if you’re in one. It doesn’t work everywhere, though.

Level 6: Empower, Explosion, Jinx, Mass Curse, Lightning Storm, Negate Magic. This is the first level that requires crossing the Abyss. Empower is needed in Act 2, and one of the main of Act 1 is finding a way to get access to Negate Magic without dealing with the Abyss. Level 7: Charm, Fear, Fire and Ice, Meteor Swarm, Permanence, Summon Daemon. Nothing from this level or higher is required to finish the game, so we begin to get extremely flashy and powerful. Permanence can be used to make some of the low-level buff spells permanent.

Level 8: Arrow of Glass, Conflagration, Quickness, Reincarnate, Time Stop, ?????. Arrow of Glass is a callback to Ultima’s glass swords- a one-shot kill to most enemies. I leave one spell out to preserve the spoiler. Reincarnate is one of several spells that you can only cast in certain places, but once cast the next time you die you’ll pop right back up. After that you’ll need to return to a safe place where you can cast it again. Honestly, if you have 8th level spells your odds of dying are probably pretty low, though!

Unfortunately, one day I thought of a spell I really wanted to add (I wish I remembered which one it was!), and I thought, you know, if you’re going to go with 8 as a recurring number, just go all-in. So, I sat down and came up with 2 more spells per level, bringing me to a nice 8x8 square. But for some of the levels there wasn’t a lot of design space left that I was interested in tapping—for first level, there’s only so much I want you to be able to do. At that point I had the idea of adding some spells that would be in the world, but weren’t useful on your quest. I mean, isn’t it kind of silly that every spell known to wizards would have a direct application? This, of course, led to the obvious bit of feature creep- I thought of uses for all of them. The Mend spell, for instance, was basically D&D’s Mend—fix a ripped garment or a broken pot. But then I figured, if I was going to have mirrors I should let you break them, and if you break a mirror… shouldn’t Mend be able to fix it?

Even aside from expanding each level, a number of additions and changes were made—most notably, I realized the Return spell should be significantly lower level, since for it, it’s not about the power level but rather the convenience. At this point (and hopefully there will be no more changes), this is how a full spellbook will look:

Level 1: Audachta Scribe, Cure, Disarm Trap, Distract, Flame Blade, Light, Mend, Vulnerability. The other first level spell I decided to add was Audachta Scribe—rather than just (U)sing an audachta to add its spell to your spellbook, you instead have to cast Audachta Scribe on it. I got the idea from the GNUSTO spell in Infocom’s Enchanter, hardly the only idea I shamelessly took from that or the Zork series. That nicely filled out the weakest spell level. If I had cantrips, that would probably just be one, but I don’t, so it isn’t. That’s logic.

Level 2: Illusion, Iron Flesh, Lesser Heal, Magic Bolt, Poison Cloud, Protection, Unlock, Wind Change. At this level, Iron flesh and Protection seem perhaps redundant, but one makes you harder to hit while the other absorbs damage. It’s hard to avoid some redundancy when scrambling to fill a spell list, anyway. The other strange thing here is Wind Change. In a game with no boats or balloons, this was another fluff spell… at least, until I decided there would be a use for it on the Plane of Air.

Level 3: Dispel, Disrupt Undead, Fire Armor, Fireball, Open Gate, Return, Telekinesis, Wall of Flame. Open Gate is a renamed Transport spell, brought down a level. And as noted above, Return was brought down to this level as well. In exchange I buffed Iceball and moved it up.

Level 4: Blessing, Blink, Heal, Iceball, Life Drain, Smite, Telepathy, Water Walk. Blink was possibly a mistake, but I’m being stubborn. Unlike its Ultima IV counterpart, it is random—it sends you to a random space nearby that it is possible for you to reach naturally. Thus, it can’t send you over mountains or behind locked doors, limiting the possibility of sequence breaking—I didn’t want best play to be sit there and keep re-casting it until it sent you where you wanted to skip to. That said, there are one or two locations it allows you to skip into, but I leave those as an exercise for the completionist.

Level 5: Crystal Trap, Ethereal Vision, Mirror Ward, Paralyze, Peer, Shockwave, Summon Ally, Swordstrike. Ah, Crystal Trap. Originally introduced as Crystal Barrier, it seemed like a fun idea—a small wall of crystal pops up that has some number of hit points, and can be broken by damage. But then I started trying to code the AI. If it was a feature that you can’t get through without breaking it, the pathfinding would just not find paths. I could make it a feature that didn’t show as blocking movement to the pathfinder only, but at this point I didn’t have the ability to make weighted paths, so that had its own problems. And then the needed a whole separate “is there a crystal barrier here, ok attack it” subroutine. Alternately I could make it a creature… but then monsters might deliberately walk over to it to attack it even if it wasn’t in the way. And so on… so I rewrote the spell. Now it creates an invisible trap on the ground, and if a walks over it, they are trapped in crystal for a time. Very strong monsters might break free sooner. This was way easier, and I do need to trim back where I can.

Level 6: Empower, Explosion, Jinx, Mass Curse, Negate Magic, Storm, Tremor, ????. One more that I’m hiding for spoiler reasons. Ironically, the least useful spell on this entire list. There are plot reasons.

Level 7: Charm, Ethereal Travel, Fear, Fire and Ice, Invulnerability, Meteor Swarm, Mind Blast, Permanence. Ethereal Travel allows the player to visit the elemental and ethereal planes. This is not necessary to finish the game. Did I hear someone say, “feature creep”?

Level 8: Arrow of Glass, Build Gate, Conflagration, Conjure Daemon, Quickness, Reincarnate, Time Stop, ???. Still has the mystery spell from the initial list; the newcomer is Build Gate, which will allow you to add to the game’s small portal network.

I am very much hoping that this is the final spell list—I would like to be able to print the Almanac soon, and I would prefer its section on magic not be inaccurate.

Infusion

One unique thing in this magic system is Infusion. I don’t remember when I came up with the idea—it’s been a part of the system since very early on. Infusion allows you to cast a spell you know in a more powerful way in exchange for it costing more mana. Where there are numbers (damage and healing), the spell when infused will usually deal 1.5x the damage/healing, while costing 2x the mana. Here you can always just cast the spell twice if you want 2x the damage, but if you want additional damage but also not to have your next action taken up with a second casting, you can Infuse it.

I think the original reason for this system was the spell that is now Open Gate. In Ellusus there are a few Gates that lead to another continent, but there is one other gate which is broken. Casting Open Gate will let you use the normal ones, but to use the broken one you need to Infuse the Open Gate spell.

The downside to Infusion was I had to come up with what infusion meant for spells that aren’t damage or healing. For some it merely extends their duration. It was for a while a point of pride that every spell got some benefit from Infusion, until I expanded the spells lists—now, alas, there are one or two that gain nothing from Infusion. For example, Audachta Scribe. Even Mend gets a benefit… though one that is not likely to come up for most players.

Learning Infusion is not automatic—the player will need to find someone who knows the lost art. Reagents

Starting in Ultima IV and running through most of the rest of the series, spells cost you reagents to cast. There were usually 8 reagents, each of which had different properties- black pearl was used in any spell that acted at a distance. Sulfurous ash was in fire and light spells. One of the tricks was to find where you could buy or find each reagent, and where it was cheapest (in Ultima IV, black pearl was usually fairly expensive, except at one seaside town where it was super cheap). It was something to spend gold on, and something you had to properly prepare—it was a problem if you ran out of a critical reagent while deep in a dungeon.

So, was I going to require reagents? This was another of the earliest decisions I had to make, and I wound up coming down on the side of no. Running out of reagents and needing to abandon a dungeon close to the end is annoying, but also rare. If it’s rare, then you’re usually able to keep yourself stocked up. In which case, much like food, it is simply a gold sink. That was my reasoning at the time. There’s definitely good reasons to include reagents—just because it is rarely something a player runs out of doesn’t mean (a) there aren’t good stories to be made from the times one does, and (b) that it isn’t something the player can feel satisfaction for mastering the art of making sure they don’t run out. But, for simplicity, I decided not to include it. This also had the advantage of maintaining closer consistency to Ultima I’s magic.

But, as you might have come to expect, I didn’t stick to this decision completely. There is one spell, Empower, that creates a certain plot item. I decided that Empower does require reagents, and in fact one of the challenges in making what you need is figuring out which reagents are required for the effects you need. Then I additionally decided certain powerful spells that are not something you will cast often (Permanence, for instance) will require mandrake root to power them.

I had to then decide what reagents I would have, and what they would be used for. I took some that are in Ultima, and made up some others. A few had no in-game purpose… at least, when I made them. By this point I’ve come up with (though not yet coded) enough optional content that there’s at least one use for each kind of reagent. But since you don’t need them often, you hunt them as part of the quest to accomplish a goal and then you’re done, rather than needing to constantly throw money at keeping them topped off.

The Language of Magic

The Dark Unknown does not use Words of Power the way Ultima did, but I am slowly putting together a language of magic anyway. In order to differentiate from Ultima, and also from Harry Potter and half of the rest of fantasy, I do not intend to use Latin as a basis. Rather, I have been drawing from Old Irish. I kind of make things up out of modern Irish and then bring them to a linguist friend who knows some Old Irish, we do some research, and make more stuff up. This is where “Audachta Nemesos” comes from- literally it means something like “bequeathal from heaven”, which I have gently massaged into “words/teachings from the ether.” Thus, a source of spells. I hope to use the words more in future games, but here I don’t really have the time to codify them—that just shouldn’t be a priority right now. But it’ll be worked on in the background.

So that’s that—a more informal than some of my previous essays look at the thoughts that went into the design of the magic system. Hope you enjoyed it!