Breaking Open the Black Box

The Secrets and Stories of Game Design

Pages

  • Game Design Lessons
  • Learning From My Past
  • Post-Mortems
  • Who am I?
Follow @Xelnath [mc4wp_form]

Powered by Genesis

Post-Mortem 9b: Building Nightbane

2015.01.30 by Xelnath Leave a Comment

This will be easy, I naively thought as I crafted the plan for a simple dragon fly-in, landing and cool little scripted sequence to cover the quest-related portions of the event. About ten minutes into this, I realized how dreadfully wrong I was.
500px-Nightbane
Nightbane Looms

Me: Geoff, what on earth am I doing wrong?

Geoff: What do you mean?

Me: I’m attempting to draw Nightbane’s flight path on the ground, then drag it into the air… but I can’t seem to select multiple points.

Geoff: Oh. Yeah, you can’t do that.

Me: So I just do… wait, what?!?

Geoff: Yeah, our editor doesn’t allow multi-selection.

Me: That’s utterly ridiculous.

Geoff: Hahaha, yeah.

Me: This has to be a joke.

Geoff: Nope.

Me: …

I grumpily returned to my work. This time dragging each point individually into the air, cursing frustratedly for the next day as I randomly placed, dragged, rebooted the game server, tested Nightbane’s flight in, found it too high, too low, not sexy enough. This is where you’ll spend a lot of your time as Game Designer – meticulously crafting a player experience in frustrating, if not utterly backwards ways. 

After two days, when I finally discovered that misclicking on the geometry of the castle would ruin the path, I’d had enough. 

Me: Geoff! This is insane. There has to be another way. Can someone fix this?

Geoff: Sure… if you can persuade them to do it. We just got a new tools engineer, a guy named B. Maybe you can get him to fix it.

B was sitting behind a desk when I walked in, the light blue glow of the monitorimages illuminated his face and glasses. 

B: Hello!

The warm, cheerful voice was the antithesis of every dark, antisocial stereotype you’ve ever heard about programmers.  In fact, most programmers I know are warm and cheerful – they generally love their jobs and doubly love being paid to do it!

Me: Hey! Nice to meet you, I’m Alexander.

B: What brings you to my office today, Alexander?

Me: I heard you were working on tools.

B: Well, that depends. What kind of tools are you asking about? If you’re talking about art tools, then that’s Charlie over there. *points to another guy sitting behind a monitor playing facebook games*

Me: Nah, this is design tools.

B: Well! That DOES happen to be me. How can I help you?

Me: Okay! #1 – the flight path tool bugs out and breaks whenever I click on a building. #2 – why is this editor so terrible to use?

To say that I was blunt and rude back then is well… an understatement. 

B: *taken aback* Uh, ahem, well, I did change the flight path editor recently. I’m sorry you find it worse. Can you tell me your problem in more detail?

Me: Of course! So when I click the screen, it drops an orange ball, great. I want to draw the path on the ground, then raise it up into the sky.

B: And that’s when it breaks over buildings?

The greatest struggle between two people is often in the communication of the issue, rather than the recognition of the issue itself. 

Me: Yes. Well, no.  When I click, if there’s collision geometry in the way, it snaps the point onto the building, rather than the terrain behind it.

B: Where is this a problem?

Me: In Karazhan. Well, outside of Karazhan, but to move the camera into the right place, I need to look out from inside the building.

B: How about you just show me.

Demonstrating something first hand is often the best way to do this. I opened up Nightbane’s action record, loaded the AI Follow a Flight Spline action and show him the mangled line that had been created. 

B: Okay, I see this line. When are we going to open the flight path editor?

Me: This is the flight path editor.

B: Oh no, this is something else. The flight path editor is over… here.  *pulls open a different editor with convenient x,y,z coordinate editors, a lock height feature and several other awesome things*

Me: Whoa! That looks awesome. Can I use it to create Nightbane’s flight path?
This is nothing like what I was editing.

B: … unfortunately not. This only works on Griffon and Wyvern paths.  But I am way happier now to hear that the bugs aren’t in the path editor I wrote! *smiles cheerfully*

Me: I see. Okay, then lets just make your editor work on these other paths instead!

B: *frowns* I’m afraid it’s not that easy. You see, this editor is built to work on one type of record – Flight Path nodes. However, what you are editing as AI Path nodes. While they feel similar, they aren’t at all alike. It would take a couple weeks of work to make them work together.

Me: Ohh….

B: I might be able to fix the bug where clicking on invisible geometry causes the path nodes to break though.

Me: Thanks. That would be helpful.

B: No problem. I’ll put it on my backlog and get to it in a couple of months.

Me: A couple of months?!?!B: Yeah, there’s a lot of requests backed up and well, I’m the only tools engineer for your team. We need to upgrade spells to support the new heroic difficulty, which is a big deal, then work on some area trigger issues.

Me: But I need to get this guy done this week. Damnit. *visibly frustrated*

B: Maybe you can try hiding the building entirely. *clicks a button* This should turn off the collision while you are drawing the path.

Me: Thanks, I’ll try it.  *starts to walk out*

B: Pleasure meeting you!

After this enightbane_begxperience, I spent several hours crafting the paths I wanted for Nightbane to fly in, then resolved myself to never use this method for such a complicated thing again. Originally, I had wanted Nightbane to strafe over the players and breathe flames down onto the thing area where they were standing.  Now, instead, I decided to focus on just having three different spots where players engaged him in the air. 

In this version, instead of hand-crafting points, I place 3 invisible bunny rabbits in the air, one marked “A”, one marked “B” and one marked “C”.  When Nightbane lifted off, he would fly in a pre-build circle for a bit, then randomly pick A, B or C and stand there nuking the players. Moving the invisible bunnies around was easy by comparison and let me rapidly iterate on Nightbane’s attack positions.

This turned out to be quite sufficient for the experience I wanted – players to run back and forth along the balcony while attacking Nightbane.

But then the next challenge was a bit tougher…. what on earth did I want to happen while he was up there?

To be continued…

Filed Under: Post Mortem

Post-Mortem 9: Bone Cold Steve the Dragon (Nightbane)

2015.01.11 by Xelnath

Alternate Title: How strafing runs are not enough and Shaman cannot tank vs. taunt

Quest-ionable Origins

Alex Afrasiabi: Yes, yes, come in to my office, Mr. Brazie.
Me: Hey dude, Scott said you needed me to make a quest boss for you?
Afrasiabi: A quest boss? No sir, what I need from you is excellence!!
Me: Uhm… okay?
Afrasiabi: This is no mere quest boss, this will be a secret, unlockable raid boss, the likes of which can only be obtained by the most powerful of heroic dungeon runners?
Me: Oh, alright, well, let me get…
Afrasiabi: No! There is no time for that. For not only will you need to make a raid boss, you will also need to script a bit of an event for my assistant, Luis.
Me: Right, so let me get Lui…
Afrasiabi: Yes, yes, you can figure that all out afterwards. But first let me make sure you understand – this boss must be TOUGH. I want the players hearts CRUSHED as they vie for the phat lewts contained within!
Me: I’ll make sure Travis puts some good stuff on there.
Afrasiabi: Excellent! Now, be gone! *dramatic swing of the cape*
Me: … all you did was turn around in your chair.
Afrasiabi: Scram.

I shrugged and wandered over to the quest pit. Luis Barriga, a warm and friendly, if heavily tattoo’d and ripped, vegan sat docilely behind his monitor.

Me: Heeeey, Luis! Alex said you needed a quest boss… but in a raid zone?
Luis: Oh hey, dude. Ya, let me walk you through the story.

Slowly rippling flashback blurs fill the room.

Luis: Once upon a time,  a powerful man named Medivh explored the dark powers of the twisting nether from his grand tower, Karazhan.

Flashback rips.

Me: Yeah…. I know about Medivh.
Luis: Well, shush and I’ll tell you for a second what’s up.

 

A powerful man named Medivh. (http://www.facebook.com/GeekyRed.Cosplay)

Clouds reform. 

Luis: Medivh, possessed by Sargeras, began to tamper with the ancient layline magics, feeding additional power into Karazhan – so much that it drew the attention of the Blue Dragonflight. Charged with the eternal protection of magic on Azeroth, Malygos, leader of the blue flight, sent his second eldest son, Arcanagos, to draw Medivh from his tower and warn him of the impending danger!
Me: *yawns a bit*
Luis: Finding the tower impenetrable by normal means, Arcanagos set fire to the village outside of Karazhan, drawing the Guardian out of his tower. Arcanagos attempts to stop Medivh, but Sargeras corrupts the magic Arcangos flings at him, burning him from within.
Me: I’m still not hearing any gameplay here.
Luis:  *exasperated* Fine. Look, the players recover Medivh’s journal, read it on the balcony of Karazhan and get an extra boss. If they beat him, they get access to Tempest Keep.
Me: Oh. Okay, so you basically need a gear check boss.

Luis: Yes.
Me: Got it.

I moved to leave the office. 

Luis: He’s also a BONE dragon. Burning from the inside.
Me: Oooooooohhhh.

Mechanical Mandates

I wandered over to talk with Scott.
 
Me: Okay, I have a pretty good grasp of what Luis and Afrasiabi want for this boss.
Scott: Oh yeah? Typical one-off?
Me: Nah, they want a gear check repeatable raid boss.
Scott: Hrmmm…
Me: They also want him to be very tough.
Scott: Well, alright, I’ll go talk to Roman about a unique model. What are you thinking for gameplay?
Me: Well, as much as I’d love to do something crazy, we’re kind of short on time here.
Scott: *nodded with more relief than I realized at the time*
Me: So I’m thinking we take the standard dragon kit – cleaves, cone flame breath, an aoe fear, then add some cinematic moments – say, a few fly-by strafing breath attacks and mostly cosmetic excitement.
Scott: Hrmm…. yeah, that sounds pretty doable.
Joe: Seems a little bit like a waste of a good view. Maybe he should stay in the air a little bit?
Me: Well, I did JUST do that with Nazan and Vazruden.
Scott: Yeah, but it will have been like 30-40 hours of gameplay since they saw him. I think you can get away with it.
Me: Erm, I mean that more in terms of I’m familiar with how to do this. Okay, cool, I’ll go get started on this. How hard can it be?
TO BE CONTINUED.

Filed Under: Post Mortem

Post-Mortem 8: Netherspite

2014.11.03 by Xelnath

I’ve had more people ask me to do this post-mortem than any other in the history of every project I worked on at Blizzard.  What is it about this encounter that struck people so poignantly that 7 years later, I still hear about it?

Well, it all started with a drawing.

Nether Dragons

Scott: Good morning gentlemen.
Joe/Me: *mumbles/grunts*
Scott: Chipper, today.
Me: *sleepy 9 am glare*

Scott: I have just the thing to wake you up. TADA

Scott showed us a drawing of a very badass serpentine creature with energy flowing out in every direction.

Me: Oooh, cool!
Scott: Yessss.  And this is the creature Metzen and I think we should use in Medivh’s Observatory.

We had left the room empty for a little while now, as one of the optional encounters, it was less important to be filled out early on in production. 

Joe: What do you want it do to?
Scott: I’m not sure yet. Let’s discuss at the next meeting.

At the meeting the next day…

Geoff: Nether dragons look pretty cool. If the story goes that they existed in Outland though, how on earth did they get here.

Scott: Well, the current story is that the empty space outside of Karazhan is open to the Twisting Nether – which means these creatures just wander the empty space and fly in there.

Geoff: That’s still a little weird. What if it could open portals and it came in through one of those tears instead.
Me: Oh that’s interesting, maybe we could use it in the actual fight abilities.

Geoff: Ooh,  yeah, like portal open up and blast him with energy. Then spin around the room.
Me: Uh sure…. who’s working on this one again?

Scott: Hmmm… Geoff, you seem pretty excited. Do you want to take it on?
Geoff: Sure, but that would mean giving up the demon prince at the end.

Scott: Erm, no, nevermind then. I really want you to finish that one first. Joe?
Joe: I’m still working on the sacrifice mechanic for the Satyr.

Scott: Well, Alex, how’s Shade?
Me: Done.

Scott: *skeptical* Done?
Me: Well… I have to have more QA playtests… but I mean yeah, he works.

Scott: Alright, I guess the design for that fight was pretty tight. Go ahead and work with Geoff to come up with the kit for this one.
Me: Okay!

Nether Planning

Art by the talented John Polidora

Geoff: Yeah, so I am pretty busy. What do you think about those portals?

Me:  It’s a cool idea. Maybe the beams could come out and infuse you with power.
Geoff: Oh yeah! What if when the beams hit him he powers up and you step into the beams you steal the power for yourself.

Me: That sound awesome!

Geoff: Go ahead and be crazy with this one. Make the players like veritable gods when they have the beam on, hahaha.
Me: Alright!!

I hurriedly rushed off to create the kit. 

 

Netherspite Version 1:

I spent the majority of the next week crafting the scripts that made the portals “work”.  At this point in WoW’s development, the one gameplay programmer, Sam Lantinga, was in high demand… and it was nearly impossible to get new game features.
Thus all of the new features were generally forcibly scripted into the game with gratuitous amounts of Lua.  This one was no exception. After a week:
Creature Model
Abilities:
  • Melee – 50% harder than anything else in the game
  • Shadow Damage – unavoidable shadow damage to everyone in the room.
Blue Beam – Target deals 100% more damage.
Red Beam – Target takes 50% damage.
Green Beam – Target gains 50% healing and
restores 10% of max hp.

This boss was surely intense! Just look at those numbers! Such power, so amaze!

First testing attempt:

Jeff Kaplan: Okay! here I go!
*dies instantly*

Jeff: Ha! Okay, I just need to shield wall on the pull. Revive, I got this.
*dies 10 seconds later* 

Jeff: Uhm, okay. Maybe this is overtuned. I’m going to double my health.
*30 seconds into the fight, someone misses the green beam and netherspite instantly reheals* 

Jeff: Uh… that sucks.
*1 min into the fight, someone with the blue beam pulls aggro and instantly dies* 

Jeff: Hahah, Joe! Learn to hit evade.
*2 min into the fight, someone misses the red beam and Netherspite instantly one shots him* 

Jeff: OKAY, WHAT THE FUCK?!
Scott: I thought I was standing in the beam.

Joe: I thought the same thing too… but I couldn’t be sure, the dragon was right in my face.
Alex: It was really hard to tell…. because it shot over your head.

Scott: Why does it do that?

Alex: Well, what are my other options? The bloody wyrms are floating 10 feet above you at that scale.
Scott: Ugh. I’ll go talk to the animators.
An hour later… 
 
Scott: Uh, guys.  I have some bad news….
Alex:  They couldn’t fix the animation?

Scott: Uh… worse. All of our animators quit…
Joe: …

Alex:  So …

Scott: Just make the beams snap to the ground and replace the model with that transparent green dragon model Roman Kenney made for now. We’ll replace it with something better before ship.

Alex:  Got it.

Life Lesson:

Unpredictable shit happens. When it does, you need to make the best of it.

Joe: Oh yeah, and Alex, these beams should be fun for the people who use them. Can you do something to make them a little bit more
Jeff: Also… if I’m in this beam, I want to be like the god of tanks.
Alex: Okay…
Joe: But Jeff, if you’re the god of tanks… why would anyone else ever want to use it?

Geoff: Oh yeah… that’s a good point. It really seems like you should want to switch around who is using each beam.
Alex: How would I go about doing that?

Geoff: I don’t know… force them to switch who is on the beam… just kill them or something.
Alex: Alright….

Netherspite Version 2:

“Temp” Dragon Model
Abilities:
  • Empowerment – Gains 100% additional damage 15 seconds after being aggroed.
  • Shadow Damage – unavoidable shadow damage to everyone in the room.
Blue Beam – Target deals 100% more damage.
Dies if in the beam for 20 seconds.
Red Beam – Target takes 50%
damage gains bonus health.
Dies if in the beam for 20 seconds.
Green Beam – Target gains 50% healing
and restores 10% of max hp.
Dies if in the beam for 20 seconds.

Mindset:  I’ll do exactly what I’m told. That’s totally going to work, right?

Life Lesson:

Listening is good. Blindly obeying is bad.

2nd Playtest:

Jeff: Okay! here I go!

*10 seconds later*

Jeff: Sweet! I’m alive.

*15 seconds*

Me: Jeff. Give someone else the beam.

Jeff: What? No way, this is awesome.
*20 seconds*

Jeff: Shit! What killed me? Did I get crit?
Me: You didn’t give anyone the beam…

Jeff: Why would that kill me?
Me: Because if you keep it for 20 seconds… you die.
Jeff: *facepalms then starts laughing* Oh god.

Next attempt:

 
Everything goes smoothly. Joe and Jeff swap the beams.  Repeat for 5 minutes.
Joe:  Hm…
Geoff: Yeah…
Jeff: Well, it worked…
Me: Great!
Geoff: Not exactly… well… its kinda…
Joe: Boring. It’s boring.
Me: But I worked so hard to get those beams working.
Geoff: Yeah… that impresses us… but the players don’t really care. Ya know?

Life Lesson:

It doesn’t matter how hard you worked on something if the end experience isn’t great.

Joe: There’s a couple things here… one… there needs to be more going on. More tension… and well… anything else to break up the fight.
Jeff: Go ask some other designers for their thoughts.

Life Lesson:

Farming other people for opinions is a great way to get new, raw ideas.

Wyatt: Movement? You know, I got a lot of movement by using those void zones in Naxxramas.
Kevin: Huh… I noticed everything is percent max health, damage, whatever… wouldn’t it be better if some of this stuff scaled with gear?
Stephen: Its really hard to SEE changes like percent reduction… like buff the crap out of them in a way they can notice.
Eric: Instantly dying is bullshit. You need to give them some sort of warning. UI can communicate this perhaps if you do it right.
Jeff: Tedious fights that do the same thing over and over again get boring. Please mix it up somehow.
Scott: Keep in mind there might not be two tanks in this group. Make this fight work with like one tank and a melee shaman or rogue please.
Joe:  I keep running out of energy on my rogue. This means I’m way worse in this fight than everyone else. That’s not cool.
Alex A: These names are really placeholder. Can you spice them up a bit?

Life Lesson:

Raw ideas are great. However, getting overwhelmed by all of those ideas… not so great.

Me: Augh! This is way too much. Fuck it. I’ll just do all of this stuff at once. Also, I’m going to make it way easier to tank this.
Me: In fact, why should I even make the tank worry about aggro? I’ll just give it to him. What makes tanking work? Defense? Fine. MORE DEFENSE FOR ALL.
Me: I also don’t think its cool that the healers get to have all of the fun. Know what? No energy costs in the green beam.
Me: Hell, fuck those DPS guys who just stand in the blue beam. They should want to get out of that beam.
Me: Names? I can DO names…. oh yeah! Get Thesaurus’d, baby!
Me: Crazy? A break? Fine. Uhm… crap… all of that work just took a very long time. I have less than a week to finish this instance up. Ugh, I’ll slap on a mode where he does knockback on random people for a while.
Me: Shit. This is really hard to tune. I’m going to make separate versions of the beam effects for Netherspite and players.
Me: Predictable? PAH. I’ll show them unpredictable. What if you can’t predict where the portals will be. SITUATIONAL AWARENESS. Oh yeahhhh!

Life Lesson:

You really, really need to stop when you get on a roll.

Netherspite Version 3:

“Temp” Dragon Model
Abilities:
  • Empowerment – Gains 100% additional damage 15 seconds after being aggroed.
  • Void Zones – Opens a massive void portal that lasts 25 seconds.
  • Shadow Damage – unavoidable shadow damage to everyone in the room.
  • Every 90 sec, Netherspite banishes the portals and randomly cast Netherbreath on all targets.
  • Netherbreath: Knocks back an enemy, dealing damage.
  • Portal Resummoning: Portals randomize their positions after each Netherbreath cycle.
Dominance – Gain 1 stack per second.
Netherspite: +1% magic damage per stack.
Player: +5% damage dealt per stack.
Player: -1% healing received per stack.
Player: damage taken by spells increased by 8% per stack.
Perseverence – Gain 1 stack per second.
Netherspite: -1% damage taken per stack.
Player: Netherspite will attack you.
Player: -1% damage taken per stack.
Player: +5 defense per stack.
Player: +32,000 health.
Player: -1,000 health per stack.
Serenity – Gain 1 stack per second.
Netherspite: +4000 health per second per stack.
Player: Healing done increased by 5% per stack.
Player: Spell and ability cost reduced by 1% per stack.
Player: Maximum mana reduced by 200 per stack.














Me: Huff… huff… WHEW. Good deal. I got all of that shit in.  Boom! Play this game my way. Bwahaahaha.
Scott: What the hell… Brazie, those tooltips are a paragraph long each.
Me: So…?
Joe: Uh… does this even work?
Me: Well… QA managed to beat it… Once.
Geoff: …
Joe: …
Scott: …

Ship it.

At a certain point, you run out of time.  When we playtested Netherspite, he worked and with some iteration, we found he was consistently beatable, took a unique strategy to beat and was highly memorable.
Players adapted. They shared their strategies, in the form of webpages, wiki entries and images.
The encounter seemed fine to many… but I could never shake the feeling that something was wrong.
Even minor errors were punished. Few situations were recoverable. As Steve Burke would later say: “It was a dance. You had to take exactly the proper steps or you failed.”
Looking back many years later, with more design experience under my belt, I understood. It was such a highly “plotted” experience… you were completely forced to play it exactly the way I built it.
That was what was wrong. It wasn’t really a game. It was a physical execution and coordination check. There were few windows for unique success, personal glory or even sacrifice for the team. You just did your job, collected your loot and wandered on.
It showed in the long-term play results. Players skipped Netherspite, regularly heading to the Chess event. Later, when better geared, some groups would beat it for their resto shaman. But few felt the effort was worth the price.

Retrospective

Looking back, I see a million places to simplify and improve this encounter.  Telegraph abilities that require moments of protection from the beams.  Simplify the beam mechanics. Simplify the spell layering.
But most of all… create situations that allow the players to use their own tools, not just yours.

What did you think of Netherspite? Share in the comments! I’ll post the best ones here.

Brett Hundley – Machinama: “looking forward to some good stories in the comments, whatever guild I was with in BC was certainly not attempting him and his scary magic, haha”

Filed Under: Post Mortem

  • 1
  • 2
  • 3
  • 4
  • Next Page »

Archives

  • August 2022
  • July 2019
  • October 2018
  • May 2018
  • February 2018
  • June 2017
  • February 2017
  • November 2016
  • September 2016
  • August 2016
  • May 2016
  • March 2016
  • December 2015
  • September 2015
  • August 2015
  • February 2015
  • January 2015
  • November 2014
  • October 2014
  • September 2014
  • July 2014
  • June 2014
  • January 2014
  • October 2013
  • September 2013
  • March 2013
  • February 2013
  • January 2013
  • December 2012
  • October 2012
  • September 2012
  • August 2012
  • July 2012
  • June 2012
  • January 2012
  • September 1816