fbpx

Nightbane: Overcoming Unforeseen Technical Challenges

Alexander Brazie

Alexander Brazie

Alexander is a game designer with 25+ years of experience in both AAA and indie studios, having worked on titles like World of Warcraft, League of Legends, and Ori and The Will of The Wisps. His insights and lessons from roles at Riot and Blizzard are shared through his post-mortems and game design course. You can follow him on Twitter @Xelnath or LinkedIn.

Game: World of Warcraft: The Burning Crusade
Game Element: Nightbane, the final boss in Return to Karazhan
Discipline: Content Design

Let’s continue with my unforeseen struggle with Nightbane.

We’re going to explore some of the technical challenges of making a monster fly.

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!

nightbane beg

After this experience, 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?

Lessons:

I created a fight that managed to work despite no one saying it should be possible without wasting precious dev resources.

Unfortunately, this created a niche in everyone’s mind that I was the ‘flying boss guy’.

Keep an eye on the patterns people develop around you. 

While I was excited and eager to take on tough problems, people will gladly stick you into a niche that might reduce the diversity of projects you can work on.

Join the Funsmith Tavern to get exclusive game dev tips that I don’t share anywhere else

Each Friday, get a shot of 2-min TL:DR update in your inbox on the latest
Actionable tips, templates, or in-depth guides by game dev experts
— Entry-level Game design job listings(+ playtesting and internships)
— Private community workshops, events, and discussions

Leave a Reply

Your email address will not be published. Required fields are marked *

The Funsmith Tavern

Weekly Game Design Newsletter

Level-up your game design knowledge, skills, career, and network

Each Friday, get a shot of 2-min TL:DR update in your inbox on the latest

All tactics. No fluff. Pro advice only. Unsubscribe any time

Get Exclusive Game Design Tips that I Share Only with Funsmith Tavern Subscribers

Weekly Game Design Newsletter

Level-up your game design knowledge, skills, career, and network

Each Friday, get a shot of 2-min TL:DR update in your inbox on the latest

All tactics. No fluff . Pro advice only. Unsubscribe any time

EXPERIENCE & BACKGROUND:

[STUDIO] Blizzard Entertainment: Content, mechanics, and systems designer

(Creator of Apex Legends & former Creative Director at Respawn)

[GAME] World of Warcraft: MMORPG with 8.5 million average monthly players, won Gamer’s Choice Award – Fan Favorite MMORPG, VGX Award for Best PC Game, Best RPG, and Most Addictive Video Game.

  • Classic:
    • Designed Cosmos UI
    • Designed part of Raid Team for Naxxramas
  • Burning Crusade:
    • Designed the raid bosses Karazhan, Black Temple, Zul’Aman
    • Designed the Outlands content
    • Designed The Underbog including bosses:
      • Hungarfen, Ghaz’an, Swamplord Musel’ik, and The Black Stalker
    • Designed the Hellfire Ramparts final bosses Nazan & Vazruden
    • Designed the Return to Karazhan bosses: Attumen the Huntsman, Big Bad Wolf, Shades of Aran, Netherspite, Nightbane
  • Wrath of the Lich King:
    • Designed quest content, events and PvP areas of Wintergrasp
    • Designed Vehicle system
    • Designed the Death Knight talent trees
    • Designed the Lord Marrowgar raid
  • Cataclysm:
    • Designed quest content
    • Designed Deathwing Overworld encounters
    • Designed Morchok and Rhyolith raid fights
  • Mists of Pandaria: 
    • Overhauled the entire Warlock class – Best player rated version through all expansion packs
    • Designed pet battle combat engine and scripted client scene

[GAME] StarCraft 2: Playtested and provided design feedback during prototyping and development

[GAME] Diablo 3: Playtested and provided design feedback during prototyping and development

[GAME] Overwatch: Playtested and provided design feedback during prototyping and development

[GAME] Hearthstone: Playtested and provided design feedback during prototyping and development

[STUDIO] Riot Games: Systems designer, in-studio game design instructor

(Former Global Communications Lead for League of Legends)
(Former Technical Game Designer at Riot Games)

[GAME] League of Legends: Team-based strategy MOBA with 152 million average active monthly players, won The Game Award for Best Esports Game and BAFTA Best Persistent Game Award.

  • Redesigned Xerath Champion by interfacing with community
  • Reworked the support income system for season 4
  • Redesigned the Ward system
  • Assisted in development of new trinket system
  • Heavily expanded internal tools and features for design team
  • Improved UI indicators to improve clarity of allied behaviour

[OTHER GAMES] Under NDA: Developed multiple unreleased projects in R&D

Game Design Instructor: Coached and mentored associate designers on gameplay and mechanics

[STUDIO] Moon Studios: Senior game designer

(Former Lead Game Designer at Moon Studios)

[GAME] Ori & The Will of The Wisps: 2m total players (423k people finished it) with average 92.8/100 ratings by 23 top game rating sites (including Steam and Nintendo Switch).

  • Designed the weapon and Shard systems
  • Worked on combat balance
  • Designed most of the User Interface

[GAME] Unreleased RPG project

  • Designed core combat
  • High-level design content planning
  • Game systems design
  • Game design documentation
  • Gameplay systems engineering
  • Tools design
  • Photon Quantum implementation of gameplay

[VC FUNDED STARTUP] SnackPass: Social food ordering platform with 500k active users $400m+ valuation

[PROJECT] Tochi: Creative director (hybrid of game design, production and leading the product team)

  • Lead artists, engineers, and animators on the release the gamification system to incentivize long-term customers with social bonds and a shared experience through the app

[CONSULTING] Atomech: Founder / Game Design Consultant

[STUDIOS] Studio Pixanoh + 13 other indie game studios (under NDA):

  • Helped build, train and establish the design teams
  • Established unique combat niche and overall design philosophy
  • Tracked quality, consistency and feedback methods
  • Established company meeting structure and culture

Game Design Keynotes:

(Former Global Head of HR for Wargaming and Riot Games)
  • Tencent Studio
  • Wargaming
  • USC (University of Southern California)
  • RIT (Rochester Institute of Technology)
  • US AFCEA (Armed Forces Communications and Electronics Association)
  • UFIEA (University of Florida Interactive Entertainment Academy)
  • West Gaming Foundation
  • Kyoto Computer Gakuin – Kyoto, Japan