Engines and middleware: how do you choose the right tool for the job?
When it comes to engines and middleware, there are some high-impact decisions to make. On the face of it there is a choice of building your own or using a commercial version available in the market – in theory, at least.
However, unless you already have the weighty programming resources or you are in the business of licensing your own, the reality is that building your own tools is too expensive for most businesses. It’s a very broad question and the choices can be hard to navigate. So where do you start?
“The first thing anyone should do in deciding the correct tool is to research what’s out there,” says Gavin Powell Founder of indie studio Deceptive Games, Wales. “You can often find free open-source tools to use that would normally cost a small fortune to obtain.
"It is always good practice to keep a record of the pros and cons for each tool you research – this will aid you to make a focused decision on which tool is best for you. Don’t be afraid to reach out to developers and companies to find out more information. You should always be well informed before making a decision.”
What do you want?
Before you begin shopping around, it’s a good idea to do some homework to generate a list of criteria you are going to use to assess your options. It’s unlikely that you will find a perfect solution so prioritise those features that will be most important to you and which you can work around or live without.
"For us, choosing the right tool for the job is usually determined by what platforms we're aiming at,” says Tom Beardsmore CEO of Coatsink. “With that in mind, we typically find Unity is without equal in its multi-platform capabilities."
Peter Leonard, outsource manager at Realtime UK, also considers scope: “Is there a specific element of your game which will be hungry for time and money to do yourself? CryEngine might be best-in-class for visual and graphical fidelity, whereas if you need to iterate quickly with strong and flexible design and development tools then Unity or UE4 could be the way to go – especially if you are prototyping new mechanics”.
Choosing your tech can be daunting, especially for a small indie but you don’t have to make these decisions alone. Consider who your tech will impact most and find out what they think.
Beardsmore says: “We usually let the artists, programmers and designers pick what they want. They know best."
Ian Masters, creative director at Quiz Tix agrees: “Make sure all your stakeholders are involved in the decision early on. Try and get an unbiased opinion, someone outside the studio. Recently, when evaluating critical add-on tech for our games I managed to get about 10 companies down to a shortlist of four. When I asked for references who would back up their claims, I never heard from one company ever again and another eliminated themselves."
Price & Value
Budget and scope will underpin a lot of decisions to figure out what you want to achieve and how you can afford it. Cost is a key factor and Masters has a word of caution: “Beware false economies: a solution that's half the price but requires more dev time is quickly going to become the expensive option.
“Maturity shouldn't be underrated either, the shiny new tech option might be exciting but can it do all the boring stuff you need? Is it tried or tested or will you be the guinea pig?”
Leonard also considers budget: “While licensing and availability of these tools are next to no cost at entry level to use, the cost of content creation varies a lot between engines if you want to create something competitive.
"Consider your team; where do you have gaps? Physics programmers, for example, have long been a highly elusive commodity for most studios. So if you need realistic physics in your game but lack the programming talent then you need to consider the value of a third party SDK."
Or get in touch with a good recruitment agency, of course.
Learn as you go
Andrew Bennison of Prospect Games shared some insight in to his experiences in selecting the right tools and middleware: “I don't think there is ever a ‘right’ tool for the job when making games. The developer must choose an engine that's appropriate to their product and then utilise its most stable features to the best of their ability.
"Everyone has issues with the engine or middleware they're using and sometimes you have to make the best of a bad situation. Rather than blame the tool for not being perfect, instead use your energy to figure out its quirks so that you're better informed for the next project”.
Finally, Italic Pig writer and director Kevin Beimers offers a wry take on future-proofing your tech: “Back when I first started working on Schrodinger's Cat, I started asking around coders about the ease of porting a finished game onto other platforms. I also asked if a coder died halfway through production, how many more programmers are out there work the same language?"
Beimers suggests avoiding any niche, little-known languages, regardless of how enthusiastic your dev team are to adopt them – otherwise “if your obscure hipster-language coder dies halfway through your project, you're pretty much screwed.
“Always ask coders for their top three choices because chances are once you forge through the individual favourites you'll start getting some similar, simpler answers, which is always a good start."