Posted on

Why Some Engineers Fight Against Middleware

Very recently, I had a friend suffer through a situation that I’ve heard is somewhat common – especially when working freelance – in game audio.  I’m not exactly sure how common this situation is throughout all game audio (especially with many AAA studios adopting middleware more often), but the story has a hell of a lot of lessons to it that are worth you paying attention to.

The Story I’ve Always Heard

It might come as a surprise to you if you’re relatively new to game audio – but not everyone loves the idea of middleware.  You may especially not like the idea if you’re a programmer or in finance.  I’ve often heard things like…

“Middlware is expensive!”

“I’m not exactly sure what I’m going to be charged!”

Clearly, most of what I’ve heard revolves around the extra cost of adding a completely separate audio engine to your game’s systems.

Because of this, I’ve heard numerous stories of sound designers recanting how hard it is to get a developer onboard to use middleware, when the sound designer really wants to use middleware.

If you’re a sound designer, the system has lots of advantages, right?  It was pretty much built as a tool specifically for you.  But to everyone else… it’s an extra added expense.  Even when you spell out the time savings, it’s still hard to explain the cost savings when you’re spending a good chunk of money upfront.

Additionally, most sound designers are notoriously bad negotiators (shoutout to all my friends doing independent work at too low of a rate, been there!)

While my friend isn’t a bad negotiator at all – he was still stuck in a very similar situation to what I’m describing here, albeit it wasn’t about finances.

Why Middleware can Suck

Wwise, FMOD, and like software are all built primarily with sound designers in mind.  While some of these tool sets are likely to cause you frustration at some point no matter what, they’re still focused on you as a target user if you’re a sound designer for games.

They’re not built to please software developers, business and finance managers, or anyone else who may have to interface with the audio team at some point.

So while it may be that, from your perspective, these tools are fantastic (or pretty close to it) – from someone else’s perspective, it may be clearly the opposite.

This is the issue my friend was running into.

While he convinced most of the team he was working with to adopt using Wwise (so the budget conversation wasn’t even an issue), one of the team’s programmers stubbornly refused to use it.  The reasons, paraphrased, were something like…

“I’ll just make my own, it won’t be that hard.”

“I can make everything you need that this software offers, it will be easy!”

None of this was very convincing to my friend.  Needless to say, the programmer likely couldn’t redevelop a custom middleware fast enough (the programmer did have other job responsibilities), and add hooks, and fix bugs, and make the UI friendly and understandable.

Not to mention the learning curve my friend would have, and the fact that they were already having troubles with time being wasted anyway.

Negotiating with Others

For almost 2 months, my friend and his programmer were deadlocked.  My friend was dying to use Wwise, he wasn’t getting the help he needed, and the development process was trudging along at a snail’s pace.

While my friend wouldn’t budge, neither would the programmer.

I ended up receiving numerous frustrated messages from this friend about the situation.  He wasn’t mad at the programmer or his team, my friend just felt stuck and helpless – where he would rather give up the gig and money than be forced into a difficult working situation.

Mind you – this friend is someone who is well versed in negotiation and communicating well with teams.  This wasn’t a situation with someone who is bad at working with others.

Regardless, it was still a struggle.  In that struggle is a big lesson.

To communicate well and negotiate with others, you have to be willing to temporarily share their perspective.

This is the fault with many debates and disagreements where people take sides, get frustrated, and argue to a stalemate.  My friend knows this, and has worked through similar situations a bunch – but was so frustrated that he couldn’t see a way out.

What he needed to do was understand why his programmer wanted to create his team’s own audio system.  What’s the benefit for the programmer?

We’re all notoriously selfish, even if you think you aren’t – you are.  My friend was selfishly thinking about what he wanted, the programmer was selfishly thinking about what he wanted.  The two sides were seemingly opposed – thus the stalemate.

What’s funny is, they weren’t opposed at all.

Solving the Problem

My friend reached out to me specifically because he knows I’ve dealt with stalemates like this before, and also I’m someone who shares the perspective of both sides of this argument, having done programming and audio work.

(Completely unrelated – this is why I tend to get hired often.  My skills are fine, but my unique selling point is that I can, and do, bridge the communication gap between pure audio and engineers.)

I knew I didn’t just have the solution to his problem offhand, but I know a number of highly skilled software engineers who could speak to why the programmer was putting up such a fight.  Humorously, the conversations happened entirely organically – I didn’t simply ask the question “why doesn’t this programmer see it the sound designer’s way?”

What solved the problem was asking this question –

“Why, as a software engineer, would you not want to use middleware if you had the option?”

The reasons were copious – too many to list here, and so many that I was a bit surprised.  Despite that, I can effectively summarize the points that were made and share them with you.

Essentially – if given time and budget (those are obviously the caveats) – most engineers would like to build their own system from scratch due to control and efficiency.  I also think that, engineers being engineers, just like to build things (it’s part of their nature, right?).

So where software like Wwise or FMOD are primarily targeted at a wide swath of game developers, making various different games – your own programmer can write something that doesn’t have to cover any extra use cases but your own.  Wwise and FMOD have to be able to support car racing games as well as MMORPGS and shooters – all equally well.

Due to that requirement, game middlewares are naturally “bloated” pieces of software when compared to something more customized or pre-streamlined.

The mental image I gave my friend was –

“Imagine strapping a tumor to your super fast, lean, awesome game code…”

It’s a bit harsh, but it gets my point across clearly.

It also changed my friend’s perspective enough to change the negotiation.  While I can’t give you extreme details as to what was said, proposed, and compromised on – I do know that armed with the information provided, my friend was able to empathize with his programmer and simultaneously get his own perspective across clearly.

Now, that team is using Wwise – and the programmer implemented it himself and customized the installation in a way that made it workable for the engine.

Empathy

The change all started from a place of empathy, understanding, and communication.  The stalemate situation was complaint and frustration.

So the wrong way to go about this is to be thinking

“Yeah!  I agree with you Adam!  They should understand where I’m coming from, I don’t understand why they won’t!  My perspective is the only logical way!”

Well, it’s not.  Not to everyone.

The empathy, understanding, and communication therefore have to come from you first.  You’ll win major points along the way for this and seem like a wizard in the process, I promise.

Simultaneously, you have to stand your ground and not back down.  Hold your opinion, and “put yourself in the other person’s shoes” at the same time.  Often, this ends up with you mentally straddling two opposing sides of an argument that aren’t compatible with each other.  If you can start solving those issues and finding ground both parties can agree to rather than bulldozing one side – that is an invaluable skill that people will keep coming back to you for.

But it starts with you, and it starts with you caring about other perspectives too.


Copyright 2016-2021, NIR LLC, all rights reserved.