Other complications can arise when a middleware provider is acquired by a larger company, with Fuller pointing to EA’s 2004 acquisition of RenderWare as an example.
“A lot of people had ditched their proprietary renderers, licensed RenderWare... and then EA bought it,” he explains. “Many companies had to give out a company-wide edict: ‘We can’t release a game that is built on an engine owned by EA. Let’s pause all development and write a new renderer.’ That’s the nightmare scenario, but it hasn’t happened as often since. But the rate of acquisition for middleware components is as high as it’s ever been right now.”
Game engine providers are particularly notable for acquiring middleware tools and using them to enhance their engines. Interestingly, two of the three companies we spoke to consider engines to be middleware, although there are those that debate they come under their own category. After all, you can build an entire game with an engine, but not with a single piece of middleware.
Chapman adds that it’s important to strike a balance between the use of middleware and your own technology “Middleware's one-size-fits-all solutions necessarily introduce comprises and trade offs. Bespoke custom solutions still remain the only way to squeeze the last drops of performance out of the hardware platforms that cutting edge video games require.”
Levick agrees, adding: “Overuse of middleware can also have the potentially damaging effect of increasing the parity between you and your competition, thus taking away what makes your output valuable. It’s important to continue to maintain control of the areas where you’re adding your personalised stamp of quality.”
With such a wealth of options out there, finding the right middleware for your project can be “an art in itself,” according to Hutch’s Levick. It’s not just about whether the tool meets your requirements on paper; you also need to take into account performance, the availability of support and documentation, how it will affect your workflow, what training is required, any potential security risks, and more.
“Generally you’ll need to perform an in-depth evaluation, preferably on your own terms as opposed to through demos and sales calls with the provider,” Levick explains. “Testing and integrating it with your code and systems, evaluating performance, support responsiveness and so on are all highly important parts of the process.
“Recommendations from contacts you trust can be very useful to find the right direction, but it's important not to forget that the market leaders are often leaders for a good reason. So don’t economise for the sake of it when looking at commercial products, but definitely do consider strong open source products as well before locking yourself in.”