I’ve seen some amazing tech demos. I’ve seen some amazing in-game footage.
I’ve seen a lot of those promising titles fail to ship. I sure there are a lot of reasons, but chief among those reasons is often poor tools. The technologist behind the engine and the technical artist who slogs through the much to get content in can make some amazing content, but when it is time to scale up and actually construct a playable title, the wheels fall off. Brilliant technical artist are hard to find, assembling a team of them that actually agree on how to create a game is an impossibility.
You need the tools to allow the artisans to create the content to fill out a video game world. An artisan without tools is doomed to failure as they cannot produce content at a reasonable rate.
I did some quick calculations and wound up with a rough stat that at typical FPS movement rates, a user could run through over $100,000 worth of level art in under ten minutes. Without the tools to make content quickly, this metric would be much worse and make the game completely uneconomical to produce.
A second area of concern is iteration. From when you start making the title to when you complete the title will be a huge learning experience. By the end of a title’s development, the artists and designers know what the engine likes, what looks best and how to build it quickly. With poor tools, your ability to go back and iterate is radically reduced. So make some good tools!.
Since that was short, I’ll hit the shipped engine rule as well. Anyone who has ever shipped a game (especially on the PC) knows how much pain is involved in shipping a game. That pain just hits a new level once the game is released and thousands of untested hardware configurations hit your code for the first time. Shipping a game means finishing the tools, building all the extra bits such as configuration screens, user options, control customization, not to mention testing every system as thoroughly as budget will allow. Another big plus is optimization. A shipped engine likely had the development team analyzing the performance and tuning everything they could touch. think about how much effort that can save your development team.
On the other side, licensing an engine which has not yet shipped, you are dragged along with a moving target. I’ve witnessed this as an engine was licensed before shipping a title, took an extra year to be completed and even kicked off a lawsuit While the engine was still under development the team needed specific features to move the game development forward. The end result was systems which were written by the game developers which conflicted with those in the engine when completed. This added a great deal of complexity and difficulty integrating the latest code fixes from the engine team. By licensing a shipped engine, you can learn the techniques the engine was designed to support for content optimization and system development and keep your code modular and easy to update with new engine revisions.
So, if you are looking at the latest whiz-bang engine out there, take a step back, have a deep breath and look at the engines that have already shipped instead, you’ll save a ton of hassle and reduce a great deal of external risk to your project.