 |
|
 |

| |
High Impact's Matheson: Build, Don't Buy Game Engines
by Staff
|
|
| |
|
May 16, 2008
|
| |
Talking as part of an in-depth Gamasutra interview, High Impact Games' design director Lesley Matheson (Ratchet & Clank: Size Matters) has been suggesting that developers should build their own game engines, advocating for "the advantages of doing something custom", and suggesting there's no such thing as an "off-the-shelf solution."
Matheson formerly worked at Insomniac Games, and was one of the employees who span off High Impact Games to work on titles such as Ratchet & Clank: Size Matters for PSP/PlayStation 2 - and the upcoming Secret Agent Clank for PSP.
When asked about the 'build vs. buy' argument for engines, Matheson noted:
"We use all our own tools and technology, short of Maya, and maybe Perforce... If you build your own engine, ultimately, you're not only getting the advantages of doing something custom for your game, but you're spending roughly the same amount of time.
I think that people who have weaker engineers tend to go towards third party because they think it will save them time -- and maybe it will, but if you have solid, veteran people, you're always better off building your own engine and tools."
In addition, when asked about third-party game engines that are being pitched as an all-purpose tool to game developers, Matheson commented:
"Well that's the thing; I don't really believe there is, in terms of engines, anything truly that is an off-the-shelf solution.
Unless you're making a game that is so uniform, and in line with the original purpose of the engine, you're going to have to adjust it, and repurpose it. That's just the reality.
I think that working on your engine is really the best approach. And also, when you're approaching your studio, that's the part of the team that you want to be the most senior: your tools guys, and your engine guys."
You can now read the full Gamasutra interview with Matheson, including lots more detail on working on the Ratchet & Clank franchise, the Los Angeles development scene, and much more.
|
| |
|
|
That being said, I very much agree with Lesley Matheson in that unless you're developing a very uniform game, you're likely hard-pressed to not have to make some tweaks to properly implement some of the features of your game.
As a learning game programmer, myself, I currently have (and I can't see it ever changing) a preference for building my own engine(s) rather then opting for something open source. In fact, when making a few pedagogical 2D games, I developed a simple, yet easy-to-use and effective engine that was designed to meet the needs of my endeavors for the foreseeable future and is easily upgradeable. The design was so effective that I made 3 complete games including a multi-level, boss battle-featured Space Invaders game on it within the span of a little over a month.
And I just wanna say this last thing. I think probably one of the biggest resulting benefits from building your own engine, especially for the programmers, is that when it comes to executing your products on them, you have a much more intimate understanding of what is going on under the hood than if you were to borrow somewhere else's middleware and learn how to use it.
But in general if you're building a complex game that uses many standard game components, such as physics, sound, 3D graphics, a user interface, keyboard or gamepad input, networking, asset exporters, and perhaps some standard AI like pathing, you'd put yourself back years of dev time trying to replicate engine technology which is already readily available, tested, and stable.
In my opinion, it is far better to decide what it is about your game that is going to be different, focus your technology effort there, and fill in everything else with middleware. Contrary to what this article suggests, I find that inexperienced engineers tend to want to write everything from scratch themselves, and experienced vets recognize the advantages of reusing existing technology.
But if/when settling with an engine, it goes that you have to work WITH the engine - not against it.