Non Sequitur Fridays

How Baldur's Gate Shaped My Life, Part 1

This post is part of our Non Sequitur Fridays series, which will feature a different Wistia team member's take on a non-Wistia-related topic each week. It's like our "employee of the month" but less "of the month"-y. Max Schnur is an engineer at Wistia. This is part one of a three-part story that will be continued in his next Non Sequitur post.

Part One: The Rise of the Baldur's Gate Empire

Christmas 1998. I woke up early in the studio apartment where I lived with my dad and made my way to our tiny tree as quickly as possible. My dad always managed to scrap together a few good presents despite being short on money. And man, he knew I loved video games. That's the morning I unwrapped Baldur's Gate. I knew this game would be fun to play. I didn't know it would alter the course of my life.

If you've never heard of Baldur's Gate (see this page, at the bottom), here's a really quick overview. You customize your own character (your in-game avatar), interact with other characters, solve mysteries, collect treasure, and kill bad guys, all in a fantasy world. It's the game that most modern RPGs are based on.

Anyway, a few months down the road, I beat the game. It was awesome, so I installed the expansion, Tales of the Sword Coast. That was even better! So I restarted the game with a mind to create a different character.

I knew this game would be fun to play. I didn't know it would alter the course of my life.

At this point, I was searching the internet for more information about the game: cheat codes, easter eggs, what have you. I stumbled upon a site that provided custom portraits and soundsets (voices for your character). I was amazed and downloaded everything I could. From that portrait site, I found a different site that let you download custom items. Holy crap! I got all those too. With my custom portraits and items, I played through the game again with a titan of a character.

It wasn't enough. I scoured the internet until I found the tool they used to make items. This was back when Visual Basic was in vogue, so this program had that old-school Windows 95 style to it. I made my first item ever, a sword I called Mind Stealer. If you connected a hit with Mind Stealer, there was a small chance you'd make the poor target dumber, permanently. Over a long enough battle, that would actually kill them. Crude, I know, but I thought it was fun. I wrote a long and detailed description for this thing to justify its existence (give me a break, I was 13!).

I submitted Mind Stealer to a website, Ajoc's Infinity Edit, where they put items up for download. It was accepted, and became available to the internet at large! I have no idea if anyone ever used it, but at the time, it confirmed to me that my work was worthwhile. The pattern continued. I would make something cool, then want something cooler. Finally, I stumbled upon a site called teambg.com (now defunct, though teambg.org is still up and kicking), which seemed to be full of people doing the exact same thing as me.

I jumped right in to the TeamBG forums, asking dumb questions. I was the quintessential noob. These people were experienced hobbyists or professional programmers, making the very tools that I used. I was just some 13 year old who didn't know how to do anything.

Fortunately for me, many of these forum-goers were quite friendly. Some were a little strange - the ones that stayed in-character all the time - but they added some flair for sure. They helped me move from custom items to custom characters. I made a bard named Jimi Hendrix, with an axe and a custom soundset. I made Bill and Ted characters, knights with custom portraits who were only interested in heavy metal. When the novelty wore off, I moved on to new dialog trees and AI scripting.

I should mention that TeamBG's programmers were passing this knowledge to me over a long period of time. You see, this was before games were meant to be modified by gamers. TeamBG was reverse engineering the Infinity Engine, and the modders (i.e. modification makers) were churning out mods on a daily basis. A discovery would be made, and soon after there'd be a mod to exploit that discovery. One modder went as far as making his own expansion, Dark Side of the Sword Coast.

Now that was impressive: not just because it was the first major unofficial expansion to the Infinity Engine, no, it's because some of the things Grog (the original DSotSC creator) accomplished weren't even possible with the tools we had. See, he had reverse engineered more of the game than we had created tools for. Grog managed to make custom areas and use different spell animations by taking a hex editor and manually changing the bits in the code.

At any given time, I had 35 pages of paper scattered on my desk. I was manually converting from decimal, to hexadecimal, to big endian, and back again.

Here's where my mind exploded. I was a small scale modder at this point, not a programmer. But I dove right in to hex editing (AXE was my editor of choice), which opened my mind to how computers worked. Offsets, indices and bitmasks, oh my! Little endian and big endian notation, both of which had reverse forms. At any given time, I had 35 pages of paper scattered on my desk. I was manually converting from decimal, to hexadecimal, to big endian, and back again. Plus I had to keep track of those offsets, the size of struct blocks, and allocate it by hand, in an editor. I was not a math wiz, mind you, I was just very motivated to put cool things in my game. Looking back at the complexity of it all, I can't believe I ever got anything working.

To be fair, my changes frequently didn't work. I would routinely crash the game, and my computer. Around this time I developed my game programming philosophy, "If you can crash the game hard, then you're getting REAL close." That attitude actually confers great freedom. Once you've broken everything and recovered, you're not afraid to break anything at all.

I went on like that for a year or so, improving an inch at a time. I broke my game, discovered new techniques, and published them to the early internet.

And then, Baldur's Gate II was released. I can't begin to describe the magnitude of this release. The game still used the Infinity Engine, but gave us far more modding power. The scope of mods had advanced since I first started. It wasn't just custom items and spells anymore. Now talented modders were making new quests, new characters for the party, new areas with graphics. It was an exciting time.

I can't explain how it happened, maybe because it was so gradual, but I slowly became a fixture on the TeamBG forums, and in their chat room. Whatever social life I had previously took a backseat to modding. I had school for 6 hours a day, and I modded for 8-10 hours a day. I'd frequently forget to eat. I spent all my time hacking on code, making up stories, and writing character dialog. I slept through most of my classes in school. I told everyone it's because I was lazy. Really, I was working so hard that I was exhausted. School was weird. Working hard was not cool.

I made friends online, all over the world, from England, Canada, Mexico, Denmark, Japan, Pakistan. I had my real life (RL) friends, but I spent many more hours each day chatting with my modding friends. Like any large social network, there were factions and plotting. I tried my best to stay above it, but it was hard because I had friends involved on both sides.

With all that time invested, and because I didn't have any real enemies, I became somewhat known in the community. Since I had encountered nearly every modding problem imaginable, I could solve other people's problems with ease.

With all that time invested, and because I didn't have any real enemies, I became somewhat known in the community. Since I had encountered nearly every modding problem imaginable, I could solve other people's problems with ease. Because of my deep experiential knowledge, the tool builders began to ask me questions about how the game worked and how they could improve the workflow of their programs. I'm not gonna lie, I liked being respected in this way.

With the Dark Side of the Sword Coast in the back of their minds, a few different teams set out to make the next great unofficial expansion. Naturally, I joined a team. Though it fell apart after a few months, that's where I met my compatriot from England, Minto.

Now, Minto was prolific. Extremely prolific. He churned out new items, kits, spells, and quests, like a boss. I was more meticulous and concerned with dialog, replayability, AI. We agreed that we made a good team. He could create masses of content, and I could make sure the quality stayed relatively high and stitch it all together. So with the rest of the team gone, we set out to make The Darkest Day.

Over the course of 9 months, we collected various team members. They came and went. Minto and I were the constant co-leaders, but I was the organizer. I hosted the master repository of files on my home computer, my crappy 20GB HP with 256MB of RAM. This was WELL before the days of git. SVN was new. Source control was available (CVS, SourceSafe), but I wasn't a programmer - I didn't know how they worked! No, I just set my computer up as an FTP server and had my teammates upload files directly from Europe. Let me tell you, it was a nightmare. I couldn't pull in files without conflicts, and team members could update their local repository without conflicts. Everything was resolved by hand, individually. But we just dealt with it because we didn't know any better. Good thing I kept backups.

Modding continued to take over my life. Before, I had been skilled at soccer, playing on multiple traveling and select teams. I quit my freshman year of high school because it took up too much of my time. I worked for 8-10 hours a day, but I felt like I could be doing twice that. I was seriously addicted.

Our mod-in-progress was now generating some word of mouth. It was a behemoth, about 350 MB to download. We needed a website, so I learned HTML and some basic PHP. I published a site with screenshots for publicity. You can still see it in basically its original form.

If you go down that list, you'll see the first update is October 17, 2001. I had just started my sophomore year of high school, and it's just a little more than a month after September 11. Yes, that September 11. I'm from New Jersey originally, about 30 minutes outside NYC. I remember getting released from school, seeing a plume a thick ash floating on the breeze, and jumping into my chat room immediately. Our release date was supposed to be September 15 or so. I had no idea what was happening. Was this a war? Was anyone I knew in the city? I was in shock. I told my team we needed to delay the release, and they understood.

Fortunately for me, none of my family was hurt. But quite a few people in my town were deeply affected. I didn't see anything I could do, so I kept modding. A week later, beta testing resumed. We released on October 17, though I wasn't sure if we were ready. I was nervous, but the mood was "well, we need to release sometime!"

The first thing we noticed was the news coverage. We were getting so many downloads! It was announced on major gaming sites. RPG Planet! Game Banshee! Reporters for gaming magazines were asking me for interviews! I was high on adrenaline for a few days.

It didn't last.

The second thing we noticed were the bugs. Oh my god, the bugs. Bug reports flowed into our forums like a torrent. There were install issues. There were crashes in some areas on Mac but not Windows. There were hundreds of tiny issues, and even more typos. Taking certain paths in some quests would leave you in a dead end from which you couldn't escape. There were so many typos, so many grammar mistakes.

From the comments: "things like the Darkest Day are awful and will insert a whole lot of poorly written, poorly designed wankery into your otherwise excellent game" and "I would never, ever ever use The Darkest Day. Ever." Thanks guys, there's a confidence booster.

There were angry posts about bugs. These were particularly disheartening because we did all this work for free, and were distributing it for free. For that reason, I try to give volunteer projects some leeway. I've been in their shoes. I must say I understand the complaints better today, but that doesn't make them hurt less. The vitriol was such that, now more than ten years later, I can still find recent posts on gaming sites bashing TDD. From the comments: "things like the Darkest Day are awful and will insert a whole lot of poorly written, poorly designed wankery into your otherwise excellent game" and "I would never, ever ever use The Darkest Day. Ever." Thanks guys, there's a confidence booster.

At this point, I was personally disgusted with The Darkest Day. I became irritated at Minto since many bugs were from his quests, but I should have been blaming myself. I still feel bad for not taking full responsibility at the time. After all, I had taken it upon myself to ensure the quality, and I failed. We released too early. Neither of us understood the level of scrutiny we'd be under. There weren't automatic updates back then. Users had to manually download and install 50 MB patches. And they had to be aware that patches even existed. If you shipped something bad, it was bad, end of story. It was hard to win back mindshare after that. And to be honest, after that tough launch, I don't think either of us wanted to be involved.

It became a chore for me to visit the TDD forums. I knew there'd be 50 more complaints every time I came back. I couldn't stand defending myself to the haters over and over. I sunk into depression, but tried to keep working. I was easily annoyed and ready to quit, but I felt chained to this monster. I created it, and it was my responsibility.

Over several months, I ironed out the most devastating bugs with the help of some very smart and dedicated modders, but I don't think they were all fixed until many years later. These friends of mine carried some of the load, and for that I am eternally grateful.

While the major bugs were squashed, there were always more small bugs. It seemed endless, and it put me in a really sour mood. I know you're more likely to hear from people with problems than happy customers, but every complaint took a toll on me. Besides bugs, some people said there were too many new features, which I didn't understand at the time; more options is better, right? So I thought when I was 15.

Despite my deep misgivings, TDD continued to do well in downloads. It was included on a DVD in a special issue of PC Gamer UK where I was featured in an article called "Mod Scientists". I still wasn't a programmer--I didn't make tools to modify the game, but I had become so engrained in the TeamBG community that they made me a full member, with the title Mod Guru. This granted me the privilege of suffixing my name in chat and the forums. I was no longer Max or Potencius (my original avatar name, Po for short). Now I was MaxTeamBG. This filled my nerdy, 15-year-old self with great pride. But in the back of my mind, it was tainted because I didn't want to be associated with my most visible accomplishment.

Six months after we launched The Darkest Day, my mom called me on the phone screaming. This was really scary. After I calmed her down, I realized nothing was wrong. Quite to the contrary, without telling me, she had written up my modding accomplishments and submitted them to the National Project Leadership Awards. Of over 200 applicants all over the U.S., including business leaders with billion dollar budgets, I was a top ten finalist. I couldn't believe it.

I was 15, nerdy, awkward, on the verge of depression, and I had to present my albatross to national captains of industry. They would judge me on my ability to lead a project. Great.

Read part 2!

Keep Learning
Here are some related guides and posts that you might enjoy next.