Showing posts with label CRPGs. Show all posts
Showing posts with label CRPGs. Show all posts

Tuesday, April 1, 2014

Adding Mooks To Gold Box Games

I'm a strong believer in the thematic usefulness of an unbalanced adventuring party in RPGs. That is, I think every party should have both junior members (Merry and Pippin) and senior members (Aragorn and Gandalf) with substantial power differentials. This is contrary to the design of most modern games (tabletop or computer), but it solves a range of design problems:
  • It provides some weaker characters who need to be protected by the stronger ones, which feels heroic (or if that's not your style, a group of hapless meatshields you can sacrifice to escape, which feels ruthless!)
  • It helps to differentiate characters from one another by seniority, to give them more personality
  • It contributes to verisimilitude in the sense that it's how any real-world teams would work, with weaker and stronger contributors
  • Most importantly, it provides weaker characters who can be injured or die to create a sense of genuine peril and malice, but without risking a total party kill situation
The old Gold Box game Pool of Radiance was unique in allowing you to add low level generic henchman to your party who would actually fight for you (unlike the ones in the Might and Magic series). But later games in the series removed this option. I'm convinced that it's still there hiding somewhere in the code, though. Let's try to use a hex editor to find it! Then we can create custom mooks for the other Gold Box games. This is a critical element of my new project to create a hybrid tabletop/electronic RPG option to allow solo play in my own campaign, so that characters can be moved back and forth into CRPG modules to have their adventures.

I'm using the Gold Box Companion, a nice freeware hex editor by Jhirvonen. It's pretty experimental in that no one really knows much about the internal memory allocation structure of these old games, but with a little experimentation it's usually possible to spot some effects. The GBC has already located (and provided a nice front-end interface for) the bytes that control things like stats, levels, spells, and saving throws. I think I can use this interface to totally overwrite the usual classes and define my own class advancement tables for experience, levels, spell slot availability, thief skills, and throws, so I can implement some custom classes that will be leveled "by hand". (Alas, the spells themselves are hardcoded.)

But we need to find something totally unknown-- the location of the bytes that define hired henchmen, and distinguish them from player characters. The only one actually labeled in the interface is the AI switch, which is near the end of the memory block and controls whether a character is under human control or uses "quickfight" instead.

Let's open a saved game and inspect the characters. First, use the checkboxes in the lower left to screen out all known bytes of data, and also anything boring set to "00". Here's the the array of bytes:

After comparing the memory dump of some PCs and NPCs, there are three sequences that stand out:

The two sequences in red and the third one in blue are always present for every hireling, but never present for any player character. One of them must be it!

The block in blue is clearly controlling the treasure shares claimed by the NPCs after combat ("Warrior takes and hides his shares"). In this example, we can see that the code "5A" tells us that the character will claim a choice of magical items (greedy!) and also a full 5 shares of treasure! If we wanted to make him less greedy, we could change the 5A to a 23 (no magical items claimed), and reduce the shares to 01.

The block in red starts with a "04", which is actually present for player characters as well. It's always equal to the level of the character (the highest level, for multiclass characters). The "FF" bytes don't seem to do anything but might be special flags for some game events, perhaps telling when characters will be removed from the party by certain plot twists.

The most important place to look is that "A5" in the lower line. It determines what type of hireling or NPC you have in your party. In this case, it's identifying this as a "curate" NPC, a fourth-level priest. It seems to be shared by all NPCs that behave the same way, so I think it's specific to an AI behavior pattern or scripting response. Whatever it is, setting it to anything but "00" will tell your computer this character is a mook.

To test this, take one of your regular characters (where this block is "00") and change it to "A5" or anything else. Now you don't have a party of 5 PCs, but a party of 4 PCs and a mook! So you can add another PC to your party! This effectively allows your party to break the six character cap on PCs. You can even change the flag back to "00" when you're done adding more PCs, and run with an oversized group of eight player characters instead. Or you can demote this character permanently to an NPC by setting all the other flags (the "FF" and treasure ones) and turning on the AI switch. Your choice.

Does this code still exist in other Gold Box series games? I haven't found it in all of them yet, but here's where you can find it in the sequel, Curse of the Azure Bonds. Below I'm zooming the new location in the (slightly larger) Azure Bonds memory block:

You can see that the "max-level indicator" of "06" in the top line has been shifted over by one column to make room for something new, but the bottom row is still the same format and now has a "B2" in it. This is the code for the two plot NPCs, Alias and Dragonbait. But I think you could easily change it to anything else, if you wanted to avoid having your hirelings removed from the party by plot events. (Or maybe the "4D" is controlling that, I'm not sure.) The important thing is that it be non-zero, I think, so the game knows this is not a player character. Unfortunately, I have no idea if the "treasure shares" code is still present, or where its storage bytes are located. But maybe by this level, surviving henchmen have become more loyal!

I haven't checked this to see if this ad hoc editing causes any additional weirdness during play; if it does, I'll update the post. For now, it looks like I can continue using henchmen in Azure Bonds, and maybe other sequels as well.

Friday, March 28, 2014

Video/Tabletop Hybrids: A Historical Perspective



Before explaining my latest grand idea, a little history. The first video game console system, the Magnavox Odyssey, was released in 1972. This was the "pre-Pong" era, characterized by games that were basically a single dot bouncing back and forth across a screen with players using paddles to direct its motion. Before Pong, there were no capabilities for games to track a score, and there were certainly no graphics beyond single large dots! The entire game had to be created around a single mechanic, and customized through non-electronic add-ons -- and the Odyssey had a lot of add-ons. Transparent overlay screens were laid on top of the screen to allow the moving dot to illuminate different parts of the image, creating the illusion of motion. Objective cards defined the operations that players were supposed to perform with their moving dots. Scorekeeping poker chips allowed for players to keep track of who was winning, an operation well beyond the capabilities of the console itself. A primitive light-gun could be used to shoot at the dot in various hunting games. The point is that early video games were necessarily a hybrid of physical and electronic components.


Magnavox maintained this philosophy with its later-generation consoles, culminating with the Odyssey2 in 1978. This was a true programmable console with the capability for swapping different cartridge games, rather than just playing the same "game" (some form of Pong) with varying overlays and control schemes. By the time this system was released, it was already being eclipsed by arcades and the Atari 2600, systems with much better graphics, fluid controls, and faster action. But the strategy it used to compete was by going high-brow and trying to boost the physical inserts provided along with the cartridge. This approach culminated in 1981 with the release of Quest for the Rings, the first video game I ever attempted to play.
QftR, in all its glory.
This is seriously the most overproduced game in pretty much all of history, and that includes a lot of collector's editions released today. You can see that it's a video game that has an entire board game wrapped around it. The board game has about 60 pieces, a gold-embossed game manual, a full-color map board, a keyboard overlay, and lots of Escher-esque concept art showing you the graphics the designers probably wished they could cram into the actual cartridge.

The video game itself consisted of several simple Pacman mazes with four different types of fantasy monsters, including a fire-breathing dragon. The game was designed to be a cooperative stealth game. Each player chose a character from one of four classes, and tried to use what we'd today call "aggro management" to steer at least one character to a ring at the opposite side of the maze. To mix things up, the maze walls would sometimes move and shift, and other times be made of lethal lava. It was unique in that era for being a two-player cooperative game and for having characters with totally unique skill sets: a warrior who could kill enemies, a wizard who could stun them, a phantom who could walk through walls to escape, and a changeling who could become invisible to dump aggro. The monsters were also better differentiated than the ghosts in Pacman, with different sizes, speeds, and movement patterns.

I never really succeeded in playing it, partially because the game was difficult even for two players, partially because the control paddles were hideously clunky, partly because I was six years old (!), and partially because it was at a friend's house and I only got to try it a few times. But the idea in abstract principle, a hybrid supergame with one foot in the physical world and another in the electronic one, has continued to be something I want someone to implement for me in a perfected modern form.

While I'm no programmer, one idea I've been contemplating is to merge two existing types of games: a high-level economic system played using an existing strategy game, and a tactical resolution system using an existing video game. For example, a board game like Civilization could be played out normally, but using the arena mode of a low-level strategy engine (like the SSI's Fantasy General) to resolve the outcome of battles. One of my projects a few years back was to unify the economic system from Starfire with the tactical battle system of Space Empires IV, allowing for a solo Starfire game -- a project that was basically superseded by the discovery of Aurora. (But not until after I had sunk a few dozen hours into modding SE4 to work with Starfire tech!)

Currently my latest idea is to combine a sandbox CRPG with the economic system in ACKS, creating a solo RPG with higher level domain management components. This could work with some of the old Gold Box games (or their FRUA reimplementations), as well as with the d20 indie title Knights of the Chalice. Most modern games have too many plot constraints to allow for integration with an outside system, but maybe there are some player-created Neverwinter Nights modules that might work. A major complication is the need for a character hex editor that can import elements (money, characters, magic items, spells) from the economic system back into the computer game. (The Gold Box Companion works OK for basic functions like creating gold or leveling up, but encounters some game breaking bugs with the item creation functions.)

Like all of my grand schemes, I hardly have enough time to implement this one. But I think I'll at least play with the idea in my mind and see where it goes.

Monday, March 17, 2014

Pool Of Radiance Retrospective

It was just over 25 years ago that the first "real" electronic implementation of a pen and paper RPG arrived. Pool of Radiance was a joint project by a number of legendary TSR developers, including Jim Ward, Steve Winter, Zeb Cook, and Mike Breault. It inspired a lot of sequels, which themselves indirectly inspired next-generation RPGs like Baldur's Gate and Neverwinter Nights.

I recently hauled out the game and played through the opening scenarios. As is often my approach to CRPGs, I added a set of self-assigned "conducts" to play in a pseudo-ironman mode to make the game harder. (There are plenty of ways to cheat and make it easier, too!) After 25 years it's apparent how many of the user interface decisions from the era are painful in ways that I never appreciated at the time. Healing a wounded party sometimes requires dozens of keystrokes, and plenty of important information (like saving throws and buff spells) is hidden from the player without the use of unofficial third-party add-ons. Most of the spells are frankly useless, and thieves are an ignorable class due to having no stealth abilities. But I still regard this as one of the best RPGs ever made, and I figure it helps me understand my own creative process (as a game designer and referee) to think about why I like it so much.

Here's a list of all the things it does well -- in many cases, better than any game created since:
  1. Random encounters to give a sense of peril: At every stage of the game, there are always random monsters waiting to jump you on the way back from a successful expedition. This creates a standard dilemma where you have a party struggling with the encumbrance a load of hard-fought loot, but it doesn't matter if you can't bundle it home across the forbidding wilderness or treacherous mazes. There's something deeply iconic about greedy adventurers clinging to their prizes even as they beat off pursuing foes. It makes the world feel more organic than being able to just walk back into town unmolested and then return to pick up where you left off, as if clearing dungeons were the same thing as picking fruit from an orchard.

    Better yet, encounters can hit you even when resting, in proportion to the time you spend in camp. So there's a constant tension between trying to re-memorize all your spells, or just the handful of essential ones you need to survive.

  2. A robust morale system: All the Gold Box games had this, but many later games have mostly ignored morale. Morale is essential for allowing a game to have huge epic battles without becoming tedious. One the one hand, there's something awe-inspiring about walking into a room and finding not 5 orcs, but 50! On the other hand, who actually wants to hunt down and kill them all? In this game as in the original D&D rules every battle has a natural break point where the monsters start running (often triggering a cheer, or at least a sigh of relief).

  3. Good news: We have the archers flanked! Bad news: That's a lot of archers...
    Side note: The "morale" rules are a logical counterpart to the "turning" rules for undead (which themselves have no morale). The "surrender" effect mirrors the "destroyed" result for turning, and the "flee" effect mirrors the "turned" result. It's a peculiarity that, in later editions of D&D and its ilk, the undead-turning mechanic remains even as morale has been lost. This makes clerics feel weirdly overpowered against undead. In historical context, though, the undead themselves were originally weirdly overpowered due to their lack of morale checks. Clerics were just restoring them back to parity with other monsters.

    Alas, due to poor pathfinding in these early games, morale sometimes just resulted in enemies cowering in corners while you had to slowly pick them off with arrows. So the system didn't always work as advertised. But when it did, and 12 kobolds unexpected surrendered to your sole surviving priest, it was a glorious thing.

  4. A detailed adventurer's journal with an emphasis on tactile elements: Back in the 64K days, games couldn't squeeze much text into the game engine itself, so they resorted to including any long text-blocks in a separate booklet. This was often a blessing rather than a curse, since it allowed for materials that wouldn't be compatible with the primitive interface. That could include fragments of handdrawn maps, notes from some anonymous sage, and the ubiquitous "code wheel", a primitive copy-protection method that PoR actually appropriated as a way to translate various dwarven and elven rune languages in the game. Oh, and a lengthy history of the geography and politics of the region, which lots of players probably would skip today, but which I read extensively. All of this on faux-aged paper with custom script fonts. Unlike other computer games of the era (and too many games today) this one was made out of wood.

  5. A map within a map within a map...
  6. Legacy features from the early golden age of RPGs: In Pool of Radiance, you can wander around a random map and discover procedurally generated lairs full of the classic "Type X" minor treasure troves with gems, minor magic items, scrolls, and potions. If the encounters felt too hard you could hire a nameless mook or two as your henchman -- if you didn't mind them swiping some of your hard-earned gold after every fight. Time was strictly regulated as a game resource, and searching a room put you in danger of more of those random encounters. Party members could be swapped in and out of your party to create a motley group of level 7, 5, and 2 characters of any flavor you wanted, making it a matter of dumb luck whether the next encounter would be at all "balanced". (I'm facing skeletons... and all my mages have sleep spells, gah!)

    For that matter, large chunks of the game were horribly unbalanced, starting with the notorious room full of trolls the designers tossed at any new party wandering into the game's "newbie zone", the slums. (I guess you were just supposed to run away, and praise the valor of the fallen companions who perished as they were pursued...) Lethal poison, level draining undead, and instant-death traps were constantly lurking around every corner. None of this "poison slows you down a little for ten seconds and then wears off automatically" nonsense; a 500 pound spider sinks its fangs into you, and you're going down, kid. That's what spiders actually do. We're simulating reality here, not giving you the illusion of being a hero with some fun park ride.

  7. All of this is in contrast to modern games which often feel too carefully designed to be part of an organic world. Monsters are neatly segregated by level into zones flagged with huge neon challenge-level signs, where they are just barely sufficient to cause you to break a light sweat but no more. Those brutally unfair trolls? I remember them well, 25 years later.

  8. A turn-based tactical engine: I'm sorry, but turn-based combat is just better for RPGs. No amount of trying to cram the square peg of D&D into the round hole of real-time combat will convince me otherwise. There's nothing more depressing than realizing that the only necessary tactic in a modern RPG is to put one dude in optimally enchanted plate armor and have him run in circles while the rest of the party snipes away from range at the monsters stupidly chasing him. (Yes, I'm looking at you, Baldur's Gate and Neverwinter Nights.) Tension doesn't come from how fast the game forces you to play, but how slowly it makes you want to play as you agonize over each decision during a nasty ambush.
This isn't to say that PoR is actually a playable game today, at least by most consumer standards. The graphics are antiquated Atari-era stuff. The interface is all paging through block menus. And there are huge gaps in the documentation that make it unclear what aspects of the PnP rules were actually ported over. (Does Wisdom actually grant any saving throw bonuses? I have no idea how to even tell...)

But a modern game that tried to emulate some of these attributes would be greatly appreciated, at least by me.